MCP Developer
Jeffallan/claude-skills
Builds and debugs MCP servers and clients in TypeScript or Python, from tool and resource definitions to transport setup and inspector-based protocol checks.
Methodology for designing, implementing and testing Model Context Protocol servers in TypeScript or Python, covering tool design, error handling and security, in Chinese.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add jnMetaCode/superpowers-zh --skill mcp-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jnMetaCode/superpowers-zh 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/jnMetaCode/superpowers-zh.git skills-src && mkdir -p .claude/skills && cp -r skills-src/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/jnMetaCode/superpowers-zh/tree/main/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/jnMetaCode/superpowers-zh/tree/main/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 jnMetaCode/superpowers-zh --skill mcp-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jnMetaCode/superpowers-zh mcp-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jnMetaCode/superpowers-zh.git skills-src && mkdir -p .agents/skills && cp -r skills-src/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/jnMetaCode/superpowers-zh/tree/main/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 jnMetaCode/superpowers-zh --skill mcp-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jnMetaCode/superpowers-zh mcp-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jnMetaCode/superpowers-zh.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/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/jnMetaCode/superpowers-zh/tree/main/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/jnMetaCode/superpowers-zh.git --path 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 jnMetaCode/superpowers-zh --skill mcp-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jnMetaCode/superpowers-zh mcp-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jnMetaCode/superpowers-zh.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/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/jnMetaCode/superpowers-zh/tree/main/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 jnMetaCode/superpowers-zh 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 jnMetaCode/superpowers-zh --skill mcp-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jnMetaCode/superpowers-zh.git skills-src && mkdir -p .github/skills && cp -r skills-src/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/jnMetaCode/superpowers-zh/tree/main/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 jnMetaCode/superpowers-zh --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 jnMetaCode/superpowers-zh mcp-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jnMetaCode/superpowers-zh.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/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/jnMetaCode/superpowers-zh/tree/main/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-builderMethodology for designing, implementing and testing Model Context Protocol servers in TypeScript or Python, covering tool design, error handling and security, in Chinese.
The skill starts with the three MCP primitives and how to choose between them: tools for actions with side effects, resources for read-only data identified by URIs, and prompts for predefined interaction templates. It gives project layouts for TypeScript with `@modelcontextprotocol/sdk` and `zod`, and for Python with `mcp` and `pydantic`.
Tool design rules cover verb-first snake_case names, typed and described parameters, defaults for optional ones, enums instead of boolean switches, and descriptions that state purpose, return value and limits. Errors follow four principles: never crash the server, return actionable messages, set `isError: true`, and separate error types. Further sections cover connection pooling, timeouts and graceful shutdown, unit tests that keep business logic apart from MCP registration, integration tests with linked in-memory transports, and the MCP Inspector for interactive debugging. A security section on least privilege and separated read and write tools is cut off in the excerpt.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fe34019. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
MCP Server Builder loads about 1.4k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 250 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 found no risky patterns in SKILL.md.
Automated 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 jnMetaCode/superpowers-zh at commit fe34019, republished under its MIT licence (© jnMetaCode). 250 words, ~1,392 tokens.
.claude/skills/mcp-builder/SKILL.md (or your agent's skills folder).系统化设计、实现、测试和部署 Model Context Protocol 服务器的方法论。
MCP 定义三种原语:
users://{id}/profile。选择原则: 执行操作 → Tool | 读取数据 → Resource | 引导交互 → Prompt
my-mcp-server/
├── src/
│ ├── index.ts # 入口,注册 tools/resources
│ ├── tools/ # 按功能拆分
│ ├── resources/
│ └── lib/ # 客户端封装、校验逻辑
├── tests/
├── package.json
└── tsconfig.json关键依赖:@modelcontextprotocol/sdk + zod
my-mcp-server/
├── src/my_mcp_server/
│ ├── server.py
│ ├── tools/
│ └── lib/
├── tests/
└── pyproject.toml关键依赖:mcp + pydantic
snake_case 格式,动词开头:search_users、create_issue、delete_file.describe() 描述server.tool("search_issues", {
query: z.string().describe("搜索关键词"),
status: z.enum(["open", "closed", "all"]).default("open").describe("状态筛选"),
limit: z.number().min(1).max(100).default(20).describe("返回上限"),
}, async ({ query, status, limit }) => { /* ... */ });说明用途 + 返回内容 + 限制,这是 AI 选择工具的关键依据:
server.tool("search_users",
"根据姓名或邮箱搜索用户。返回 ID、姓名、邮箱列表。模糊匹配,最多 50 条。",
schema, handler);content: [{ type: "text", text: "..." }] 格式返回用 Zod/Pydantic 做 Schema 级校验,业务级校验放 handler 开头:
server.tool("get_user", { id: z.string() }, async ({ id }) => {
try {
const user = await db.getUser(id);
if (!user) {
return {
content: [{ type: "text", text: `用户 ${id} 不存在,请检查 ID。` }],
isError: true,
};
}
return { content: [{ type: "text", text: JSON.stringify(user, null, 2) }] };
} catch (err) {
return {
content: [{ type: "text", text: `查询失败:${err.message}` }],
isError: true,
};
}
});错误处理四原则:
isError: true — 让 AI 知道调用失败// 资源注册
server.resource("user-profile", "users://{userId}/profile", async (uri) => {
const profile = await db.getProfile(extractId(uri));
return { contents: [{ uri: uri.href, mimeType: "application/json", text: JSON.stringify(profile) }] };
});
// 生命周期:先初始化 → 再 connect → 监听关闭信号
const db = await Database.connect(config.dbUrl);
await server.connect(new StdioServerTransport());
process.on("SIGINT", async () => { await db.disconnect(); await server.close(); process.exit(0); });关键点:使用连接池、所有外部调用设超时、优雅关闭清理资源。
// tools/search.ts 导出纯函数
export async function searchUsers(query: string, limit: number) { /* ... */ }
// search.test.ts 独立测试
test("返回匹配结果", async () => {
const results = await searchUsers("alice", 10);
expect(results[0].name).toContain("Alice");
});const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
await server.connect(serverTransport);
const client = new Client({ name: "test", version: "1.0.0" });
await client.connect(clientTransport);
const result = await client.callTool("search_users", { query: "test" });
expect(result.isError).toBeFalsy();npx @modelcontextprotocol/inspector node dist/index.js在浏览器中查看所有 tools/resources,手动调用并查看结果。
测试要点: 每个 Tool 覆盖正常 + 异常路径、边界值、外部服务失败模拟。
权限控制:
confirm: true)输入安全:
../execFile 而非 exec敏感数据:
沙箱: 文件操作限制目录、网络请求限制白名单、设置资源配额。
{ "bin": { "mcp-server-myservice": "dist/index.js" }, "files": ["dist"] }用户配置:
{ "mcpServers": { "myservice": { "command": "npx", "args": ["@yourorg/mcp-server-myservice"], "env": { "API_KEY": "xxx" } } } }[project.scripts]
mcp-server-myservice = "my_mcp_server.server:main"FROM node:20-slim
WORKDIR /app
COPY package*.json ./ && RUN npm ci --production
COPY dist ./dist
ENTRYPOINT ["node", "dist/index.js"]关键:MCP 用 stdio 通信,不能用 console.log,会破坏协议流。
// 错误
console.log("debug");
// 正确
console.error("[DEBUG]", info);
// 更好
server.sendLoggingMessage({ level: "info", data: "处理中" });常见问题:
| 症状 | 原因 | 解决 |
|---|---|---|
| 启动无响应 | transport 未连接 | 检查 server.connect() |
| Tool 不出现 | 注册在 connect 之后 | 先注册再 connect |
| AI 不调用 Tool | 描述不清晰 | 改善名称和描述 |
| 参数总错 | Schema 不明确 | 添加 .describe() |
| 调用超时 | 外部服务慢 | 加超时和缓存 |
调试流程: Inspector 验证基本功能 → 手动调用确认输入输出 → 连接真实 AI 客户端观察调用模式 → 根据实际行为调整设计。
动词_名词,描述说明用途和返回内容isError: true 并附可操作信息console.log(用 stderr 或 SDK 日志)© jnMetaCode, MIT. 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 skills/mcp-builder of jnMetaCode/superpowers-zh.
Open the folder on GitHubat commit fe34019
MCP Server 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 Server Builder this skilljnMetaCode/superpowers-zh | 8.3k | — | ~1.4k | Automated safety check: Pass | MIT | |
| MCP DeveloperJeffallan/claude-skills | 12k | — | ~1.5k | Automated safety check: Pass | MIT | |
| MCP Scaffoldtimothywarner-org/claude-code | 224 | — | ~940 | Automated safety check: Pass | MIT | |
| MCP SDK Auditawdr74100/figwright | 982 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Unifi MCP Tool Builderenuno/unifi-mcp-server | 282 | — | ~5.8k | Automated safety check: Pass | Apache-2.0 | |
| Vscode MCP Tool Developmenttjx666/vscode-mcp | 106 | — | ~1.5k | Automated safety check: Pass | Custom licence |
Jeffallan/claude-skills
Builds and debugs MCP servers and clients in TypeScript or Python, from tool and resource definitions to transport setup and inspector-based protocol checks.
timothywarner-org/claude-code
Scaffold production-ready Python MCP servers using FastMCP. An agent skill from timothywarner-org/claude-code.
awdr74100/figwright
Upgrade @modelcontextprotocol/server (the MCP TypeScript SDK v2) and prove the wire contract survived.
enuno/unifi-mcp-server
Specialized guide for adding new MCP tools to the UniFi MCP Server following project standards, UniFi API patterns, and test-driven development practices.
tjx666/vscode-mcp
End-to-end workflow for adding, modifying, or debugging VSCode MCP tools in this repo — IPC zod schema and EventMap, bridge service registration, core ToolDefinition and tool constants, MCP/CLI…
RobThePCGuy/Claude-Patent-Creator
Guides through adding new features, MCP tools, analyzers, and extending the patent creator system.
jnMetaCode/superpowers-zh
Turns a rough idea into an approved design before any code is written, sorting the request into spike, bounded or architectural and enforcing an approval gate.
jnMetaCode/superpowers-zh
Reference for Chinese-language git commits and changelogs: Conventional Commits adapted for Chinese teams, with templates, breaking-change notes and issue links for several platforms.
jnMetaCode/superpowers-zh
Executes a written implementation plan task by task in the current session, with a progress ledger, test-first gates and one fresh-context review at the end.
jnMetaCode/superpowers-zh
Sets up an isolated workspace before feature work or plan execution, preferring native worktree tools and falling back to git worktree, with instructions in Chinese.
jnMetaCode/superpowers-zh
Runs agency-orchestrator YAML workflows inside the current agent session, with the session's own model playing each role in turn and no API key needed.
jnMetaCode/superpowers-zh
Gives Chinese-language templates and priority labels for code review feedback, plus guidance on bilingual comments, commit messages and common team anti-patterns.
Works with
Categories
Methodology for designing, implementing and testing Model Context Protocol servers in TypeScript or Python, covering tool design, error handling and security, in Chinese. The skill starts with the three MCP primitives and how to choose between them: tools for actions with side effects, resources for read-only data identified by URIs, and prompts for predefined interaction templates. It gives project layouts for TypeScript with `@modelcontextprotocol/sdk` and `zod`, and for Python with `mcp` and `pydantic`.
MCP Server Builder fits situations like: building a new MCP server so an assistant can reach an external service; reviewing MCP tool names, schemas and descriptions for clarity; adding tests and an Inspector workflow to an existing MCP server.
Run `npx skills add jnMetaCode/superpowers-zh --skill mcp-builder -a claude-code`. Or copy the skill folder (skills/mcp-builder in jnMetaCode/superpowers-zh) into .claude/skills/mcp-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jnMetaCode/superpowers-zh --skill mcp-builder -a codex`. Or copy the skill folder (skills/mcp-builder in jnMetaCode/superpowers-zh) 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 jnMetaCode/superpowers-zh --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 Server Builder needs the command-line tools its instructions call (npx) and credentials named API_KEY. Our summary lists: Node.js or Python for the server project.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
MCP Server Builder is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k 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 Server Builder: MCP Developer (Jeffallan/claude-skills, 12k stars), MCP Scaffold (timothywarner-org/claude-code, 224 stars), MCP SDK Audit (awdr74100/figwright, 982 stars) and Unifi MCP Tool Builder (enuno/unifi-mcp-server, 282 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jnMetaCode (a GitHub user) maintains it in jnMetaCode/superpowers-zh, which has 8,270 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 4, 2026.
Source: jnMetaCode/superpowers-zh on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.