mcpField
M
MANNA

MANNA

ローカル
github.com/NSF-Simons-CosmicAI-Institute科学・教育46 日前に更新

MANNA について

MANNAは、IVOAインターフェース経由で天文アーカイブを検索するLLMクライアント向けのMCPサーバーです。天文学研究者向けに、アーカイブ固有の注記や複数段階のワークフロー、大規模TAP結果の非同期処理を提供します。

主な機能

  1. 01TAP/ADQLクエリの実行
  2. 02画像とカタログソースの検索
  3. 03天体名の解決とレジストリ検索
  4. 04複数段階のアーカイブ検索ワークフロー
  5. 05アーカイブ固有の注記と検証
  6. 06大規模TAP結果の非同期処理

活用シーン

  1. 01位置を指定した画像やカタログソースの検索
  2. 02IVOAアーカイブの天文データ照会
  3. 03アーカイブ固有の項目情報を使ったADQL作成
  4. 04結果URLから大規模クエリ結果を取得

MCP 対応

MANNAはMCP経由でLLMクライアントにIVOAアーカイブのインターフェースを公開します。TAP/ADQL、SIA、コーン検索、レジストリ検索、名称解決に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"nsf-simons-cosmicai-institute-manna": {
"command": "uvx",
"args": [
"manna-mcp"
],
"env": {
"MANNA_ARCHIVES": "<MANNA_ARCHIVES>",
"MANNA_ALLOWED_HOSTS": "<MANNA_ALLOWED_HOSTS>",
"MANNA_LOG_LEVEL": "<MANNA_LOG_LEVEL>",
"MANNA_INLINE_ROW_LIMIT": "<MANNA_INLINE_ROW_LIMIT>"
}
}
}
}
起動コマンドuvx manna-mcp
設定が必要な環境変数
MANNA_ARCHIVESComma-separated archive short_names to activate (e.g. 'datalab,alma'). Unset means all.
MANNA_ALLOWED_HOSTSComma-separated hostnames the server may fetch. Unset means any public host.
MANNA_LOG_LEVELLogging verbosity.
MANNA_INLINE_ROW_LIMITMax rows returned inline before a result is promoted to an async job or truncated.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimanna-mcp0.11.0

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
wavebandanyいいえ省略可能。この波長帯のアーカイブのみを返します(大文字と小文字を区別しません)。例:'radio'、'optical'、'millimeter'。short_name と組み合わせることができ、両方が一致する必要があります。
short_nameanyいいえ省略可能。この short_name に一致するアーカイブのみを返します(大文字と小文字を区別しません)。例:'alma'。対象のアーカイブが分かっている場合に使用してください。全件ではなく単一のエントリを返すため、コンテキストを節約できます。不明な名前の場合は空のリスト(count: 0)を返します。

詳細

MANNA

PyPI Documentation CI License: MIT

MANNA(MCP Architecture for NOIRLab, NRAO, and additional Archives)は、Claude Code、Claude Desktop、Jupyter AI などの LLM クライアントが、標準的な IVOA インターフェース(TAP/ADQL、SIA 画像検索、コーン検索、IVOA レジストリ、Sesame 名称解決)を通じて天文アーカイブにアクセスできるMCP サーバーです。NOIRLab Astro Data Lab、ALMA、CADC、ESO、Gaia、SDSS の厳選されたノートを収録しており、IVOA レジストリに掲載されている任意のアーカイブにアクセスできます。

ツールは次の 4 つのグループに分かれています。

  • 接続は IVOA インターフェースを直接呼び出します。天体名の解決、ADQL クエリの実行、位置による画像やカタログソースの検索、レジストリの検索を行います。
  • ワークフローツールは複数ステップのタスクを 1 回の呼び出しで実行します。天体を解決し、アーカイブを選び、検索または件数の取得を行います。
  • 結果の処理では、小さな結果をインラインで返します。大きな TAP 結果は非同期ジョブになり、クライアントには結果 URL と取得用の pyvo スニペットが返されます。サーバーはリクエスト間で情報を保持しません。
  • アーカイブノートには、各アーカイブ固有の注意点(欠落している列、列挙値、空間インデックスのヒント)が記録されており、モデルは ADQL を作成する前にそれらを確認できます。各ノートには、内容を再検証するチェックが付いています。

すべてのツールのリファレンスを含む完全なドキュメントは、 https://manna.readthedocs.io にあります。

インストール

Python 3.12 以降が必要です。PyPI ディストリビューション名は manna-mcp、インポートパッケージ名とコマンド名はどちらも manna です。

uvx manna-mcp --stdio        # run without installing: MCP over stdio
pip install manna-mcp        # or install it; `manna` then serves HTTP on :8000

初回起動時には astropy と pyvo がダウンロードされるため、時間がかかります。起動タイムアウトの短いクライアントに追加する前に、ターミナルで uvx manna-mcp --stdio を一度実行してください。

Docker イメージと MCP Registry エントリーについては、 インストールをご覧ください。

クライアントの接続

Claude Code:

claude mcp add manna -- uvx manna-mcp --stdio

Claude Desktop、または JSON 設定を使用する任意のクライアント:

{"mcpServers": {"manna": {"command": "uvx", "args": ["manna-mcp", "--stdio"]}}}

共有 HTTP サーバーまたは Jupyter AI の場合は、manna を実行し、クライアントの接続先を http://localhost:8000/mcp/ に設定してください。

ガイド: Claude Code、 Claude Desktop、 Jupyter AI、 最初のクエリ。

設定

すべての設定は省略可能で、MANNA_* 環境変数または .env ファイルから読み込まれます。特によく変更される設定は次の 2 つです。

  • MANNA_ARCHIVES=datalab,alma を指定すると、厳選されたノートを使用するアーカイブを限定できます。未設定の場合は、ここで指定するまで無効な nrao を除くすべてのアーカイブが対象になります。
  • MANNA_INLINE_ROW_LIMIT=2000 と MANNA_INLINE_BYTE_LIMIT=262144 を指定すると、インライン結果の上限を、小規模モデル向けの低い既定値から、Claude のような大きなコンテキストウィンドウに適した値へ引き上げられます。

すべての設定は設定ガイドに記載されています。 アーカイブの追加や削除については、アーカイブガイドをご覧ください。

開発

git clone https://github.com/NSF-Simons-CosmicAI-Institute/manna
cd manna
uv sync
uv run pytest --record-mode=none   # offline replay of recorded archive traffic
uv run python -m manna             # server on http://localhost:8000

機能ブランチは dev から作成し、プルリクエストで dev にマージします。テスト、リント、記録済みカセット、ドキュメントのビルド、リリースについては、 貢献をご覧ください。

License

MIT. Developed by the NSF-Simons CosmicAI Institute.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。