SuperAPI AI Directory

devhub-cms-mcp

Manage and utilize website content within the DevHub CMS platform

Open website

About this tool

DevHub CMS MCP is an integration tool based on the Model Context Protocol (MCP), used to manage content in the DevHub CMS system. It acts as an intermediate layer, enabling large language models (LLMs) that support MCP to directly operate DevHub CMS without needing built-in direct API access capabilities in the LLM.

Main Purpose

The tool is designed to expose DevHub CMS's content management capabilities to LLMs through the MCP protocol, enabling LLMs to perform operations such as retrieving business information, managing locations, updating business hours, handling blog posts, and uploading images.

Main Capabilities

This MCP provides the following tools:

Business and Location Management

  • get_businesses(): Retrieves all businesses within the DevHub account, returning a list of businesses with their IDs and names.
  • get_locations(business_id): Retrieves all locations for a specific business, returning detailed location information including address, coordinates, and URL.
  • get_hours_of_operation(location_id, hours_type='primary'): Retrieves the business hours for a specific location, returning a structured list of time periods for each day of the week.
  • update_hours(location_id, new_hours, hours_type='primary'): Updates the business hours for a specific location.
  • get_nearest_location(business_id, latitude, longitude): Finds the nearest DevHub location based on geographic coordinates.
  • site_from_url(url): Retrieves the DevHub site ID and detailed information from a URL, returning the site ID, URL, and related location ID.

Content Management

  • get_blog_post(post_id): Retrieves a single blog post by ID, including title, date, and HTML content.
  • create_blog_post(site_id, title, content): Creates a new blog post; the content should be in HTML format and should not contain H1 tags.
  • update_blog_post(post_id, title=None, content=None): Updates the title and/or content of an existing blog post.

Media Management

  • upload_image(base64_image_content, filename): Uploads images to the DevHub media library, supporting webp, jpeg, and png formats; images must be provided as base64-encoded strings.

Usage

Using this MCP requires the uv package manager to be installed on the local system and the necessary environment variables to be set. Configuration methods include:

  • Adding the configuration to the claude_desktop_config.json file's mcpServers section in Claude Desktop, then restarting Claude Desktop.
  • Using it in Cursor by adding a similar configuration to Cursor's global environment or an individual project.
  • Installing via the Claude Code command line and updating the environment variables.
  • Installing automatically to Claude Desktop via Smithery.

For local development, you can clone the repository and configure the mcpServers section. Running the MCP requires setting the specified environment variables.

Applicable Scenarios

This tool is suitable for scenarios that require managing DevHub CMS content through an LLM, such as batch updating business hours, creating or modifying blog posts, uploading media files, and querying business and location information.

Limitations

  • Requires local installation of the uv package manager.
  • Requires correct configuration of environment variables.
  • When creating blog posts, the content should not contain H1 tags.
  • Image uploads only support webp, jpeg, and png formats, and require base64 encoding.
  • This tool is designed for LLMs that support MCP, such as Claude Desktop.

Testing

This package includes a test suite that uses mocked DevHub API requests, allowing functionality to be tested without making actual API calls. After installing the test dependencies, tests can be run with pytest, and detailed output and test coverage information can be viewed. The test files are located in tests/devhub_cms_mcp/test_mcp_integration.py。