Navigation
DevHub CMS MCP: Unified Content Mastery & Effortless Task Control - MCP Implementation

DevHub CMS MCP: Unified Content Mastery & Effortless Task Control

Effortlessly manage blogs, hours & all DevHub CMS content with MCP. One platform, seamless control, endless productivity.

Developer Tools
4.4(70 reviews)
105 saves
49 comments

Ranked in the top 7% of all AI tools in its category

About DevHub CMS MCP

What is DevHub CMS MCP: Unified Content Mastery & Effortless Task Control?

DevHub CMS MCP is a Model Context Protocol (MCP) integration designed to streamline content management and task automation within the DevHub CMS ecosystem. It acts as a bridge between Large Language Models (LLMs) and the DevHub platform, enabling seamless access to critical operations like content creation, location management, and media handling—all without requiring direct API integration into the LLM itself. This tool empowers developers and content managers to centralize workflows and reduce manual effort.

How to Use DevHub CMS MCP: Unified Content Mastery & Effortless Task Control?

Getting Started

1. Install the uv package manager: Ensure uv is installed locally.
2. Configure for Claude Desktop: Add the MCP server details to your claude_desktop_config.json, specifying environment variables like DEVHUB_API_KEY and DEVHUB_BASE_URL.
3. Local Development Setup: Clone the repository and run the MCP via uv run main.py after setting up environment variables.

Integration with Cursor

Configure the MCP in your Cursor environment by adding the server details to your global or project-specific settings, following guidelines from the official Cursor docs.

DevHub CMS MCP Features

Key Features of DevHub CMS MCP

  • Location Management: Retrieve, update, or find nearby locations using geocoordinates.
  • Content Mastery: Create, edit, and fetch blog posts with HTML content, ensuring H1-free formatting.
  • Media Handling: Upload images in webp/jpeg/png formats via base64 encoding.
  • Test-Driven Development: A built-in test suite mocks API requests for safe, environment-free validation.

These features are exposed through tools like get_hours_of_operation() and upload_image(), making complex workflows accessible to LLMs via standardized function calls.

Use Cases of DevHub CMS MCP

1. Automated Content Updates: Let LLMs draft and publish blog posts directly to DevHub.
2. Dynamic Location Sync: Keep operating hours in sync across all platforms using real-time data feeds.
3. Media Asset Automation: Bulk-upload images or validate formats before deployment.
4. QA and Testing: Run mock tests to ensure MCP integrations work without hitting live APIs.

These use cases highlight the MCP’s role as a versatile middleware, enabling both routine tasks and complex automation.

DevHub CMS MCP FAQ

FAQ from DevHub CMS MCP

Do I need to write custom API code to use this?
No! The MCP abstracts DevHub’s API into standardized functions. Just configure the server and call the tools provided.
Can I test without a live DevHub account?
Absolutely. The test suite mocks API responses, allowing validation without API keys or real data.
Does this work with multiple platforms?
Yes! Configured for Claude Desktop and Cursor, with MCP protocol compatibility for other LLMs.
What if my environment variables aren’t set?
The server will fail gracefully. Double-check your .env or configuration JSON for missing keys like DEVHUB_API_SECRET.

Content

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:

{
    "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"
            }
        }
    }
}

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

Local development

Clone the repo (or your fork)

git clone [[email protected]](/cdn-cgi/l/email-protection):devhub/devhub-cms-mcp.git

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:

{
    "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"
            }
        }
    }
}

After updating the config, restart Claude Desktop.

Configuration for running with uv directly

This MCP requires the following environment variables to be set:

export DEVHUB_API_KEY="your_api_key"
export DEVHUB_API_SECRET="your_api_secret"
export DEVHUB_BASE_URL="https://yourbrand.cloudfrontend.net"

Then run the MCP

uv run main.py

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:

uv pip install -e ".[test]"

Run the tests with pytest:

pytest

For more detailed output and test coverage information:

pytest -v --cov=devhub_cms_mcp

Test Structure

  • tests/devhub_cms_mcp/test_mcp_integration.py: Tests for MCP integration endpoints

Related MCP Servers & Clients