Loading...
Loading...
Compare original and translation side by side
build-mcp-serverbuild-mcp-serverPhase 1: Connect → Phase 2: Static Analysis → Phase 3: Selection Testing → Phase 4: Optimize
↑__________________________|Phase 1: Connect → Phase 2: Static Analysis → Phase 3: Selection Testing → Phase 4: Optimize
↑__________________________|npxtools/listbuild-mcp-server/scripts/test-server.shnpxtools/listbuild-mcp-server/scripts/test-server.shhttp://localhost:3000/mcpnode dist/server.jshttp://localhost:3000/mcpnode dist/server.jsbash scripts/fetch-tools.sh <url-or-command> <transport> <workspace>/tools.jsontools/listbash scripts/fetch-tools.sh <url-or-command> <transport> <workspace>/tools.jsontools/list| # | Tool | Description (preview) | Params | Annotations |
|---|------|-----------------------|--------|-------------|
| 1 | search_issues | Search issues by keyword... | 3 | readOnlyHint |
| 2 | create_issue | Create a new issue... | 4 | — || 序号 | 工具 | 描述预览 | 参数数量 | 注解 |
|---|------|-----------------------|--------|-------------|
| 1 | search_issues | 按关键词搜索问题... | 3 | readOnlyHint |
| 2 | create_issue | 创建新问题... | 4 | — |{server-name}-eval/{server-name}-eval/
├── tools.json
├── evals/
│ └── evals.json
└── iteration-N/{server-name}-eval/{server-name}-eval/
├── tools.json
├── evals/
│ └── evals.json
└── iteration-N/bash scripts/analyze-schemas.sh <workspace>/tools.json <workspace>/iteration-N/static-analysis.jsonbash scripts/analyze-schemas.sh <workspace>/tools.json <workspace>/iteration-N/static-analysis.jsonreferences/quality-checklist.md| Tool | Desc | Params | Schema | Annotations | Overall | Issues |
|------|------|--------|--------|-------------|---------|--------|
| search_issues | 3/3 | 3/3 | 2/3 | 2/3 | 2.5 | No negation |
| create_issue | 1/3 | 1/3 | 0/3 | 0/3 | 0.5 | 4 issues |references/quality-checklist.md| 工具 | 描述 | 参数 | Schema | 注解 | 总分 | 问题 |
|------|------|--------|--------|-------------|---------|--------|
| search_issues | 3/3 | 3/3 | 2/3 | 2/3 | 2.5 | 无否定表述 |
| create_issue | 1/3 | 1/3 | 0/3 | 0/3 | 0.5 | 4个问题 |undefinedundefined| Tool A | Tool B | Overlap | Risk |
|---|---|---|---|
| search_issues | list_issues | 52% | HIGH |
undefined| 工具A | 工具B | 重叠度 | 风险等级 |
|---|---|---|---|
| search_issues | list_issues | 52% | 高 |
undefinedreferences/eval-patterns.mdreferences/eval-patterns.md{workspace}/evals/evals.json{
"server_name": "my-server",
"generated_from": "tools.json",
"intents": [
{
"id": 1,
"intent": "Are there any open bugs related to checkout?",
"expected_tool": "search_issues",
"type": "should_trigger",
"target_tool": "search_issues",
"notes": "Implicit intent — doesn't name the action"
}
]
}{workspace}/evals/evals.json{
"server_name": "my-server",
"generated_from": "tools.json",
"intents": [
{
"id": 1,
"intent": "有没有和结账相关的未解决Bug?",
"expected_tool": "search_issues",
"type": "should_trigger",
"target_tool": "search_issues",
"notes": "隐含意图——未明确提及操作"
}
]
}You have access to the following MCP tools:
{tool schemas as JSON}
A user sends this message:
"{intent text}"
Which tool would you call? Respond with JSON:
{
"selected_tool": "tool_name" or null,
"arguments": { ... } or {},
"reasoning": "One sentence explaining your choice"
}
If no tool fits the user's request, set selected_tool to null.
Select exactly ONE tool. Do not suggest calling multiple tools.{workspace}/iteration-N/selection/intent-{ID}/result.jsontools.json你可以使用以下MCP工具:
{tool schemas as JSON}
用户发送了这条消息:
"{intent text}"
你会调用哪个工具?请用JSON格式回复:
{
"selected_tool": "tool_name" 或 null,
"arguments": { ... } 或 {},
"reasoning": "用一句话解释你的选择"
}
如果没有合适的工具,将selected_tool设为null。
请恰好选择一个工具,不要建议调用多个工具。{workspace}/iteration-N/selection/intent-{ID}/result.jsonbash scripts/grade-selection.sh \
<workspace>/iteration-N/selection \
<workspace>/evals/evals.json \
<workspace>/iteration-N/benchmark.jsonbash scripts/grade-selection.sh \
<workspace>/iteration-N/selection \
<workspace>/evals/evals.json \
<workspace>/iteration-N/benchmark.jsonundefinedundefined| Metric | Count |
|---|---|
| Correct | 41 |
| Wrong tool | 5 |
| False accept | 2 |
| False reject | 2 |
| 指标 | 数量 |
|---|---|
| 正确 | 41 |
| 工具选择错误 | 5 |
| 误判(选择了不合适的工具) | 2 |
| 漏判(未选择合适的工具) | 2 |
| Tool | Precision | Recall |
|---|---|---|
| search_issues | 0.90 | 0.85 |
| create_issue | 1.00 | 1.00 |
| 工具 | 精确率 | 召回率 |
|---|---|---|
| search_issues | 0.90 | 0.85 |
| create_issue | 1.00 | 1.00 |
| Expected | Selected Instead | Times |
|---|---|---|
| list_issues | search_issues | 3 |
| get_user | find_user_by_email | 2 |
---| 预期工具 | 实际选择工具 | 次数 |
|---|---|---|
| list_issues | search_issues | 3 |
| get_user | find_user_by_email | 2 |
---references/optimization.mdreferences/optimization.mdundefinedundefinedSearch issues by keyword.
Search issues by keyword across title and body. Returns up toresults ranked by relevance. Does NOT filter by status, assignee, or date — use list_issues for structured filtering.limit
Save to `{workspace}/iteration-N/suggestions.json` (format defined in optimization.md).按关键词搜索问题。
按关键词在标题和正文中搜索问题。返回最多个按相关性排序的结果。不支持按状态、经办人或日期筛选——如需结构化筛选,请使用list_issues。limit
保存到`{workspace}/iteration-N/suggestions.json`(格式定义见optimization.md)。iteration-N+1undefinediteration-N+1undefined| Metric | Iteration 1 | Iteration 2 | Delta |
|---|---|---|---|
| Accuracy | 82% | 94% | +12% |
| search↔list confusion | 3 | 0 | -3 |
undefined| 指标 | 第1次迭代 | 第2次迭代 | 变化值 |
|---|---|---|---|
| 准确率 | 82% | 94% | +12% |
| search↔list混淆次数 | 3 | 0 | -3 |
undefinedreferences/quality-checklist.mdreferences/eval-patterns.mdreferences/optimization.mdreferences/quality-checklist.mdreferences/eval-patterns.mdreferences/optimization.mdbuild-mcp-serverbuild-mcp-appbuild-mcp-serverbuild-mcp-app