Skip to main content

DevHub CMS integration through the Model Context Protocol

Project description

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.

Clone the repo

git clone git@github.com:devhub/devhub-cms-mcp.git

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

Configuration

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"

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devhub_cms_mcp-0.1.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devhub_cms_mcp-0.1.0-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file devhub_cms_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: devhub_cms_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.6

File hashes

Hashes for devhub_cms_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 65a652cc2e464c8438dfaa0ba71fca3d2790048402a9aca0821d477ac493b8b7
MD5 0a14ff5dfea9a11658e5ff9c2bdf2d56
BLAKE2b-256 d8a70140ca67d6ff33925caa933af57f738a601f0b5e78e8693df35f5ad872e9

See more details on using hashes here.

File details

Details for the file devhub_cms_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for devhub_cms_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9fc90b893fc7ef9a9407fb7316350a361be296ac81f69cebabc7ae528965bca
MD5 0abcbcc683bdb5feb4ca701cd6da3aa4
BLAKE2b-256 d199c00d4b8ae79a9e079fedaa003293f2c01bc33294ea1dd0b225562893821c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page