AI代理协议

MCP(模型上下文协议)是一个用于构建能够访问外部工具和数据源的AI代理的协议,适用于天文学数据查询和AI代理开发。

  • by dr-rodriguez
  • Python
  • 混合部署
  • 3 星标
  • 更新于
在 GitHub 查看 dr-rodriguez/mast-mcp-prototype

使用说明

MAST MCP原型

什么是MCP?

MCP(模型上下文协议)是一种用于构建可以访问外部工具和数据源的AI代理的协议。 我们正在使用 FastMCP 构建对MAST Archive的几个简单调用。.

设置

安装要求(例如, uv sync)对于应用程序。
你需要 uv 已安装,供客户端访问。您可以使用 brew install uv.

你可以用 fastmcp run src/server.py 但为了最好地使用它,您需要将其安装到客户端。
为此,请使用 fastmcp install 命令。例如:

fastmcp install cursor src/server.py -n MAST-MCP

根据您的设置,您可能需要添加 --project 在特定项目目录中运行,确保 uv 找到正确的环境。

对于VSCode,您可能需要生成mcp-json格式,它可能看起来像:

{
  "MAST-MCP": {
    "command": "uv",
    "args": [
      "run",
      "--project",
      "C:\\Users\\strak\\Projects\\mast-mcp-prototype",
      "--with",
      "fastmcp",
      "fastmcp",
      "run",
      "C:\\Users\\strak\\Projects\\mast-mcp-prototype\\src\\server.py"
    ]
  }
}

可流式传输的HTTP版本

如果你想在可流式传输的HTTP版本中使用MCP,你可以使用 server_http.py 文件。 这将允许您在web服务器上托管MCP,并通过HTTP访问它。

uvicorn src.server_http:api --reload

示例

按名称获取给定系外行星的属性:

What is the orbital separation for exoplanet HR-8799b?

在获取属性后生成提示以对其进行汇总(具体调用因客户端而异):

/MAST-MCP/Summarize exoplanet properties 

获取给定目标的观察结果:

What observations exist in MAST for V4046 Sgr? Use a radius of 0 degrees.

获取给定观察的产品列表:

What products exist in MAST for TW Hya? Use a radius of 0 degrees and only consider HST observations using the COS instrument.