DevHub

官方

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

你可以用 DevHub MCP 做什么?

  • 列出商家和位置 — 使用 get_businesses 检索您账户中的所有商家,并使用 get_locations 检索它们的位置。
  • 查找最近的位置 — 使用 get_nearest_location 配合坐标来识别最近的商店或办公室。
  • 管理营业时间 — 通过 get_hours_of_operation 查看当前营业时间,并使用 update_hours 进行更新。
  • 创建和更新博客文章 — 使用 create_blog_post 发布新文章,或使用 update_blog_post 编辑现有文章。
  • 上传图片到媒体库 — 通过将 base64 内容传递给 upload_image 来添加 webp、jpeg 或 png 格式的图片。

文档

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 git@github.com: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 集成端点的测试