科学研究的开源MCP服务器

MCP.science是一个开源项目,提供了一系列专门为科学研究设计的MCP服务器,使AI模型能够通过标准化协议与科学数据、工具和资源进行交互。

作者 By pathintegral-institute
本地部署 可托管 开源工具
GitHub

MCP.science:用于科学研究的开源MCP服务器🔍📚

加入我们,利用人工智能和开源工具加速科学发现!

快速开始

运行此存储库中的任何服务器都像单个命令一样简单。例如,要启动 web-fetch 服务器:

BASH``` 1uvx mcp-science web-fetch


此命令处理从安装到执行的所有操作。有关配置和查找其他服务器的更多详细信息,请参阅“如何为AI客户端应用程序配置MCP服务器“下面的部分。


## 目录


- 关于
- 什么是MCP?
- 此仓库中的可用服务器
- 如何将MCP服务器集成到LLM中
- 如何构建自己的MCP服务器
- 贡献
- 许可证
- 致谢
- 引用


## 关于


此存储库包含一组开源 [主控程序](https://modelcontextprotocol.io/introduction) 专为科学研究应用而设计的服务器。这些服务器使Al模型(如Claude)能够通过标准化协议与科学数据、工具和资源进行交互。


## 什么是MCP?


> MCP是一个开放协议,它规范了应用程序如何向LLM提供上下文。将MCP想象成AI应用程序的USB-C端口。正如USB-C提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP提供了一个将AI模型连接到不同数据源和工具的标准化方法。
> 
> 
> MCP可帮助您在LLM之上构建代理和复杂的工作流。LLM经常需要与数据和工具集成,MCP提供:
> 
> 
> - LLM可以直接插入的预构建集成列表越来越多
> - 在LLM提供商和供应商之间切换的灵活性
> - 在基础架构中保护数据的最佳实践
> 
> 
> 来源: [https://modelcontextprotocol.io/introduction](https://modelcontextprotocol.io/introduction)


## 此仓库中的可用服务器


下面是此monorepo中MCP服务器的完整列表。每
条目链接到包含服务器源代码的子目录,以及
README,以便您可以快速找到文档和使用说明。


#### 示例服务器


一个示例MCP服务器,演示了
服务器实现。


#### 材料项目


一个专门的MCP服务器,使AI助手能够搜索、可视化和
操纵材料项目数据库中的材料科学数据。A.
材料项目API密钥是必需的。


#### Python代码执行


在安全的沙盒环境中运行Python代码片段
标准库访问权限,以便助手进行分析和
无需冒系统风险即可进行计算。


#### SSH执行器


允许助手通过SSH在远程计算机上运行预先验证的命令
具有可配置的身份验证和命令白名单。


#### Web提取


从Web获取和处理HTML、PDF和纯文本内容,以便
助理可以引用或总结。


#### TXYZ搜索


通过TXYZ API执行网络、学术和“尽最大努力”搜索。A TXYZ API
密钥是必需的。


#### 计时器


一个最小的倒计时器,用于流式传输进度更新以演示MCP
通知。


#### GPAW计算


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


#### Jupyter法案


让助手与正在运行的Jupyter内核交互,执行notebook
细胞编程。


#### Mathematica检查


通过无头计算Wolfram语言代码的小片段
Mathematica实例。


#### NEMAD


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


#### TinyDB


提供对TinyDB支持的轻量级JSON数据库的CRUD访问,以便
助手可以存储和检索小块结构化数据。


## 如何为AI客户端应用程序配置MCP服务器


如果你不熟悉这些东西,这里有一个循序渐进的指南: 为AI客户端应用程序配置MCP服务器的分步指南


### 先决条件


1. [紫外线](https://docs.astral.sh/uv/) --超快速(Rust驱动)插入
pip+virtualenv的替代品。安装时使用:


BASH```
1curl -sSf https://astral.sh/uv/install.sh | bash
  1. 启用MCP的客户端应用程序,例如 克劳德桌面, VSCode, , 5ire.

简短版本-使用 uvx

此存储库中的任何服务器都可以使用单个shell命令启动。这 模式是:

BASH``` 1uvx mcp-science


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


BASH```
1uvx mcp-science web-fetch

这对应于claude桌面的json配置:

JSON``` 1 2 3 4 5 6 7 8 9 10 11{ “mcpServers”: { “web-fetch”: { “command”: “uvx”, “args”: [ “mcp-science”, “web-fetch” ] } } }


该命令将下载 `mcp-science` 从PyPI打包并运行请求的入口点。


#### 查找其他服务器


看看 可用服务器 列表–
表中的每个条目都使用上面显示的模式。



---


### 可选:管理与MCPM的集成


[MCPM](https://mcpm.sh/) 是一个方便的命令行工具,可以自动化
将服务器连接到受支持的客户端的过程。这不是必需的,但
如果您经常在客户端之间切换或维护大型
服务器数量。


基本工作流程是:


BASH```
1
2
3
4
5
6# 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注册表 用于额外的社区维护服务器。

如何构建自己的MCP服务器

请检查 如何逐步构建自己的MCP服务器 了解更多详情。

贡献

我们热忱欢迎对MCP.science的贡献!您可以帮助改进现有服务器、添加新服务器或任何您认为会使此项目更好的事情。

如果你不熟悉GitHub以及如何为开源存储库做出贡献,那么这可能会有点挑战性,但对你来说仍然很容易。我们建议您先阅读以下内容:

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

  1. 将存储库分叉到您自己的GitHub帐户
  2. 将分叉的存储库克隆到本地计算机
  3. 创建要素分支(git checkout -b feature/amazing-feature)
  4. 进行更改并提交(git commit -m 'Add amazing feature')

👈 Click to see more conventions about directory and naming 请在中创建新服务器 servers 文件夹。 要在存储库文件夹下创建新的服务器文件夹,您只需运行(替换 your-new-server 使用您的服务器名称)

SH``` 1 2uv init —package —no-workspace servers/your-new-server uv add —directory servers/your-new-server mcp


这将创建一个新的服务器文件夹,其中包含必要的文件:


BASH```
1
2
3
4
5
6servers/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.
  3. 推到分支(git push origin feature/amazing-feature)
  4. 打开拉取请求

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

  • 清除提交消息
  • 适当的文档更新
  • 新功能的测试覆盖率

Subrepos中的贡献者认可

如果你想识别特定服务器/子论坛的贡献者(例如。 servers/gpaw-computation/),您可以使用 所有贡献者CLI 在该子目录中。

步骤:

  1. 在您的子版块中(例如。 servers/gpaw-computation/),创建一个 .all-contributorsrc 文件(参见 例子).
  2. 使用CLI添加贡献者:

BASH``` 1npx all-contributors add

3. 在子版块中生成或更新贡献者部分 `README.md`:

BASH```
1npx all-contributors generate
  1. 将更改提交到子页面 README.md.all-contributorsrc.

有关更多详细信息,请参阅 所有贡献者CLI安装指南.

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

感谢所有贡献者!

引用

对于一般用途,请按照根目录中的描述引用此存储库 引文.cff.

如果您使用特定的服务器/子项目,请参阅相应的 CITATION.cff 该子项目文件夹中的文件 servers/ 适当的引用。