DevHub CMS MCP
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
DevHub CMS MCP
A Model Context Protocol (MCP) integration for managing content in the DevHub CMS system.
Installation
You will need the uv package manager installed on your local system.
Manual configuration of Claude Desktop
To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json
:
After updating the config, restart Claude Desktop.
Manual configuration for Cursor
This MCP can also be used in cursor with a similar configuration from above added to your Cursor global environment or to individual projects.
Examples here
Installing via Claude Code
Claude Code's command line supports MCP installs.
You can add the devhub-cms-mcp
by updating the environment variables below
Installing via Smithery
To install DevHub CMS MCP for Claude Desktop automatically via Smithery:
Local development
Clone the repo (or your fork)
Manual configuration of Claude Desktop
To use this server with the Claude Desktop app for local development, add the following configuration to the "mcpServers" section of your claude_desktop_config.json
:
After updating the config, restart Claude Desktop.
Configuration for running with uv
directly
This MCP requires the following environment variables to be set:
Then run the MCP
Available Tools
This MCP provides the following tools for interacting with DevHub CMS:
Location Management
- get_hours_of_operation(location_id): Gets the hours of operation for a specific DevHub location. Returns a structured list of time ranges for each day of the week.
- update_hours(location_id, new_hours, hours_type='primary'): Updates the hours of operation for a DevHub location.
- get_nearest_location(business_id, latitude, longitude): Finds the nearest DevHub location based on geographic coordinates.
Content Management
- get_blog_post(post_id): Retrieves a single blog post by ID, including its 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 include an H1 tag.
- update_blog_post(post_id, title=None, content=None): Updates an existing blog post's title and/or content.
Media Management
- upload_image(base64_image_content, filename): Uploads an image to the DevHub media gallery. Supports webp, jpeg, and png formats. The image must be provided as a base64-encoded string.
Usage with LLMs
This MCP is designed to be used with Large Language Models that support the Model Context Protocol. It allows LLMs to manage content in DevHub CMS without needing direct API access integrated into the LLM natively.
Testing
This package includes a test suite with mocked requests to the DevHub API, allowing you to test the functionality without making actual API calls.
Running Tests
To run the tests, first install the package with test dependencies:
Run the tests with pytest:
For more detailed output and test coverage information:
Test Structure
tests/devhub_cms_mcp/test_mcp_integration.py
: Tests for MCP integration endpoints
This server cannot be installed
Model Context Protocol (MCP) integration for managing content in the DevHub CMS system (blog posts, content, location administration)