brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
analyze-codebase-for-mcp分析任意代码库以识别适合作为 MCP 工具暴露的函数、API 和数据源,生成工具规格文档。 适用于为现有项目规划 MCP 服务器、在将代码库包装为 AI 可访问工具界面前进行审计、 比较代码库的功能与已通过 MCP 暴露的内容,或生成工具规格以交接给 scaffold-mcp-server。
Independent GitHub snapshot · Automated classification · Original documentation governs
扫描代码库以发现适合作为 MCP 工具暴露的函数、REST 端点、CLI 命令和数据访问模式,然后生成结构化的工具规格文档。
scaffold-mcp-server1.1. 使用 Glob 映射目录树,重点关注源目录:
src/**/*.{ts,js,py,R,go,rs} 源文件**/routes/**、**/api/**、**/controllers/** 端点定义**/cli/**、**/commands/** CLI 入口点**/package.json、**/setup.py、**/DESCRIPTION 依赖元数据1.2. 按角色分类文件:
1.3. 统计总文件数、代码行数和导出符号以评估项目规模。
预期结果: 带有角色注释的分类文件清单。
失败处理: 如果代码库太大(>10,000 个文件),使用领域焦点输入将扫描范围缩小到特定目录或模块。如果未找到源文件,验证根路径和语言参数。
2.1. 使用 Grep 查找导出函数和公共 API:
export (async )?function、export default、module.exports_ 开头的函数、@app.route、@router#' @export roxygen 标签2.2. 对每个候选函数,提取:
2.3. 对于 REST API,额外提取:
2.4. 构建按潜在效用排序的候选列表(公开的、有文档的、类型完整的函数优先)。
预期结果: 包含 20-100 个候选函数/端点及其提取元数据的列表。
失败处理: 如果找到的候选项很少,扩大搜索范围以包含可以公开的内部函数。如果文档稀少,在输出中标记为风险。
3.1. 对每个候选项,按 MCP 工具标准评估:
3.2. 对每个候选项按 1-5 分评分:
3.3. 筛选评分 3 及以上的候选项。将评分 2 的项标记为"未来候选",需要重构。
预期结果: 评分和筛选后的候选列表,每个都附有适用性理由。
失败处理: 如果大多数候选项评分低于 3,代码库可能需要在 MCP 暴露前进行重构。记录差距并推荐具体改进(添加类型、提取纯函数、包装副作用)。
4.1. 对每个选定的候选项(评分 >= 3),起草工具规格:
- name: tool_name
description: >
One-line description of what the tool does.
source_function: module.function_name
source_file: src/path/to/file.ts:42
parameters:
param_name:
type: string | number | boolean | object | array
description: What this parameter controls
required: true | false
default: value_if_optional
returns:
type: string | object | array
description: What the tool returns
side_effects:
- description of any side effect
estimated_latency: fast | medium | slow
suitability_score: 5
4.2. 将工具按逻辑类别分组(例如"数据查询"、"文件操作"、"分析"、"配置")。
4.3. 识别工具之间的依赖关系(例如"list_datasets"应在"query_dataset"之前调用)。
4.4. 确定是否需要包装器以:
预期结果: 完整的 YAML 工具规格,包含类别、依赖关系和包装器说明。
失败处理: 如果工具规格模糊,回到第 2 步从源代码提取更多细节。如果无法推断参数类型,标记需要人工审核。
5.1. 编写包含以下部分的最终规格文档:
5.2. 保存为 mcp-tool-spec.yml(机器可读)和可选的 mcp-tool-spec.md(人类可读摘要)。
5.3. 如果提供了现有 MCP 服务器,包含差距分析部分:
预期结果: 完整的工具规格文档,可供 scaffold-mcp-server 使用。
失败处理: 如果文档超出合理规模(>200 个工具),分成带有交叉引用的模块。如果代码库没有合适的候选项,生成"就绪评估"文档并附带重构建议。
Grep 仔细审计文件写入、网络调用和数据库变更scaffold-mcp-server — 使用输出规格生成可用的 MCP 服务器build-custom-mcp-server — 手动服务器实现参考configure-mcp-server — 将生成的服务器连接到 Claude Code/Desktoptroubleshoot-mcp-connection — 部署服务器后调试连接review-software-architecture — 工具界面设计的架构审查security-audit-codebase — 在外部暴露函数前进行安全审计