Skip to content

Commit 7962096

Browse files
Deployment: Dockerfile and Smithery config (#2)
* Add Dockerfile * Add Smithery configuration * Update README --------- Co-authored-by: smithery-ai[bot] <194235850+smithery-ai[bot]@users.noreply.github.com>
1 parent 1f268f0 commit 7962096

3 files changed

Lines changed: 74 additions & 1 deletion

File tree

Dockerfile

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
2+
FROM python:3.10-alpine
3+
4+
# Set work directory
5+
WORKDIR /app
6+
7+
# Install build dependencies
8+
RUN apk add --no-cache gcc musl-dev libffi-dev openssl-dev
9+
10+
# Copy project files
11+
COPY pyproject.toml ./
12+
COPY main.py ./
13+
COPY src/ ./src/
14+
COPY README.md ./
15+
COPY uv.lock ./
16+
COPY tests/ ./tests/
17+
18+
# Install pip and project dependencies
19+
RUN pip install --upgrade pip \
20+
&& pip install .
21+
22+
# Expose port if necessary (not required for stdio transport)
23+
24+
# Default command to run the MCP server
25+
CMD ["python", "main.py"]

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
# DevHub CMS MCP
22

3+
[![smithery badge](https://smithery.ai/badge/@devhub/devhub-cms-mcp)](https://smithery.ai/server/@devhub/devhub-cms-mcp)
4+
35
A Model Context Protocol (MCP) integration for managing content in the [DevHub CMS system](https://www.devhub.com/).
46

57
## Installation
68

79
You will need the [uv](https://github.com/astral-sh/uv) package manager installed on your local system.
810

11+
### Installing via Smithery
12+
13+
To install DevHub CMS MCP for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@devhub/devhub-cms-mcp):
14+
15+
```bash
16+
npx -y @smithery/cli install @devhub/devhub-cms-mcp --client claude
17+
```
18+
919
### Manual configuration of Claude Desktop
1020

1121
To use this server with the [Claude Desktop app](https://claude.ai/download), add the following configuration to the "mcpServers" section of your `claude_desktop_config.json`:
@@ -137,4 +147,4 @@ pytest -v --cov=devhub_cms_mcp
137147

138148
### Test Structure
139149

140-
- `tests/devhub_cms_mcp/test_mcp_integration.py`: Tests for MCP integration endpoints
150+
- `tests/devhub_cms_mcp/test_mcp_integration.py`: Tests for MCP integration endpoints

smithery.yaml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2+
3+
startCommand:
4+
type: stdio
5+
configSchema:
6+
# JSON Schema defining the configuration options for the MCP.
7+
type: object
8+
required:
9+
- devhubApiKey
10+
- devhubApiSecret
11+
- devhubBaseUrl
12+
properties:
13+
devhubApiKey:
14+
type: string
15+
description: DevHub API Key for authentication.
16+
devhubApiSecret:
17+
type: string
18+
description: DevHub API Secret for authentication.
19+
devhubBaseUrl:
20+
type: string
21+
description: Base URL for the DevHub CMS API, e.g.
22+
https://yourbrand.cloudfrontend.net
23+
commandFunction:
24+
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
25+
|-
26+
(config) => ({
27+
command: 'python',
28+
args: ['main.py'],
29+
env: {
30+
DEVHUB_API_KEY: config.devhubApiKey,
31+
DEVHUB_API_SECRET: config.devhubApiSecret,
32+
DEVHUB_BASE_URL: config.devhubBaseUrl
33+
}
34+
})
35+
exampleConfig:
36+
devhubApiKey: example_api_key
37+
devhubApiSecret: example_api_secret
38+
devhubBaseUrl: https://example.devhub.com

0 commit comments

Comments
 (0)