mcp-deploy-mcp
by upascal
README.md
# MCP Deploy Assistant (`mcp-deploy-mcp`)
A remote MCP server that helps Claude design, scaffold, and validate MCP servers compatible with the [mcp-deploy](https://github.com/upascal/mcp-deploy) platform — and is itself deployed by it.
## Tools
| Tool | Purpose |
|---|---|
| `get_help` | Platform overview + topic guides (worker format, manifest, tool design, testing/release, auth, gotchas) |
| `scaffold_mcp` | Generate a complete, working repo for a new MCP (13 files, pre-validated) |
| `get_manifest_schema` | JSON Schema + naming rules + reserved keys for `mcp-deploy.json`; optional live upstream drift check |
| `validate_manifest` | Validate a drafted manifest, with optional `wrangler.jsonc` cross-check |
| `check_repo_compatibility` | Verify a GitHub repo's release carries deployable assets and a valid manifest |
| `get_example` | Minimal scaffolded repo + the production paper-search manifest |
## How it stays fresh
All servable knowledge lives in [`content/`](content/). It's bundled into the worker at build time as a fallback, but at runtime the worker fetches the latest `content/` from this repo's `main` branch (cached ~6h in the Durable Object's SQLite). **Editing `content/` and pushing to `main` updates every deployed instance — no release or redeploy needed.** Code changes (validation rules, new tools) ship via tagged releases like any mcp-deploy MCP.
Tool responses tag where content came from: `live`, `cached`, or `bundled@<version>`.
## Development
```bash
npm install
npm run dev # wrangler dev — http://localhost:8787 (health at /, MCP at /mcp)
npm test # vitest (network-dependent tests skip gracefully when rate-limited)
npm run typecheck
npm run build # produces dist/worker.mjs
```
## Releasing
```bash
# bump "version" in mcp-deploy.json, package.json, and src/content.ts (VERSION), then:
git tag v0.1.0
git push origin main v0.1.0
```
CI attaches `worker.mjs` + `mcp-deploy.json` to the GitHub Release — the two assets the platform deploys from.
## Secrets
None required. Optional `GITHUB_TOKEN` raises GitHub API rate limits for `check_repo_compatibility` (Workers share egress IPs, so the unauthenticated 60/hr pool is sometimes exhausted).
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues