Skip to main content
Glama
gqy20

Europe PMC Literature Search MCP Server

Deployment_Guide.md8.18 kB
# Article MCP 部署指南 ## 📋 概述 本指南介绍Article MCP项目的多种部署方式,包括PyPI发布、NPM发布和魔搭MCP广场部署。 ## 🏗️ 项目架构 ### 6工具统一架构 (v2.0+) Article MCP采用6工具统一架构,替代了原来分散的多个工具: #### 核心工具 (6个) 1. **search_literature** - 统一多源文献搜索 2. **get_article_details** - 统一文献详情获取 3. **get_references** - 参考文献获取 4. **get_literature_relations** - 文献关系分析 5. **get_journal_quality** - 期刊质量评估 6. **batch_search_literature** - 批量处理工具 #### 集成的数据源 - Europe PMC - PubMed - arXiv - CrossRef - OpenAlex ## 🐍 PyPI 发布 (推荐) ### 前提条件 - Python 3.10+ - uv 包管理器 - PyPI 账号和 API Token - 项目代码已推送到 GitHub ### 发布步骤 #### 1. 准备发布环境 ```bash # 确保uv已安装 curl -LsSf https://astral.sh/uv/install.sh | sh # 同步项目依赖 uv sync # 测试项目运行 uv run python -m article_mcp test ``` #### 2. 构建和发布 ```bash # 构建包 uv build # 发布到PyPI uv publish --token pypi-xxxxx # 或使用传统方式 python -m build python -m twine upload dist/* ``` #### 3. 使用PyPI包 ```bash # 直接运行(推荐) uvx article-mcp server # 或安装后运行 pip install article-mcp article-mcp server # 本地测试 uvx --from . article-mcp server ``` ### PyPI配置示例 #### Claude Desktop配置 ```json { "mcpServers": { "article-mcp": { "command": "uvx", "args": ["article-mcp", "server"], "env": { "PYTHONUNBUFFERED": "1", "EASYSCHOLAR_SECRET_KEY": "your_key_here" } } } } ``` #### Cherry Studio配置 ```json { "mcpServers": { "article-mcp": { "command": "uvx", "args": [ "article-mcp", "server", "--transport", "stdio" ], "env": { "PYTHONUNBUFFERED": "1" } } } } ``` ## 📦 NPM 发布 (备选) ### 前提条件 - Node.js 16+ - npm 账号 - 项目代码已推送到GitHub ### NPM包结构 需要创建JavaScript包装器来调用Python包。 ### 发布步骤 ```bash # 构建NPM包 npm run build # 发布到NPM npm publish # 使用NPM包 npx @gqy20/article-mcp-wrapper server ``` ## 🌐 魔搭MCP广场部署 ### 部署要求分析 根据[魔搭官方文档](https://modelscope.cn/headlines/article/1439),**核心约束**: > **当前只有command字段键值为npx和uvx的服务配置能够成功通过自动化检测** 这意味着使用 `uv run` 的配置**无法通过检测**! ### 解决方案 #### 🥇 方案1:PyPI + uvx (强烈推荐) - **发布平台**: PyPI (Python Package Index) - **包名**: `article-mcp` - **运行命令**: `uvx article-mcp@latest server` - **优势**: 原生Python包,性能最佳 #### 🥈 方案2:NPM + npx (备选) - **发布平台**: NPM (Node Package Manager) - **包名**: `@gqy20/article-mcp-wrapper` - **运行命令**: `npx @gqy20/article-mcp-wrapper@latest server` - **优势**: 兼容性强,NPM生态成熟 ### 魔搭配置示例 #### uvx配置 (推荐) ```json { "name": "article-mcp", "version": "1.0.0", "description": "学术文献搜索MCP服务器", "author": "gqy20", "license": "MIT", "command": "uvx", "args": [ "article-mcp@latest", "server" ], "env": { "PYTHONUNBUFFERED": "1" }, "tags": [ "mcp", "literature", "academic", "search" ], "repository": "https://github.com/gqy20/article-mcp", "homepage": "https://github.com/gqy20/article-mcp" } ``` #### npx配置 (备选) ```json { "name": "article-mcp", "version": "1.0.0", "description": "学术文献搜索MCP服务器", "author": "gqy20", "license": "MIT", "command": "npx", "args": [ "@gqy20/article-mcp-wrapper@latest", "server" ], "env": { "PYTHONUNBUFFERED": "1" }, "tags": [ "mcp", "literature", "academic", "search" ], "repository": "https://github.com/gqy20/article-mcp", "homepage": "https://github.com/gqy20/article-mcp" } ``` ## 🚀 本地开发部署 ### 开发环境设置 ```bash # 克隆项目 git clone https://github.com/gqy20/article-mcp.git cd article-mcp # 安装依赖 uv sync # 运行服务器 uv run python -m article_mcp server # 不同传输模式 uv run python -m article_mcp server --transport stdio uv run python -m article_mcp server --transport sse --host 0.0.0.0 --port 9000 uv run python -m article_mcp server --transport streamable-http --host 0.0.0.0 --port 9000 ``` ### 开发配置 #### Claude Desktop开发配置 ```json { "mcpServers": { "article-mcp": { "command": "uv", "args": [ "run", "--directory", "/path/to/your/article-mcp", "python", "-m", "article_mcp", "server" ], "env": { "PYTHONUNBUFFERED": "1", "EASYSCHOLAR_SECRET_KEY": "your_dev_key_here" } } } } ``` ## 🔧 配置管理 ### 环境变量 ```bash export PYTHONUNBUFFERED=1 # 禁用Python输出缓冲 export UV_LINK_MODE=copy # uv链接模式(可选) export EASYSCHOLAR_SECRET_KEY=your_secret_key # EasyScholar API密钥(可选) ``` ### MCP配置集成 (v0.1.1+) 项目支持从MCP客户端配置文件中读取EasyScholar API密钥: #### 配置优先级 1. **MCP配置文件**中的密钥(最高优先级) 2. **函数参数**中的密钥 3. **环境变量**中的密钥 #### 支持的配置路径 - `~/.config/claude-desktop/config.json` - `~/.config/claude/config.json` - `~/.claude/config.json` ## 📋 部署检查清单 ### 发布前检查 - [ ] 项目代码已推送到GitHub - [ ] 版本号已更新(语义化版本) - [ ] CHANGELOG.md已更新 - [ ] 所有测试通过 - [ ] 文档示例已验证 ### PyPI发布检查 - [ ] PyPI账号已配置 - [ ] API Token有效 - [ ] 包名可用 - [ ] 构建成功 ### 魔搭部署检查 - [ ] 使用uvx命令(非uv run) - [ ] 包名正确 - [ ] 标签准确 - [ ] 环境变量配置正确 ## 🔄 版本管理 ### 语义化版本控制 - **主版本号**: 不兼容的API修改 - **次版本号**: 向下兼容的功能性新增 - **修订号**: 向下兼容的问题修正 ### 发布流程 1. 更新版本号(`pyproject.toml`) 2. 更新CHANGELOG.md 3. 运行完整测试套件 4. 构建包 5. 发布到平台 6. 更新文档 ## 🐛 故障排除 ### 常见问题 #### PyPI发布问题 - **错误**: `403 Forbidden` - **解决**: 检查PyPI API Token是否有效 - **错误**: `包名已存在` - **解决**: 使用不同的包名或联系包的所有者 #### 魔搭部署问题 - **错误**: `自动化检测失败` - **解决**: 确保使用`uvx`而非`uv run` - **错误**: `命令无法执行` - **解决**: 检查包名和版本是否正确 #### 配置问题 - **错误**: `EASYSCHOLAR_SECRET_KEY not found` - **解决**: 检查MCP配置文件或环境变量 - **错误**: `模块导入失败` - **解决**: 检查Python版本和依赖安装 ### 调试技巧 #### 启用详细日志 ```bash # 设置详细日志 export PYTHONUNBUFFERED=1 uv run python -m article_mcp server --log-level DEBUG ``` #### 测试配置 ```bash # 测试MCP服务器 uv run python -m article_mcp test # 检查配置 uv run python -m article_mcp info ``` ## 📞 支持和资源 ### 官方资源 - **GitHub仓库**: https://github.com/gqy20/article-mcp - **PyPI包**: https://pypi.org/project/article-mcp/ - **问题反馈**: https://github.com/gqy20/article-mcp/issues ### 社区资源 - **文档**: 查看README和源代码注释 - **讨论**: GitHub Discussions - **魔搭广场**: ModelScope MCP广场 --- **最后更新**: 2025-10-27 **维护者**: Claude Code **支持平台**: PyPI, NPM, 魔搭MCP广场

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gqy20/article-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server