本页目录
领域 MCP wrapper
核心 MCP server 是领域无关的。多数 agentic 工作流都需要一个领域定制的 wrapper —— 在它之上加一批专为这个领域准备的工具。 参考 frontend Prime 自带这样一个 wrapper。
Wrapper 多加了什么
- 领域命名的工具 —— 比如
frontend_color_check、frontend_layout_resolve,而不是泛化的prime_query。 - 预置的标签包 —— wrapper 自己知道一次 query 该挂哪几个 axes,agent 不必操心。
- 领域 L5 validator —— 进程内注册的 checker,
domain.yaml直接引用。 - 品牌 —— wrapper 有自己的 npm 包名和版本号。
骨架
// packages/mcp-server-frontend/src/index.ts
import { createCoreServer } from "@skill-wiki/mcp-server-core";
const core = await createCoreServer({ primeDir: process.env.PRIME_DIR });
// Add domain tools.
core.registerTool("frontend_color_check", {
description: "Check generated CSS for color-token compliance.",
inputSchema: {
type: "object",
properties: {
css: { type: "string" },
},
},
handler: async (args) => {
const verdict = await checkColorTokens(args.css);
return { ok: verdict.ok, fixes: verdict.fixes };
},
});
// Register domain L5 validators referenced from domain.yaml.
core.registerValidator("color-token", colorTokenValidator);
await core.serve(); 命名约定
| 项 | 约定 |
|---|---|
| 包名 | @skill-wiki/mcp-server-<domain> |
| 工具前缀 | <domain>_<verb>,比如 frontend_color_check |
| 是否带核心 5 工具 | 带 —— 是包装,不是替换。 |
| 版本 | Semver;跟 mcp-server-core 上游走。 |
分发
把 wrapper 发到自己的 npm scope 下。使用方接入它的方式跟核心 server 完全一样:
{
"mcpServers": {
"frontend-design": {
"command": "bunx",
"args": ["@skill-wiki/mcp-server-frontend"],
"env": {
"PRIME_DIR": "/abs/path/to/frontend-design/compiled"
}
}
}
} 参考实现
见
skill-wiki/prime-corpus-frontend
里的 packages/mcp-server-frontend/。
它在核心 5 工具基础上额外注册了 4 个 frontend 专用工具,并自带 color-token 与 a11y-audit 两个 validator。