基本能力
产品定位
MCP.science 旨在通过开源工具和 AI 技术加速科学发现,提供标准化的协议使 AI 模型能够与科学数据、工具和资源进行交互。
核心功能
- 标准化协议:MCP 协议为 AI 模型提供了连接不同数据源和工具的标准化方式。
- 预构建集成:提供一系列预构建的集成工具,使 LLM 能够直接使用。
- 灵活性:支持在不同 LLM 提供商和供应商之间切换。
- 安全性:提供最佳实践以保护数据安全。
适用场景
- 科学研究:如材料科学数据搜索、可视化和操作。
- 代码执行:提供安全的沙盒环境执行 Python 代码片段。
- 远程命令执行:通过 SSH 安全运行远程命令。
- 网页内容获取:获取和处理 HTML、PDF 和纯文本内容。
- 学术搜索:执行学术和学术搜索。
工具列表
- Materials Project:搜索、可视化和操作材料科学数据。
- Python Code Execution:在安全沙盒中执行 Python 代码片段。
- SSH Exec:通过 SSH 安全运行远程命令。
- Web Fetch:获取和处理网页内容。
- TXYZ Search:执行学术和学术搜索。
常见问题解答
- 如何集成 MCP 服务器到客户端? 使用 MCPM 工具可以轻松集成。
- 如何构建自己的 MCP 服务器? 提供详细的步骤指南。
- 如何贡献代码? 欢迎通过 GitHub 提交 Pull Request。
使用教程
使用依赖
- 安装 MCPM:
bash
curl -sSf https://mcpm.sh/install.sh | bash - 安装 UV:
bash
curl -sSf https://astral.sh/uv/install.sh | bash
安装教程
- 初始化服务器包:
sh
uv init --package --no-workspace servers/your-new-server
uv add --directory servers/your-new-server mcp -
实现最简单的服务器:
```python
def main():
from mcp.server.fastmcp import FastMCP
import logginglogging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(name)s - %(message)s'
)
logger = logging.getLogger(name)mcp = FastMCP()
@mcp.tool()
async def add(a: int, b: int) -> str:
return str(a + b)logger.info('Starting your-new-server')
mcp.run('stdio')
3. 启动服务器:
sh
uv run --directory servers/your-new-server your-new-server
```
调试方式
- 检查日志输出:
text
2025-04-01 10:22:36,402 - INFO - your_new_server - Starting your-new-server - 测试工具功能:
python
@mcp.tool()
async def mean(a: int, b: int) -> str:
return str(np.mean([a, b])) - 集成到客户端:
json
{
"mcpServers": {
"your-new-server": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/your-new-server",
"mcp-your-new-server"
]
}
}
}