DevHub MCP Server
官方在DevHub CMS平台内管理和利用网站内容
文档
DevHub CMS MCP
一个用于管理 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 集成端点的测试