CDS MCP服务器
基于Invenio数字图书馆框架构建的模型上下文协议(MCP)服务器,用于与CERN文档服务器(CDS)集成。
特性
- 搜索CDS文档 使用实验、文档类型和日期范围过滤器
- 获取详细的文档信息 包括完整摘要、作者和元数据
- 访问文档文件 带有下载URL和文件元数据
- 浏览实验和文档类型 为了更好的搜索过滤
安装
需要Python 3.10+。
快速入门(推荐)
无需安装,只需使用 uvx 直接运行:
uvx cds-mcp来自PyPI
pip install cds-mcp来源
git clone https://github.com/MohamedElashri/cds-mcp
cd cds-mcp
uv sync用法
克劳德桌面版
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"],
"env": {
"CERN_CLIENT_ID": "your-client-id",
"CERN_CLIENT_SECRET": "your-client-secret"
}
}
}
}对于 仅供公众访问,省略身份验证环境变量:
{
"mcpServers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"]
}
}
}macOS用户注意:如果您看到以下错误 uvx 如果找不到,您可能需要提供绝对路径。Claude Desktop不支持 ~ 或 $HOME 扩张。
- 跑
which uvx在您的终端中查找路径(例如。,/Users/yourusername/.local/bin/uvx). - 在中使用该绝对路径
command字段:
"command": "/Users/yourusername/.local/bin/uvx"克劳德代码
项目特定(默认)-安装在当前目录的配置中:
claude mcp add cds-mcp -- uvx cds-mcp全局--为您的用户帐户安装(适用于所有项目):
claude mcp add --scope user cds-mcp -- uvx cds-mcp要包含身份验证,请在 --:
# Example: Global installation with CERN SSO authentication
claude mcp add --scope user -e CERN_CLIENT_ID=your_client_id -e CERN_CLIENT_SECRET=your_client_secret cds-mcp -- uvx cds-mcp手动配置-您还可以在以下位置手动编辑全局配置 ~/.claude.json (在Linux/macOS上)或 %APPDATA%\Claude\claude.json (在Windows上):
{
"mcpServers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"],
"env": {
"CERN_CLIENT_ID": "your_client_id",
"CERN_CLIENT_SECRET": "your_client_secret"
}
}
}
}GitHub Copilot
添加到您的VS代码 settings.json:
{
"mcp": {
"servers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"],
"env": {
"CERN_CLIENT_ID": "your_client_id",
"CERN_CLIENT_SECRET": "your_client_secret"
}
}
}
}
}或者添加一个 .vscode/mcp.json 对于您的项目:
{
"servers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"],
"env": {
"CERN_CLIENT_ID": "your_client_id",
"CERN_CLIENT_SECRET": "your_client_secret"
}
}
}
}Gemini CLI
添加到您的 ~/.gemini/settings.json:
{
"mcpServers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"],
"env": {
"CERN_CLIENT_ID": "your_client_id",
"CERN_CLIENT_SECRET": "your_client_secret"
}
}
}
}直接使用
# Run with uvx (no install needed)
uvx cds-mcp
# Or if installed from PyPI
cds-mcp
# Or from source
uv run cds-mcp
# With CERN SSO authentication
CERN_CLIENT_ID=your_client_id CERN_CLIENT_SECRET=your_client_secret uvx cds-mcp身份验证和访问控制
CERN SSO身份验证(推荐)
CDS MCP服务器现在支持 正确的CERN SSO身份验证 使用OAuth2/OIDC访问受限内容。
安装说明
- 注册您的应用程序 在 CERN应用门户:
- 创建新的OIDC应用程序 - 选择“机密客户”类型 - 注意你的 Client ID 和 Client Secret
- 配置身份验证 通过设置环境变量:
export CERN_CLIENT_ID="your-client-id"
export CERN_CLIENT_SECRET="your-client-secret"- 与MCP客户端一起使用 -服务器将自动处理令牌获取和刷新。
支持的访问级别
- 公开记录:无需身份验证即可使用
- 受限收藏:需要CERN SSO身份验证和适当的实验成员资格
- 阿特拉斯:内部笔记、通讯、会议幻灯片 - 内容管理系统:内部注释、分析注释 - LHCb 的:内部注释、分析注释 - 爱丽丝:内部注释、分析注释
工具
search_cds_documents:使用各种过滤器搜索CDSget_cds_document_details:获取特定文档的详细信息get_cds_document_files:获取文件信息并下载URLget_cds_experiments:列出可用于过滤的CERN实验get_cds_document_types:列出可用于筛选的文档类型
发展
git clone https://github.com/MohamedElashri/cds-mcp
cd cds-mcp
uv sync
uv run python tests/test_integration.py # Test real CDS API integration
uv run python tests/test_mcp_server.py # Test MCP server functionality许可证
MIT许可证-请参阅 许可证 了解详情。
