DevHub MCP Server

官方

在DevHub CMS平台内管理和利用网站内容

文档

DevHub CMS MCP

smithery badge

一个用于管理 DevHub CMS 系统 内容的 模型上下文协议 (MCP) 集成。

安装

您需要在本地系统上安装 uv 包管理器。

Claude Desktop 手动配置

要将此服务器与 Claude Desktop 应用 一起使用,请将以下配置添加到您的 claude_desktop_config.json 的 "mcpServers" 部分:

{
    "mcpServers": {
        "devhub_cms_mcp": {
            "command": "uvx",
            "args": [
                "devhub-cms-mcp"
            ],
            "env": {
                "DEVHUB_API_KEY": "YOUR_KEY_HERE",
                "DEVHUB_API_SECRET": "YOUR_SECRET_HERE",
                "DEVHUB_BASE_URL": "https://yourbrand.cloudfrontend.net"
            }
        }
    }
}

更新配置后,重启 Claude Desktop。

Cursor 手动配置

此 MCP 也可在 Cursor 中使用,只需将上述类似配置添加到您的 Cursor 全局环境或单个项目中。

示例见 此处

通过 Claude Code 安装

Claude Code 的命令行 支持 MCP 安装

您可以通过更新以下环境变量来添加 devhub-cms-mcp

claude mcp add devhub-cms-mcp \
    -e DEVHUB_API_KEY=YOUR_KEY_HERE \
    -e DEVHUB_API_SECRET=YOUR_SECRET_HERE \
    -e DEVHUB_BASE_URL=https://yourbrand.cloudfrontend.net \
    -- uvx devhub-cms-mcp

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 DevHub CMS MCP:

npx -y @smithery/cli install @devhub/devhub-cms-mcp --client claude

本地开发

克隆仓库(或您的分支)

git clone [email protected]:devhub/devhub-cms-mcp.git

Claude Desktop 手动配置

要在本地开发中将此服务器与 Claude Desktop 应用一起使用,请将以下配置添加到您的 claude_desktop_config.json 的 "mcpServers" 部分:

{
    "mcpServers": {
        "devhub_cms_mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/YOUR/LOCAL/PATH/devhub-cms-mcp/",
                "run",
                "main.py"
            ],
            "env": {
                "DEVHUB_API_KEY": "YOUR_KEY_HERE",
                "DEVHUB_API_SECRET": "YOUR_SECRET_HERE",
                "DEVHUB_BASE_URL": "https://yourbrand.cloudfrontend.net"
            }
        }
    }
}

更新配置后,重启 Claude Desktop。

直接使用 uv 运行的配置

此 MCP 需要设置以下环境变量:

export DEVHUB_API_KEY="your_api_key"
export DEVHUB_API_SECRET="your_api_secret"
export DEVHUB_BASE_URL="https://yourbrand.cloudfrontend.net"

然后运行 MCP

uv run main.py

可用工具

此 MCP 提供以下用于与 DevHub CMS 交互的工具:

业务与位置管理

  • get_businesses():获取 DevHub 账户内的所有业务。返回包含业务 ID 和名称的列表。
  • get_locations(business_id):获取特定业务的所有位置。返回详细的位置信息,包括地址、坐标和 URL。
  • get_hours_of_operation(location_id, hours_type='primary'):获取特定 DevHub 位置的营业时间。返回一周中每天的时间段结构化列表。
  • update_hours(location_id, new_hours, hours_type='primary'):更新 DevHub 位置的营业时间。
  • get_nearest_location(business_id, latitude, longitude):根据地理坐标查找最近的 DevHub 位置。
  • site_from_url(url):从 URL 获取 DevHub 站点 ID 和详细信息。返回站点 ID、URL 和关联的位置 ID。

内容管理

  • get_blog_post(post_id):通过 ID 检索单篇博客文章,包括其标题、日期和 HTML 内容。
  • create_blog_post(site_id, title, content):创建一篇新的博客文章。内容应为 HTML 格式,且不应包含 H1 标签。
  • update_blog_post(post_id, title=None, content=None):更新现有博客文章的标题和/或内容。

媒体管理

  • upload_image(base64_image_content, filename):将图片上传到 DevHub 媒体库。支持 webp、jpeg 和 png 格式。图片必须以 base64 编码字符串的形式提供。

与 LLM 配合使用

此 MCP 设计用于支持模型上下文协议的大型语言模型。它允许 LLM 管理 DevHub CMS 中的内容,而无需将直接的 API 访问集成到 LLM 本身中。

测试

此包包含一个测试套件,其中包含对 DevHub API 的模拟请求,允许您在不进行实际 API 调用的情况下测试功能。

运行测试

要运行测试,请首先安装带有测试依赖项的包:

uv pip install -e ".[test]"

使用 pytest 运行测试:

uv run pytest

如需更详细的输出和测试覆盖率信息:

uv run pytest -v --cov=devhub_cms_mcp

测试结构

  • tests/devhub_cms_mcp/test_mcp_integration.py:MCP 集成端点的测试