Skip to content

Commit a58e6da

Browse files
markomanninenclaude
andcommitted
docs: Add MCP Registry publishing guide
Added comprehensive guide for publishing mcp-debugpy to the official MCP Registry, including: - Prerequisites and MCP Publisher CLI installation - Step-by-step publishing process - server.json configuration example - PyPI publishing requirements - Troubleshooting tips - Update workflow for new versions This enables easy discovery and installation of mcp-debugpy through the official MCP Registry at https://registry.modelcontextprotocol.io 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 10ed5ad commit a58e6da

2 files changed

Lines changed: 189 additions & 0 deletions

File tree

PUBLISHING_GUIDE.md

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
# Publishing mcp-debugpy to the MCP Registry
2+
3+
This guide explains how to publish mcp-debugpy to the official MCP Registry.
4+
5+
## Prerequisites
6+
7+
1. **Install MCP Publisher CLI**
8+
```bash
9+
brew install mcp-publisher
10+
# OR download from: https://github.com/modelcontextprotocol/registry/releases
11+
```
12+
13+
2. **Publish to PyPI First**
14+
The MCP Registry references PyPI packages, so publish there first:
15+
```bash
16+
# Install build tools
17+
pip install build twine
18+
19+
# Build distribution
20+
python -m build
21+
22+
# Upload to PyPI
23+
twine upload dist/*
24+
```
25+
26+
## Publishing Steps
27+
28+
### Step 1: Initialize server.json
29+
30+
Run the init command in your project root:
31+
```bash
32+
cd /path/to/mcp-debugpy
33+
mcp-publisher init
34+
```
35+
36+
This will auto-generate a `server.json` file with detected values.
37+
38+
### Step 2: Edit server.json
39+
40+
Customize the generated file. Here's the recommended configuration:
41+
42+
```json
43+
{
44+
"name": "io.github.markomanninen/mcp-debugpy",
45+
"title": "Agent Debug Tools - Python Debugging with debugpy",
46+
"description": "MCP server for AI-assisted Python debugging using debugpy and Debug Adapter Protocol. Features breakpoint validation, enhanced error messages, and comprehensive testing tools.",
47+
"version": "0.2.1",
48+
"packages": {
49+
"pypi": {
50+
"name": "mcp-debugpy",
51+
"version": ">=0.2.1"
52+
}
53+
},
54+
"runtime": {
55+
"python": {
56+
"command": "mcp-debug-server",
57+
"args": []
58+
}
59+
},
60+
"capabilities": [
61+
"debugging",
62+
"testing",
63+
"breakpoint-validation"
64+
],
65+
"metadata": {
66+
"author": "markomanninen",
67+
"homepage": "https://github.com/markomanninen/mcp-debugpy",
68+
"repository": "https://github.com/markomanninen/mcp-debugpy",
69+
"license": "MIT",
70+
"tags": ["debugging", "python", "debugpy", "dap", "testing", "pytest"]
71+
}
72+
}
73+
```
74+
75+
### Step 3: Add MCP Metadata to README
76+
77+
Add this line to your README.md:
78+
```markdown
79+
<!-- MCP Registry Metadata -->
80+
mcp-name: io.github.markomanninen/mcp-debugpy
81+
```
82+
83+
### Step 4: Authenticate with GitHub
84+
85+
Since we're using the `io.github.markomanninen/*` namespace:
86+
```bash
87+
mcp-publisher auth
88+
```
89+
90+
This will prompt you to login with GitHub OAuth.
91+
92+
### Step 5: Publish to Registry
93+
94+
```bash
95+
mcp-publisher publish
96+
```
97+
98+
The CLI will:
99+
- Validate your server.json
100+
- Verify namespace ownership (GitHub authentication)
101+
- Check that the PyPI package exists
102+
- Publish to the MCP Registry
103+
104+
### Step 6: Verify Publication
105+
106+
Visit the MCP Registry to confirm:
107+
- https://registry.modelcontextprotocol.io
108+
- Search for "mcp-debugpy"
109+
110+
## Usage After Publishing
111+
112+
Users can now install your server easily:
113+
114+
**From MCP Registry:**
115+
```bash
116+
# Clients can discover and install automatically
117+
# Or manually:
118+
pip install mcp-debugpy
119+
```
120+
121+
**Configuration Example:**
122+
```json
123+
{
124+
"mcpServers": {
125+
"agentDebug": {
126+
"command": "mcp-debug-server",
127+
"args": []
128+
}
129+
}
130+
}
131+
```
132+
133+
## Updating the Registry
134+
135+
When you release a new version:
136+
137+
1. Update version in `pyproject.toml`
138+
2. Publish to PyPI
139+
3. Update `version` in `server.json`
140+
4. Run `mcp-publisher publish` again
141+
142+
## Troubleshooting
143+
144+
**Namespace verification failed:**
145+
- Ensure you're logged in as the correct GitHub user
146+
- The username in the namespace must match your GitHub username
147+
148+
**PyPI package not found:**
149+
- Publish to PyPI before the registry
150+
- Wait a few minutes for PyPI to index
151+
152+
**server.json validation errors:**
153+
- Check the schema at: https://github.com/modelcontextprotocol/registry/tree/main/docs/reference
154+
155+
## Resources
156+
157+
- MCP Registry: https://registry.modelcontextprotocol.io
158+
- Publisher Guide: https://github.com/modelcontextprotocol/registry/blob/main/docs/guides/publishing/publish-server.md
159+
- PyPI: https://pypi.org/project/mcp-debugpy/

server.json.example

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"name": "io.github.markomanninen/mcp-debugpy",
3+
"title": "Agent Debug Tools - Python Debugging with debugpy",
4+
"description": "MCP server for AI-assisted Python debugging using debugpy and Debug Adapter Protocol. Features breakpoint validation, enhanced error messages, and comprehensive testing tools.",
5+
"version": "0.2.1",
6+
"packages": {
7+
"pypi": {
8+
"name": "mcp-debugpy",
9+
"version": ">=0.2.1"
10+
}
11+
},
12+
"runtime": {
13+
"python": {
14+
"command": "mcp-debug-server",
15+
"args": []
16+
}
17+
},
18+
"capabilities": [
19+
"debugging",
20+
"testing",
21+
"breakpoint-validation"
22+
],
23+
"metadata": {
24+
"author": "markomanninen",
25+
"homepage": "https://github.com/markomanninen/mcp-debugpy",
26+
"repository": "https://github.com/markomanninen/mcp-debugpy",
27+
"license": "MIT",
28+
"tags": ["debugging", "python", "debugpy", "dap", "testing", "pytest"]
29+
}
30+
}

0 commit comments

Comments
 (0)