NASA ADS MCP 服务器

用于查询 NASA ADS(天体物理学数据系统)API 的模型上下文协议(MCP)服务器,提供论文搜索、元数据检索及引文分析功能。

  • by ivan-katkov
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ivan-katkov/nasa-ads-mcp

使用说明

美国国家航空航天局ADS MCP服务器

用于查询NASA ADS(天体物理数据系统)API的模型上下文协议(MCP)服务器。

特性

  • 搜索:使用完整的Solr语法查询论文。自动返回摘要、arXiv ID和DOI。
  • 元数据:检索详细记录和BibTeX引用。
  • 引用与参考文献:分析特定论文的引文网络。

快速开始

使用此服务器最简单的方法是使用Docker。

1.先决条件

2.配置(光标/风帆)

将以下内容添加到您的 mcp_config.json.

替换 your-dockerhub-username 使用图像维护者的用户名。 替换 your-secret-token 使用您的实际NASA ADS API代币。

{
  "mcpServers": {
    "nasa-ads": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NASA_ADS_TOKEN=your-secret-token",
        "katkov/nasa-ads-mcp:latest"
      ]
    }
  }
}

可用工具

工具 说明
search 搜索论文。可选:设置 include_abstract=True 获取摘要。默认为 output_format="toon".
get_record 通过bibcode获取特定论文的详细元数据。默认为 output_format="toon".
get_bibtex 获取论文的BibTeX引用。
get_citations 查找引用特定论文的论文。默认为 output_format="toon".
get_references 查找特定论文引用的论文。默认为 output_format="toon".

使用示例

检查引文

要了解谁引用了特定的论文:

“找到霍金(1974)的论文《黑洞爆炸》,告诉我是谁引用的。”

代理人将使用 search 查找bibcode(1974Natur.248...30H)然后 get_citations.

检查参考文献

要查看论文的参考书目:

“获取1974Natur.248…30H论文的参考文献。”

使用JSON格式

要获取标准JSON输出:

“使用JSON格式搜索霍金的论文。”

代理人将致电 search 随着 output_format="json".


从克隆的Repo(Docker)运行

如果您已克隆此存储库并希望自己构建映像:

  1. 塑造形象: 在存储库根目录下运行此命令:

    docker build -t nasa-ads-mcp .
    
  2. 配置客户端: 使用 nasa-ads-mcp (没有任何用户名前缀)。

    {
      "mcpServers": {
        "nasa-ads": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "NASA_ADS_TOKEN=your-secret-token",
            "nasa-ads-mcp"
          ]
        }
      }
    }
    

从源代码运行(Python)

  1. 安装依赖项: pip install -r requirements.txt
  2. 运行: fastmcp run nasa_ads_mcp.py

运行测试

要在Docker容器中运行测试:

# Build the image
docker build -t nasa-ads-mcp .

# Run tests (replace with your actual token)
docker run --rm -e NASA_ADS_TOKEN=your-secret-token nasa-ads-mcp python /app/tests/test_mcp.py
docker run --rm -e NASA_ADS_TOKEN=your-secret-token nasa-ads-mcp python /app/tests/test_toon.py