SuperAPI AI 工具集

devhub-cms-mcp

DevHub CMS MCP 是一个通过 Model Context Protocol(模型上下文协议,简称 MCP)与 DevHub CMS 内容管理系统集成的工具,属于 AI 开发平台类别。它允许支持 MCP 的大型语言模型(如 Claude Desktop)直接管理和操作 DevHub CMS 中的网站内容。该工具提供了一系列具体功能:业务与位置管理(获取所有业务、获取特定业务下的位置、获取和更新营业时间、根据经纬度查找最近位置、根据 URL 获取站点信息),内容管理(获取、创建、更新博客文章),以及媒体管理(上传图片)。使用前需要在本地系统安装 uv 包管理器,并配置相应的环境变量。它支持通过 Claude Desktop、Cursor、Claude Code 命令行以及 Smithery 进行安装和配置。该工具还包含测试套件,使用模拟的 DevHub API 请求,方便在无需实际 API 调用的情况下测试功能。

访问官网

工具介绍

DevHub CMS MCP 是一个基于 Model Context Protocol(MCP)的集成工具,用于在 DevHub CMS 系统中管理内容。它作为中间层,让支持 MCP 的大型语言模型(LLM)能够直接操作 DevHub CMS,而无需在 LLM 中内置直接的 API 访问能力。

主要用途

该工具旨在将 DevHub CMS 的内容管理能力通过 MCP 协议暴露给 LLM,使 LLM 可以执行诸如获取业务信息、管理位置、更新营业时间、处理博客文章和上传图片等操作。

主要能力

该 MCP 提供以下工具:

业务与位置管理

  • get_businesses():获取 DevHub 账户内的所有业务,返回业务列表及其 ID 和名称。
  • get_locations(business_id):获取特定业务的所有位置,返回包括地址、坐标和 URL 在内的详细位置信息。
  • get_hours_of_operation(location_id, hours_type='primary'):获取特定位置的营业时间,返回一周中每天的时间段结构化列表。
  • update_hours(location_id, new_hours, hours_type='primary'):更新特定位置的营业时间。
  • 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 编码字符串提供。

使用方式

使用该 MCP 需要本地系统安装 uv 包管理器,并设置必要的环境变量。配置方式包括:

  • 在 Claude Desktop 的 claude_desktop_config.json 文件的 mcpServers 部分添加配置,然后重启 Claude Desktop。
  • 在 Cursor 中使用,将类似配置添加到 Cursor 全局环境或单个项目。
  • 通过 Claude Code 命令行安装,更新环境变量。
  • 通过 Smithery 自动安装到 Claude Desktop。

本地开发时,可克隆仓库并配置 mcpServers 部分。运行 MCP 需要设置指定的环境变量。

适用场景

该工具适用于需要通过 LLM 管理 DevHub CMS 内容的场景,例如批量更新营业时间、创建或修改博客文章、上传媒体文件、查询业务和位置信息等。

限制

  • 需要本地安装 uv 包管理器。
  • 需要正确配置环境变量。
  • 创建博客文章时内容不应包含 H1 标签。
  • 上传图片仅支持 webp、jpeg 和 png 格式,且需 base64 编码。
  • 该工具设计用于支持 MCP 的 LLM,如 Claude Desktop。

测试

该包包含测试套件,使用模拟的 DevHub API 请求,允许在不进行实际 API 调用的情况下测试功能。安装测试依赖后,可使用 pytest 运行测试,并查看详细输出和测试覆盖率信息。测试文件位于 tests/devhub_cms_mcp/test_mcp_integration.py。