Lune について
Luneは、文献調査や研究方法の確認に使えるAIエージェント向けMCPサーバーです。論文全文検索、引用追跡、厳選された方法論ガイダンスを組み合わせ、主張の検証や根拠の収集にも対応します。
主な機能
- 01論文全文の検索
- 02引用と関連研究の追跡
- 03研究方法ガイダンスの取得
- 04主張の検証と根拠の収集
- 05複数論文からの構造化情報抽出
活用シーン
- 01研究テーマの先行研究調査
- 02草稿の主張を論文で検証
- 03論文の比較と引用の追跡
MCP 対応
論文検索、全文取得、引用、根拠、方法論に関するツールとプロンプトをMCPクライアントに提供します。ホスト型Streamable HTTPとローカルstdioパッケージに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.luneresearch.comclaude mcp add --transport http lune https://mcp.luneresearch.com{"mcpServers":{"lune":{"type":"http","url":"https://mcp.luneresearch.com"}}}Cursor で開く{"servers":{"lune":{"type":"http","url":"https://mcp.luneresearch.com"}}}VS Code で開く{"mcpServers":{"lune":{"type":"http","url":"https://mcp.luneresearch.com"}}}{"mcpServers":{"lune":{"serverUrl":"https://mcp.luneresearch.com"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.luneresearch.com認証が必要ツール
詳細
@retrograde-labs/lune-mcp-server
Lune Research の公式 MCP サーバーです。AI エージェントが一流の学会やジャーナルに掲載された論文の全文を検索し、引用をたどり、厳選された研究方法論のガイダンスを参照できます。そのため、記憶に頼るのではなく、論文のタイトル、著者、掲載先を出典として回答に示せます。
インストール
ホスト型(推奨)。 Streamable HTTP に対応した任意のクライアントに、この URL を追加します。
https://mcp.luneresearch.com
MCP 認証に対応したクライアントなら、ブラウザー経由でサインインできるため、貼り付けたりローテーションしたりするトークンは不要です。Claude Code では、次のようにします。
claude mcp add --transport http --scope user lune https://mcp.luneresearch.com
次に Claude Code 内で /mcp を実行し、lune を選択して、開いたブラウザータブからサインインします。
OAuth に対応していないクライアントでは、代わりに Authorization ヘッダーで Lune アクセスキーを送信します。認証情報ページでキーを作成します。API keys を開き、New key をクリックしてください。このリクエストではツールの一覧を取得するため、キーをすばやく確認する方法として便利です。キーは LUNE_API_KEY から読み込まれます。パスワードマネージャー、または自分だけが読み取れるファイルから設定してください。
printf 'Authorization: Bearer %s\n' "$LUNE_API_KEY" |
curl https://mcp.luneresearch.com \
-H @- \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
キーは入力から curl に渡されるため、シェルの履歴やプロセス一覧には残りません。
アプリごとのセットアップ方法はドキュメントにあります。ChatGPT、Claude、Perplexity などのウェブ AI アプリと、Cursor、VS Code、Codex などのローカル AI エージェントをご覧ください。
ローカル stdio。 stdio のみをサポートするクライアントでは、パッケージを直接実行し、アクセスキーを渡します。Node.js 22 以降が必要です。
{
"mcpServers": {
"lune": {
"command": "npx",
"args": ["-y", "@retrograde-labs/lune-mcp-server"],
"env": { "LUNE_API_KEY": "lune_your_access_key" }
}
}
}
サーバーは環境変数 LUNE_API_KEY を読み込み、診断情報を stderr に出力します。stdout には出力しないため、JSON-RPC のフレーミングは維持されます。
ツール
ツールは 12 個あります。ほとんどのツール名には共通の接頭辞があります。search_* は候補を検索し、get_* はすでに識別子を持っている対象を取得し、list_* は一覧を参照します。ホスト型エンドポイントには get_more_tools もあり、必要な機能が見つからなかった場合に、エージェントがその機能について Lune に伝えるために呼び出します。このツールは stdio パッケージには含まれていません。
論文の検索
| ツール | 機能 |
|---|---|
search_papers | コーパスを対象とした、ベクトル検索と BM25 検索を組み合わせた検索 |
search_papers_many | 1 回の呼び出しで複数の検索クエリを実行し、逆順位融合で統合します |
search_related_papers | すでに把握している論文に最も近い論文を検索します |
list_conferences | インデックス登録済みの掲載先を一覧表示します。カテゴリでの絞り込みも可能です |
get_conference_papers | 1 つの掲載先の論文をページ分けして取得します |
論文を読む
| ツール | 機能 |
|---|---|
get_paper_fulltext | Markdown または JSON 形式で解析された全文を取得します |
get_paper_citations | どちらの方向にもたどれる引用グラフを取得します |
複数の論文を横断して作業する
| ツール | 機能 |
|---|---|
extract_from_papers | 複数の論文から同じ構造化フィールドを抽出します |
verify_claims | 各主張をコーパスと照合し、該当する場合は逐語的な引用を示します |
gather_evidence | 証拠が十分かどうかを判断し、不足しているものを挙げます |
研究方法論
| ツール | 機能 |
|---|---|
search_research_guidance | 厳選された研究方法論と再現性に関するコーパスを検索します |
get_research_guidance_doc | ガイダンス文書 1 件の全文を取得します |
プロンプト
多くの MCP クライアントでスラッシュコマンドとして一覧表示される、6 つのプロンプトです。それぞれが一般的な調査タスクの概要をエージェントに示し、呼び出すツールを指定するため、詳しい計画を指示しなくても、1 つのコマンドでタスクを実行できます。
| プロンプト | 機能 | 引数 |
|---|---|---|
/literature_review | トピックを調査します。主なテーマ、基礎となる研究と最近の研究、未解決の課題をまとめます | topic(+ venues、since_year) |
/find_related_work | アブストラクトを読み、引用すべき先行研究と、自身の研究との差別化に役立つ研究を探します | abstract(+ venues) |
/compare_papers | 論文の全文を読み、論文間の比較表を作成します | topic(+ columns) |
/verify_draft | 草稿内の各主張を検証し、該当する場合は一字一句そのままの引用を示します | draft |
/trace_citations | 論文の系譜をたどります。何を土台としているか、何がその論文を土台としているかを調べます | paper |
/research_methodology | 実験設計、アブレーション、評価、反論、投稿先について、根拠に基づく助言を提供します | question |
認証
ホスト型エンドポイントでは、すべてのリクエストで Authorization: Bearer <credential> として認証情報を指定します。stdio パッケージでは、代わりに LUNE_API_KEY からアクセスキーを読み込みます。認証情報には次のいずれかを使用します。
- MCP クライアントがブラウザーでサインインすることで取得する OAuth アクセストークン。ホスト型エンドポイントでのみ使用できます。
- Lune アクセスキー(
lune_...)。認証情報ページの API keys で作成できます。どちらのトランスポートでも使用できます。
OAuth 接続では、サインインしたユーザーの個人チームに常に課金され、そのチームのプラン、1 日あたりの利用枠、クレジットが使われます。アクセスキーでは、そのキーを作成したチームに課金されるため、共有チームのプランでエージェントを利用するにはアクセスキーを使用します。リクエストのカウント方法については、利用枠と課金をご覧ください。
コネクタ開発者向け OAuth
ほとんどの MCP クライアントは、このフローを自動で実行します。コネクタを開発する場合の詳細は以下のとおりです。auth.mdでは、各リクエストの手順を curl を使って説明しています。
認証情報なしで POST https://mcp.luneresearch.com を送信すると、次のチャレンジとともに 401 が返されます。
WWW-Authenticate: Bearer resource_metadata="https://mcp.luneresearch.com/.well-known/oauth-protected-resource", scope="papers:read guidance:read account:read"
チャレンジが示す保護リソース文書では、authorization_servers[0] に認可サーバーが記載されています。このサーバーは https://api.luneresearch.com で、MCP コネクタ向けの認可サーバーです。RFC 8414 メタデータは https://api.luneresearch.com/.well-known/oauth-authorization-server で公開されており、OpenID Connect のディスカバリー文書はありません。
| エンドポイント | URL |
|---|---|
| 発行者 | https://api.luneresearch.com |
| 認可 | https://api.luneresearch.com/oauth/authorize |
| トークン | https://api.luneresearch.com/oauth/token |
| クライアント登録(RFC 7591) | https://api.luneresearch.com/oauth/register |
| 失効(RFC 7009) | https://api.luneresearch.com/oauth/revoke |
| JWKS | https://api.luneresearch.com/.well-known/jwks.json |
| 認可サーバーメタデータ | https://api.luneresearch.com/.well-known/oauth-authorization-server |
| 保護対象リソースのメタデータ | https://mcp.luneresearch.com/.well-known/oauth-protected-resource |
フロー:
-
クライアントを登録します。
client_idを取得する唯一の方法は動的クライアント登録です。事前登録されたクライアント ID はありません。クライアントはパブリックなので、シークレットはなく、トークンエンドポイントの認証方式はnoneです。その場で登録できないプラットフォームでは、一度手動で登録してclient_idを保持できます。curl -X POST https://api.luneresearch.com/oauth/register \ -H "Content-Type: application/json" \ -d '{"client_name": "My connector", "redirect_uris": ["https://example.com/oauth/callback"]}' -
response_type=code、client_id、redirect_uri、scope、state、code_challenge、code_challenge_method=S256、およびresourceを指定して、利用者を認可エンドポイントに誘導します。S256による PKCE が必須であり、stateとscopeも必須です。 -
コールバックを処理します。利用者がサインインして承認すると、Lune は
code、state、およびiss=https://api.luneresearch.com(RFC 9207)を付けてredirect_uriにリダイレクトします。stateが送信したものと一致し、issが発行者と一致することを確認します。利用者が拒否した場合、リダイレクトには同じstateとissとともにerror=access_deniedが含まれます。 -
コードを交換します。
grant_type=authorization_code、code、redirect_uri、client_id、code_verifier、およびresourceをapplication/x-www-form-urlencoded形式でトークンエンドポイントに POST します。 -
Authorization: Bearer <access_token>を指定してサーバーを呼び出します。トークンの有効期限が切れると、サーバーはerror="invalid_token"を伴う401を返します。更新するには、grant_type=refresh_tokenとrefresh_tokenをトークンエンドポイントに POST します。
要件と制限:
- 保護対象リソースのドキュメントに記載されたスコープである
papers:read guidance:read account:readのみを要求します。これらを合わせると、すべてのツールを利用できます。 - 認可リクエストとトークンリクエストの両方で
resource=https://mcp.luneresearch.comを送信します。これを指定しないと、アクセストークンはサーバーではなくclient_idに紐付けられ、プロトコルバージョン 2026-07-28 のリクエストは401 invalid_tokenで失敗します。利用者にはサインインループとして表示されます。古いプロトコルバージョンではそのようなトークンも引き続き受け付けられますが、移行期間中に限られます。 - リダイレクト URI は
https、127.0.0.1、[::1]、またはlocalhostを使用するhttp、あるいはcursor://などのプライベート利用スキームを使用する必要があり、フラグメントを含めることはできません。認可リクエストでは、ポートも含めて登録済み URI と完全に一致する URI を指定する必要があります。 - 認可コードの有効期限は 10 分で、一度だけ使用できます。交換に失敗した場合も、そのコードは使用済みになります。アクセストークンは RS256 JWT で、有効期限は 1 時間です(
expires_in: 3600)。 - 更新のたびに新しいリフレッシュトークンが返されます。新しいトークンを保存し、古いトークンは破棄してください。各リフレッシュトークンの有効期限は 90 日なので、定期的に使用されている接続は期限切れになりません。置き換えられてから 30 秒を超えて経過したリフレッシュトークンを提示すると、そのチェーン内のすべてのリフレッシュトークンが失効し、利用者は再接続する必要があります。発行済みのアクセストークンは有効期限が切れるまで引き続き使用できます。
- 接続を解除するには、
token=<refresh_token>をフォーム形式で失効エンドポイントに POST します。
スコープ
papers:read は論文コーパス、全文、引用を対象とし、guidance:read
は研究ガイダンスのコーパスを対象とします。account:read はユーザーの ID と
利用状況を読み取ります。
ツールが必要とするスコープを持たない認証情報は、その種類によって異なる形で
失敗します。OAuth トークンの場合は HTTP 403 が返され、チャレンジには不足している
スコープのみが記載されるため、クライアントはユーザーに承認を求めることができます。
WWW-Authenticate: Bearer error="insufficient_scope", error_description="The papers:read scope is required for this request.", resource_metadata="https://mcp.luneresearch.com/.well-known/oauth-protected-resource", scope="papers:read"
アクセスキーの場合は、不足しているスコープを示し、それを含むキーを作成するよう エージェントに依頼することを伝えるツールエラーが返されます。
アクセスの取り消し
認証情報ページで、 API keysからアクセスキーを、OAuth clientsから接続済みアプリを取り消せます。OAuth 接続は個人チームの下に一覧表示されるため、 最初にそのチームを選択してください。取り消されたアクセスキーは 5 分以内に 使用できなくなります。アプリを取り消すと、そのリフレッシュトークンはただちに無効になりますが、 すでに保持されているアクセストークンは、有効期限が切れるまで(最長 1 時間)引き続き使用できます。
トランスポート
| トランスポート | 場所 | MCP プロトコルのバージョン |
|---|---|---|
| Streamable HTTP | https://mcp.luneresearch.com | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07 |
| stdio | npx -y @retrograde-labs/lune-mcp-server | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07 |
ホスト型エンドポイントについて:
- 旧バージョンのインストール向けに、
/mcpと/v1/mcpも応答します。検出は パスに従うため、/mcpを使用するクライアントはhttps://mcp.luneresearch.com/.well-known/oauth-protected-resource/mcpに誘導されます。 3 つの URL のいずれかに紐づけられたトークンは、すべての URL で使用できます。 - リクエストはステートレスです。それぞれが独自の認証情報を持ち、セッション ID はないため、 数時間アイドル状態だったクライアントも再初期化せずに動作し続けます。
- MCP トラフィックは
POSTのみです。GETとDELETEは405を返すため、 開く SSE ストリームはなく、サーバーから通知が送信されることもありません。 URL のみを開いたブラウザーは、代わりにドキュメントへリダイレクトされます。 Accept: application/json, text/event-streamを送信してください。古いプロトコル バージョンでは、どちらか一方のタイプを省略したリクエストは406になります。Originヘッダーを含むリクエストは、そのオリジンがサーバーの許可リストにない限り403になります。 ウェブページからではなく、サーバーまたはネイティブクライアントから接続してください。- 古いプロトコルバージョンのみで使用される JSON-RPC バッチには、最大 50 件の メッセージを含められます。リクエスト本文の上限は 1 MB です。
- Registry マニフェストは
https://mcp.luneresearch.com/.well-known/mcp/server.jsonで提供されます。
リンク
サポート
バグ報告や機能リクエストは イシュートラッカーにお寄せください。 アカウントに関するお問い合わせは、[email protected] までメールでご連絡ください。セキュリティ上の問題を 報告する場合は、SECURITY.mdに従ってください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。