Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fishman-free-mcp-builder
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/mcp-builder
What's inside
- Skill name
mcp-builder- Description
- MCP 服务器构建方法论 — 系统化构建生产级 MCP 工具,让 AI 助手连接外部能力
- License
- MIT
- Instructions
- 252 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# MCP 服务器构建
系统化设计、实现、测试和部署 Model Context Protocol 服务器的方法论。
## 1. 协议核心概念
MCP 定义三种原语:
- **Tools(工具)**:AI 助手主动调用的函数,有副作用。如搜索、创建、删除操作。
- **Resources(资源)**:AI 助手只读访问的数据源,用 URI 标识。如 `users://{id}/profile`。
- **Prompts(提示词模板)**:预定义交互模板,引导用户触发工作流。
**选择原则:** 执行操作 → Tool | 读取数据 → Resource | 引导交互 → Prompt
## 2. 项目结构规范
### TypeScript
```
my-mcp-server/
├── src/
│ ├── index.ts # 入口,注册 tools/resources
│ ├── tools/ # 按功能拆分
│ ├── resources/
│ └── lib/ # 客户端封装、校验逻辑
├── tests/
├── package.json
└── tsconfig.json
```
关键依赖:`@modelcontextprotocol/sdk` + `zod`
### Python
```
my-mcp-server/
├── src/my_mcp_server/
│ ├── server.py
│ ├── tools/
│ └── lib/
├── tests/
└── pyproject.toml
```
关键依赖:`mcp` + `pydantic`
## 3. Tool 设计原则
### 命名
- `snake_case` 格式,动词开头:`search_users`、`create_issue`、`delete_file`
- 名称自解释,AI 助手靠名称选工具,模糊命名导致误调用
### 参数
- 每个参数有类型约束和 `.describe()` 描述
- 可选参数给默认值,减少 AI 决策负担
- 用枚举代替布尔开关
```typescript
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 选择工具的关键依据:
```typescript
server.tool("search_users",
"根据姓名或邮箱搜索用户。返回 ID、姓名、邮箱列表。模糊匹配,最多 50 条。",
schema, handler);
```
### 输出
- 结构化数据 → JSON,人类可读内容 → Markdown
- 始终用 `content: [{ type: "text", text: "..." }]` 格式返回
## 4. 输入验证和错误处理
用 Zod/Pydantic 做 Schema 级校验,业务级校验放 handler 开头:
```typescript
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,
};
}
});
```
**错误处理四原则:**
1. 永远不让服务器崩溃 — try/catch 包裹所有外部调用
2. 返回可操作的错误信息 — 告诉 AI 问题是什么、能做什么
3. 使用 `isError: true` — 让 AI 知道调用失败
4. 区分错误类型 — 参数错误、权限不足、资源不存在、服务不可用
## 5. 资源管理和生命周期
```typescript
// 资源注册
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); });From Fishman-free/DataMind, MIT.
More from Fishman-free/DataMind
- 0.526score
chinese-commit-conventions
Fishman-free
中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions…
SkillCFreshness: C★ 5Claude Code +9 - 0.526score
workflow-runner
Fishman-free
在 Claude Code / OpenClaw / Cursor 中直接运行 agency-orchestrator YAML 工作流——无需 API key,使用当前会话的 LLM 作为执行引擎。当用户提供 .yaml 工作流文件或要求多角色协作完成任务时触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
brainstorming
Fishman-free
在任何创造性工作之前必须使用此技能——创建功能、构建组件、添加功能或修改行为。在实现之前先探索用户意图、需求和设计。
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
using-superpowers
Fishman-free
在开始任何对话时使用——确立如何查找和使用技能,要求在任何响应(包括澄清性问题)之前调用 Skill 工具
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
chinese-code-review
Fishman-free
中文 review 沟通参考——话术模板、分级标注(必须修复/建议修改/仅供参考)、国内团队常见反模式应对。仅在用户显式 /chinese-code-review 时调用,不要根据上下文自动触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
chinese-documentation
Fishman-free
中文文档排版参考——中英文空格、全半角标点、术语保留、链接格式、中文文案排版指北约定。仅在用户显式 /chinese-documentation 时调用,不要根据上下文自动触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
gen-release-notes
Fishman-free
从 git log 自动提取 Conventional Commits,按 feat/fix/chore 分类生成中文 changelog
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
verification-before-completion
Fishman-free
在宣称工作完成、已修复或测试通过之前使用,在提交或创建 PR 之前——必须运行验证命令并确认输出后才能声称成功;始终用证据支撑断言
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
finishing-a-development-branch
Fishman-free
当实现完成、所有测试通过、需要决定如何集成工作时使用——通过提供合并、PR 或清理等结构化选项来引导开发工作的收尾
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
executing-plans
Fishman-free
当你有一份书面实现计划需要在单独的会话中执行,并设有审查检查点时使用
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
requesting-code-review
Fishman-free
完成任务、实现重要功能或合并前使用,用于验证工作成果是否符合要求
SkillCFreshness: C★ 5Claude Code +9 - 0.520score
receiving-code-review
Fishman-free
收到代码审查反馈后、实施建议之前使用,尤其当反馈不明确或技术上有疑问时——需要技术严谨性和验证,而非敷衍附和或盲目执行
SkillCFreshness: C★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 18, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Fishman-free/DataMind
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from Fishman-free
- 0.526score
workflow-runner
Fishman-free
在 Claude Code / OpenClaw / Cursor 中直接运行 agency-orchestrator YAML 工作流——无需 API key,使用当前会话的 LLM 作为执行引擎。当用户提供 .yaml 工作流文件或要求多角色协作完成任务时触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.526score
chinese-commit-conventions
Fishman-free
中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions…
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
using-superpowers
Fishman-free
在开始任何对话时使用——确立如何查找和使用技能,要求在任何响应(包括澄清性问题)之前调用 Skill 工具
SkillCFreshness: C★ 5Claude Code +9 - 0.525score
brainstorming
Fishman-free
在任何创造性工作之前必须使用此技能——创建功能、构建组件、添加功能或修改行为。在实现之前先探索用户意图、需求和设计。
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
chinese-documentation
Fishman-free
中文文档排版参考——中英文空格、全半角标点、术语保留、链接格式、中文文案排版指北约定。仅在用户显式 /chinese-documentation 时调用,不要根据上下文自动触发。
SkillCFreshness: C★ 5Claude Code +9 - 0.523score
chinese-code-review
Fishman-free
中文 review 沟通参考——话术模板、分级标注(必须修复/建议修改/仅供参考)、国内团队常见反模式应对。仅在用户显式 /chinese-code-review 时调用,不要根据上下文自动触发。
SkillCFreshness: C★ 5Claude Code +9
Cite this page
mcp-builder skill. Agent Mart. https://agentmart.dev/skills/fishman-free-mcp-builder (last updated 2026-10-24)