MCP Server Builder
shareAI-lab/learn-claude-code
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
Builds production MCP servers via 4-phase methodology: research, implement, test, evaluate.
$ npx skills add softspark/ai-toolkit --skill mcp-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install softspark/ai-toolkit mcp-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/app/skills/mcp-builder .claude/skills/mcp-builder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mcp-builder" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/mcp-builder into .claude/skills/mcp-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcp-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/softspark/ai-toolkit/tree/main/app/skills/mcp-builderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add softspark/ai-toolkit --skill mcp-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install softspark/ai-toolkit mcp-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/app/skills/mcp-builder .agents/skills/mcp-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mcp-builder" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/mcp-builder into .agents/skills/mcp-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcp-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add softspark/ai-toolkit --skill mcp-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install softspark/ai-toolkit mcp-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/app/skills/mcp-builder .cursor/skills/mcp-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mcp-builder" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/mcp-builder into .cursor/skills/mcp-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcp-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/softspark/ai-toolkit.git --path app/skills/mcp-builder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add softspark/ai-toolkit --skill mcp-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install softspark/ai-toolkit mcp-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/app/skills/mcp-builder .gemini/skills/mcp-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mcp-builder" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/mcp-builder into .gemini/skills/mcp-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcp-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install softspark/ai-toolkit mcp-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add softspark/ai-toolkit --skill mcp-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/app/skills/mcp-builder .github/skills/mcp-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mcp-builder" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/mcp-builder into .github/skills/mcp-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcp-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add softspark/ai-toolkit --skill mcp-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install softspark/ai-toolkit mcp-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/app/skills/mcp-builder .opencode/skills/mcp-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mcp-builder" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/mcp-builder into .opencode/skills/mcp-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcp-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mcp-builderBuilds production MCP servers via 4-phase methodology: research, implement, test, evaluate.
MCP Builder is an agent skill from softspark/ai-toolkit. Builds production MCP servers via 4-phase methodology: research, implement, test, evaluate. Triggers: build MCP, new MCP, MCP integration, MCP server scaffold.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol, npm and Python. The repository describes itself as: Professional-grade AI coding toolkit: 94 skills, 44 agents, multi-platform (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, Antigravity, Codex CLI… The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d64db2b. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmnpxclauderuffmypypytestFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
modelcontextprotocol.iogithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GITHUB_TOKENAPI_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
MCP Builder loads about 2.1k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 1,024 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Bash, Grep, GlobAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from softspark/ai-toolkit at commit d64db2b, republished under its Apache-2.0 licence (© softspark). 1,024 words, ~2,125 tokens.
.claude/skills/mcp-builder/SKILL.md (or your agent's skills folder).$ARGUMENTS
Build a production-grade MCP server following Anthropic's 4-phase methodology.
For MCP protocol theory, see mcp-patterns knowledge skill (auto-loaded).
stdio for local dev tools, streamable-http for remote/shared.mcp package).Output: PLAN.md with tool list, transport choice, auth model.
Scaffold:
my-mcp/
├── package.json # or pyproject.toml
├── src/
│ ├── server.ts # entry point
│ ├── client.ts # API client (axios/httpx)
│ ├── tools/ # one file per tool
│ ├── schemas.ts # Zod/Pydantic schemas
│ └── errors.ts # typed errors
├── .env.example
└── README.mdPer tool:
name with service prefix (e.g. github_create_issue)readOnlyHint, destructiveHint, idempotentHint, openWorldHintcursor or page parametersnpm run typecheck && npm run lint && npm testruff check . && mypy --strict src/ && pytestnpx @modelcontextprotocol/inspector node dist/server.jsWrite 10 realistic end-user questions that an LLM should be able to answer using your server. Run them through Claude with the server attached. Grade: did the model call the right tool? Did the response give enough to answer? Fix the description, schema, or response format of any tool that failed.
Example eval questions for a github-mcp:
bug?"When a tool fails an eval, the cause is almost always the description, not the schema. Score each tool against the description rubric in mcp-patterns (one-line purpose, WHEN TO USE, WHEN NOT TO USE, CRITICAL, self-test). A tool with an empty WHEN NOT TO USE is under-specified — it will misfire the moment a second tool in the same server overlaps with it, so add the boundary before re-running the eval. See mcp-patterns → "How to Write a Tool Description" for the full rubric and worked example.
mcp-patterns rubric)object with additionalProperties: trueGITHUB_TOKEN env var")| Scenario | Transport |
|---|---|
| Local dev tool, 1 user | stdio |
| Remote server, multiple users | streamable-http with SSE |
| Internal company tool, auth required | streamable-http + OAuth proxy |
| Embedded in IDE/editor | stdio spawned by editor |
Local Claude Code (.mcp.json):
{
"mcpServers": {
"my-mcp": {
"command": "node",
"args": ["dist/server.js"],
"env": { "API_KEY": "$MY_API_KEY" }
}
}
}Global Claude Code (user-scope):
claude mcp add my-mcp --scope user -- node /path/to/server.jsClaude Desktop: same JSON, placed in ~/Library/Application Support/Claude/claude_desktop_config.json (macOS).
| Mistake | Fix |
|---|---|
| 1:1 API mirror with 80 tools | Pick 10 workflow-oriented tools |
description: "wrapper for /users endpoint" | description: "Find users by email, role, or team. Use when the user mentions employees, staff, or access" |
| Dumping raw JSON responses | Filter to 3-5 fields the agent actually needs |
| Logging API keys on error | Redact all env vars in error formatters |
exit 1 on transient errors | Retry with exponential backoff, surface final error |
| Stdout pollution (MCP stdio) | All logs go to stderr, stdout is JSON-RPC only |
additionalProperties: true lets the model invent fields and drift.readOnlyHint, destructiveHint, idempotentHint, openWorldHint — the host uses these for safety UIs and auto-approval policiesstdio transport, all logs go to stderr. Any stdout write that is not a JSON-RPC message breaks the client.stdio transport sends the server's stdout directly to the client as protocol frames. A stray print() or console.log() crashes the client with a parse error and no clear diagnostic. Route all logs through a logger that writes to stderr.description: "calls POST /api/v2/tickets" tells the model nothing about intent. Describe when to use, not what it does at the HTTP level.readOnlyHint, etc.) are optional in the spec but some hosts (Claude Desktop, Cursor) gate auto-approval on them. Missing destructiveHint: true on a delete tool may cause the client to run it silently.streamable-http with SSE requires the server to handle client reconnects with a Last-Event-ID header. Many quick-start templates skip this and drop events on flaky networks./skill-creator/agent-creator/plugin-creator/mcp-patterns (knowledge skill)mcp-testing-engineer agentmcp-patterns — protocol reference (auto-loaded knowledge skill)mcp-specialist agent — for deep MCP design questionsmcp-testing-engineer agent — for protocol conformance testing© softspark, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in app/skills/mcp-builder of softspark/ai-toolkit.
Open the folder on GitHubat commit d64db2b
MCP Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| MCP Builder this skillsoftspark/ai-toolkit | 179 | — | ~2.1k | Automated safety check: Notes | Apache-2.0 | |
| MCP Server BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Context7 MCP Skillholon-run/uxc | 116 | — | ~564 | Automated safety check: Pass | MIT | |
| MCP AuthoringOtoDock/oto-dock | 190 | — | ~1.3k | Automated safety check: Notes | Custom licence | |
| Fmodel Unpackpa001024/dna-builder | 136 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Zizkadb ReleaseZIZKA-AI-SL/ZizkaDB | 123 | — | ~399 | Automated safety check: Pass | Custom licence |
shareAI-lab/learn-claude-code
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
holon-run/uxc
Query up-to-date library documentation and code examples using Context7 MCP.
OtoDock/oto-dock
Author an MCP package for OtoDock: the manifest.json fields and their rules, the package layout, what the installer refuses or drops, credentials and instances, skills bundled with an MCP, and the…
pa001024/dna-builder
This skill documents how to use the fmodel-mcp toolkit (a CUE4Parse-based .NET CLI plus a thin Python MCP server) to inspect and export Unreal Engine game assets — pak files, textures, meshes…
ZIZKA-AI-SL/ZizkaDB
Bumps versions, runs pre-push verification, and publishes ZizkaDB SDK and MCP packages.
oaslananka/kicad-mcp-pro
A skill your agent uses for GitHub Copilot pull request and code reviews in oaslananka/kicad-mcp-pro.
softspark/ai-toolkit
Prepare or verify a project QA environment with source identity, readiness, browser access, evidence paths and owned cleanup.
softspark/ai-toolkit
Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit.
softspark/ai-toolkit
Analyzes code quality, complexity, patterns across codebase.
softspark/ai-toolkit
Drives a brief, specification, issue or existing PR through implementation, review, tests and QA to a ready PR.
softspark/ai-toolkit
Direct technical voice for docs, README, user-facing text. An agent skill from softspark/ai-toolkit.
softspark/ai-toolkit
Detect/generate/debug CI pipeline config (GitHub Actions, GitLab CI).
Works with
Categories
Builds production MCP servers via 4-phase methodology: research, implement, test, evaluate. MCP Builder is an agent skill from softspark/ai-toolkit. Builds production MCP servers via 4-phase methodology: research, implement, test, evaluate.
MCP Builder fits situations like: tasks that involve MCP servers.
Run `npx skills add softspark/ai-toolkit --skill mcp-builder -a claude-code`. Or copy the skill folder (app/skills/mcp-builder in softspark/ai-toolkit) into .claude/skills/mcp-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add softspark/ai-toolkit --skill mcp-builder -a codex`. Or copy the skill folder (app/skills/mcp-builder in softspark/ai-toolkit) into .agents/skills/mcp-builder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add softspark/ai-toolkit --skill mcp-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mcp-builder, .gemini/skills/mcp-builder, .github/skills/mcp-builder and .opencode/skills/mcp-builder in your project.
Going by SKILL.md and its folder, MCP Builder needs the command-line tools its instructions call (npm, npx, claude, ruff, mypy and pytest) and credentials named GITHUB_TOKEN and API_KEY. Our summary lists: Python 3; Node.js; A credential in GITHUB_TOKEN; A credential in API_KEY. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Grep, Glob.
SKILL.md names 2 domains. As links in the text: modelcontextprotocol.io and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
MCP Builder is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with MCP Builder: MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), Context7 MCP Skill (holon-run/uxc, 116 stars), MCP Authoring (OtoDock/oto-dock, 190 stars) and Fmodel Unpack (pa001024/dna-builder, 136 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
softspark (a GitHub user) maintains it in softspark/ai-toolkit, which has 179 GitHub stars. The repository holds 112 skills in this directory. The repository was last updated on October 7, 2026.
Source: softspark/ai-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.