返回市场
模型域-MCP服务器

模型域-MCP服务器

作者:modelscope14 星标更新:2025-11-24

项目介绍

ModelScope MCP Server

PyPI 版本 PyPI 下载量 Docker GitHub 容器注册表 许可证

English | 中文

通过直接访问ModelScope丰富的AI资源生态系统,增强AI代理和聊天机器人的功能。从生成图像到发现前沿模型、数据集、应用程序和研究论文,这个MCP服务器使得ModelScope庞大的工具和服务集合可以通过简单的对话交互来访问。

要进行快速试用或托管选项,请访问ModelScope MCP广场上的项目页面

✨ 功能

  • 🎨 AI 图像生成 - 从提示(文本到图像)或现有图像(图像到图像)生成图像,使用AIGC模型
  • 🔍 资源发现 - 搜索和发现ModelScope资源,包括模型、数据集、工作室(AI应用)、研究论文和MCP服务器,具有高级过滤选项
  • 📋 资源详情 - 获取特定资源的详细信息
  • 📖 文档搜索 (即将推出) - 对ModelScope文档和文章进行语义搜索
  • 🚀 Gradio API 集成 (即将推出) - 调用任何预配置的ModelScope工作室暴露的Gradio API
  • 🔐 上下文信息 - 访问当前操作上下文,包括认证用户信息和环境细节

🚀 快速开始

1. 获取您的API令牌

  1. 访问ModelScope并登录您的账户
  2. 导航至**[首页] → [访问令牌]**以检索或创建您的API令牌

📖 详细说明,请参阅ModelScope令牌文档

2. 与MCP客户端集成

在您的MCP客户端配置文件中添加以下JSON配置:

{
  "mcpServers": {
    "modelscope-mcp-server": {
      "command": "uvx",
      "args": ["modelscope-mcp-server"],
      "env": {
        "MODELSCOPE_API_TOKEN": "your-api-token"
      }
    }
  }
}

或者,您可以使用预构建的Docker镜像:

{
  "mcpServers": {
    "modelscope-mcp-server": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "MODELSCOPE_API_TOKEN",
        "ghcr.io/modelscope/modelscope-mcp-server"
      ],
      "env": {
        "MODELSCOPE_API_TOKEN": "your-api-token"
      }
    }
  }
}

更多详情,请参考MCP JSON配置标准

此格式广泛应用于MCP生态系统:

  • Cherry Studio:参见Cherry Studio MCP配置
  • Claude Desktop:使用~/.claude/claude_desktop_config.json
  • Cursor:使用~/.cursor/mcp.json
  • VS Code:使用工作区.vscode/mcp.json
  • 其他客户端:许多MCP兼容的应用程序遵循此标准

🛠️ 开发

环境设置

  1. 克隆和设置

    git clone https://github.com/modelscope/modelscope-mcp-server.git
    cd modelscope-mcp-server
    uv sync
    
  2. 激活环境(或使用您的IDE):

    source .venv/bin/activate  # Linux/macOS
    
  3. 设置您的API令牌(请参阅快速开始部分中的令牌设置):

    export MODELSCOPE_API_TOKEN="your-api-token"
    # 或创建.env文件:echo 'MODELSCOPE_API_TOKEN="your-api-token"' > .env
    

运行演示脚本

运行一个快速演示以探索服务器的功能:

uv run python demo.py

使用--full标志进行全面功能演示:

uv run python demo.py --full

在本地运行服务器

# 标准stdio传输(默认)
uv run modelscope-mcp-server

# 可流式传输HTTP传输,用于Web集成
uv run modelscope-mcp-server --transport http

# HTTP/SSE传输,自定义端口(默认:8000)
uv run modelscope-mcp-server --transport [http/sse] --port 8080

对于HTTP/SSE模式,在您的MCP客户端配置中使用本地URL连接:

{
  "mcpServers": {
    "modelscope-mcp-server": {
      "url": "http://127.0.0.1:8000/mcp/"
    }
  }
}

您还可以使用MCP Inspector工具调试服务器:

# 使用stdio传输在UI模式下运行(需要时可以在Web UI中切换到HTTP/SSE)
npx @modelcontextprotocol/inspector uv run modelscope-mcp-server

# 使用HTTP传输在CLI模式下运行(可以跨工具、资源和提示执行操作)
npx @modelcontextprotocol/inspector --cli http://127.0.0.1:8000/mcp/ --transport http --method tools/list

测试

# 运行所有测试
uv run pytest

# 运行特定测试文件
uv run pytest tests/test_search_papers.py

# 带覆盖率报告
uv run pytest --cov=src --cov-report=html

🔄 持续集成

该项目使用GitHub Actions进行自动化CI/CD工作流程,每次推送和拉取请求都会运行这些工作流程:

自动检查

  • 代码格式化 - 使用pre-commit钩子进行代码格式化、linting和样式检查
  • 🧪 测试 - 在所有支持的Python版本上进行全面测试
  • 🔍 CodeQL - 安全漏洞扫描和代码质量分析
  • 🔒 Gitleaks - 检测密码、API密钥和令牌等秘密

本地开发检查

在提交PR之前运行相同的本地检查:

# 安装并运行pre-commit钩子
uv run pre-commit install
uv run pre-commit run --all-files

# 运行测试
uv run pytest

Actions标签页监控CI状态。

📦 发布管理

该项目使用GitHub Actions进行自动化发布管理。要创建新版本:

  1. 更新版本 使用bump脚本:

    uv run python scripts/bump_version.py [patch|minor|major]
    # 或设置特定版本:uv run python scripts/bump_version.py set 1.2.3.dev1
    
  2. 提交和标记 (按照脚本输出的指令操作):

    git add src/modelscope_mcp_server/_version.py
    git commit -m "chore: bump version to v{version}"
    git tag v{version} && git push origin v{version}
    
  3. 自动发布 - GitHub Actions将自动:

🤝 贡献

我们欢迎贡献!请确保您的PR:

  • 包含相关测试并通过所有CI检查
  • 更新新功能的文档
  • 遵循常规提交格式

📚 参考资料

📜 许可证

本项目根据Apache许可证(第2.0版)授权。