mcpField
M
MCP Servers

MCP Servers

本地服务
mcp.science科研与教育15560 周前更新

关于 MCP Servers

MCP Servers 是 MCP.science 的开源仓库,收录用于科研场景的 MCP 服务。它面向需要让 AI 助手接入科学数据与工具的研究人员和开发者。

主要功能

  1. 01开源科研类 MCP 服务集合
  2. 02统一使用 uvx mcp-science 启动
  3. 03提供 Web 抓取、代码执行、DFT 计算等服务
  4. 04可在多种 MCP 客户端中配置

适用场景

  1. 01为科研助手接入网页与文献检索能力
  2. 02在受限沙箱中运行 Python 分析代码
  3. 03通过 Materials Project 查询材料数据

MCP 相关

仓库中的每个项目都是 MCP 服务,向 MCP 客户端暴露科研工具。客户端以 stdio 子进程方式启动它们。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"servers": {
"command": "uvx",
"args": [
"mcp-science"
]
}
}
}
启动命令uvx mcp-science

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-science

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

README 配图

MCP.science:面向科学研究的开源 MCP 服务 🔍📚

License: MIT

加入我们,使用 AI 和开源工具加速科学发现!

快速入门

在此仓库中运行任何服务都只需一条命令。例如,要启动 web-fetch 服务:

uvx mcp-science web-fetch

此命令会处理从安装到运行的所有步骤。有关配置和查找其他服务的更多详情,请参阅下方的“如何为 AI 客户端应用配置 MCP 服务”一节。

目录

关于

此仓库包含一组专为科学研究应用设计的开源 MCP 服务。这些服务通过标准化协议,使 AI 模型(如 Claude)能够与科学数据、工具和资源交互。

什么是 MCP?

MCP 是一种开放协议,用于规范应用程序如何向大模型提供上下文。可以把 MCP 想象成 AI 应用的 USB-C 接口。正如 USB-C 提供了一种连接设备与各种外围设备和配件的标准方式,MCP 也提供了一种将 AI 模型连接到不同数据源和工具的标准方式。

MCP 帮助你基于大模型构建 Agent 和复杂工作流。大模型经常需要与数据和工具集成,而 MCP 提供:

  • 不断增长的预构建集成列表,你的大模型可以直接接入
  • 在不同大模型提供商和供应商之间切换的灵活性
  • 在你的基础设施中保护数据的最佳实践

来源:https://modelcontextprotocol.io/introduction

此仓库中的可用服务

下面列出了此单体仓库中的所有 MCP 服务。每个条目都链接到包含服务源代码和 README 的子目录,方便你快速查找文档和使用说明。

示例服务

一个示例 MCP 服务,演示了实现服务所需的最基本组成部分。

Materials Project

一个专业的 MCP 服务,可让 AI 助手搜索、可视化和操作 Materials Project 数据库中的材料科学数据。需要 Materials Project API 密钥。

Python 代码执行

在安全的沙盒环境中运行 Python 代码片段,并限制对标准库的访问,以便助手能够执行分析和计算,同时避免危及你的系统。

SSH 执行

允许助手通过 SSH 在远程机器上运行经过预先验证的命令,并可配置身份验证和命令白名单。

Web 获取

获取并处理来自 Web 的 HTML、PDF 和纯文本内容,以便助手引用或总结这些内容。

TXYZ 搜索

通过 TXYZ API 执行 Web、学术和“尽力而为”的搜索。需要 TXYZ API 密钥。

计时器

一个简单的倒计时器,可流式传输进度更新,以演示 MCP 通知。

GPAW 计算

通过 GPAW 软件包提供密度泛函理论(DFT)计算。

Jupyter-Act

让助手与正在运行的 Jupyter 内核交互,以编程方式执行笔记本单元格。

Mathematica-Check

通过无头 Mathematica 实例计算简短的 Wolfram Language 代码片段。

NEMAD

神经科学模型分析仪表板服务,提供用于检查 NEMAD 数据集的工具。

TinyDB

提供对由 TinyDB 支持的轻量级 JSON 数据库的 CRUD 访问,使助手能够存储和检索少量结构化数据。

如何为 AI 客户端应用配置 MCP 服务

如果你对此不熟悉,可以参阅以下分步指南:为 AI 客户端应用配置 MCP 服务的分步指南

前置条件
  1. uv — 一款速度极快(由 Rust 驱动)的 pip + virtualenv 即插即用替代工具。安装方法:

    curl -sSf https://astral.sh/uv/install.sh | bash
    
  2. 支持 MCP 的客户端应用,例如 Claude Desktop、 VSCode、 Goose、 5ire。

简要说明——使用 uvx

本仓库中的任何服务都可以通过一条 Shell 命令启动。命令格式如下:

uvx mcp-science <server-name>

例如,要在本地启动 web-fetch stdio 服务,请在客户端中配置以下命令:

uvx mcp-science web-fetch

这对应于 claude desktop 的 JSON 配置:

{
  "mcpServers": {
    "web-fetch": {
      "command": "uvx",
      "args": [
        "mcp-science",
        "web-fetch"
      ]
    }
  }
}

该命令会从 PyPI 下载 mcp-science 包,并运行指定的入口点。

查找其他服务

请查看可用服务列表——表中的每个条目都适用上述命令格式。


可选:使用 MCPM 管理集成

MCPM 是一款便捷的命令行工具,可自动将服务接入受支持的客户端。它并非必需,但如果你经常切换客户端或维护大量服务,会很有用。

基本工作流如下:

# Install mcpm first – it is a separate project
uv pip install mcpm

mcpm client ls           # discover supported clients
mcpm client set <name>   # pick the one you are using

# Add a server (automatically installing it if needed)
mcpm add web-fetch

命令完成后,请重启客户端,以便重新加载工具配置。你可以浏览 MCPM Registry 查找社区维护的其他服务。

如何构建自己的 MCP 服务

更多详情请参阅如何逐步构建自己的 MCP 服务。

贡献

我们热忱欢迎大家为 MCP.science 贡献力量!你可以帮助改进现有服务、添加新服务,或做任何你认为能让这个项目变得更好的事情。

如果你不熟悉 GitHub 和如何为开源仓库做贡献,这可能有点挑战,但依然很容易上手。我们建议你先阅读以下内容:

简而言之,你可以按照以下步骤操作:

  1. 将仓库 Fork 到你自己的 GitHub 账户

  2. 将 Fork 后的仓库克隆到本地计算机

  3. 创建功能分支(git checkout -b feature/amazing-feature)

  4. 进行更改并提交(git commit -m 'Add amazing feature')

    👈 点击查看更多目录和命名约定

    请在 servers 文件夹中创建新的服务。 要在仓库文件夹下创建新的服务文件夹,只需运行以下命令(将 your-new-server 替换为你的服务名称)

    uv init --package --no-workspace servers/your-new-server
    uv add --directory servers/your-new-server mcp
    

    这将创建包含必要文件的新服务文件夹:

    servers/your-new-server/
    ├── README.md
    ├── pyproject.toml
    └── src
        └── your_new_server
            └── __init__.py
    

    你可能会在配置文件中看到两个相关名称:

    1. 项目名称(连字符格式):pyproject.toml 中的文件夹、项目名称和脚本名称,例如 your-new-server。
    2. Python 包名称(snake_case 格式):src/ 内的文件夹,例如 your_new_server。
  5. 推送到分支(git push origin feature/amazing-feature)

  6. 创建拉取请求

请确保你的 PR 符合以下要求:

  • 提交说明清晰
  • 及时更新相关文档
  • 为新功能编写测试并确保测试覆盖率
在子仓库中鸣谢贡献者

如果你想鸣谢特定服务/子仓库的贡献者(例如 servers/gpaw-computation/),可以在该子目录中使用 All Contributors CLI。

步骤:

  1. 在子仓库中(例如 servers/gpaw-computation/)创建 .all-contributorsrc 文件(参见示例)。
  2. 使用 CLI 添加贡献者:
    npx all-contributors add <github-username> <contribution-type>
    
  3. 在子仓库的 README.md 中生成或更新贡献者部分:
    npx all-contributors generate
    
  4. 将更改提交到子仓库的 README.md 和 .all-contributorsrc。

更多详情请参阅 All Contributors CLI 安装指南。

许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

致谢

感谢所有贡献者!

引用

一般使用时,请按照根目录中的 CITATION.cff 文件所述引用此仓库。

如果你使用了特定服务/子项目,请查看该子项目在 servers/ 下的文件夹中的 CITATION.cff 文件,以获取相应的引用信息。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。