MCP码计划添加福利群:解决AI开发者的「MCP实战痛点」
Yellhorn MCP 是一个模型上下文协议(MCP)服务器,它将 Gemini 2.5 Pro 和 OpenAI 的能力暴露给 Claude Code,以便在软件开发任务中使用整个代码库作为提示。这种模式在定义由 Claude Code 或其他兼容 MCP 的编码助手完成的工作,并审查结果以确保它们完全符合原始需求时非常有用。
.yellhornignore 文件从 AI 上下文中排除特定文件和目录,类似于 .gitignore。# 从 PyPI 安装
pip install yellhorn-mcp
# 从源代码安装
git clone https://github.com/msnidal/yellhorn-mcp.git
cd yellhorn-mcp
pip install -e .

服务器需要以下环境变量:
GEMINI_API_KEY:您的 Gemini API 密钥(Gemini 模型必需)OPENAI_API_KEY:您的 OpenAI API 密钥(OpenAI 模型必需)REPO_PATH:您的代码库路径(默认为当前目录)YELLHORN_MCP_MODEL:使用的模型(默认为 "gemini-2.5-pro-preview-05-06")。可用选项:
YELLHORN_MCP_SEARCH:启用/禁用 Google 搜索基础(默认对 Gemini 模型启用)。选项:
服务器还需要安装并认证 GitHub CLI(gh)。
要在 VSCode 或 Cursor 中配置 Yellhorn MCP,请在您的工作区根目录下创建一个 .vscode/mcp.json 文件,内容如下:
{
"inputs": [
{
"type": "promptString",
"id": "gemini-api-key",
"description": "Gemini API Key"
}
],
"servers": {
"yellhorn-mcp": {
"type": "stdio",
"command": "/Users/msnidal/.pyenv/shims/yellhorn-mcp",
"args": [],
"env": {
"GEMINI_API_KEY": "${input:gemini-api-key}",
"REPO_PATH": "${workspaceFolder}"
}
}
}
}

要直接在 Claude Code 中配置 Yellhorn MCP,请在您的项目中添加一个根级别的 .mcp.json 文件,内容如下:
{
"mcpServers": {
"yellhorn-mcp": {
"type": "stdio",
"command": "yellhorn-mcp",
"args": ["--model", "o3"],
"env": {
"YELLHORN_MCP_SEARCH": "on"
}
}
}
}

根据标题和详细描述创建一个带有详细工作计划的 GitHub 问题。
输入:
title:GitHub 问题的标题(将用作问题标题和标题)detailed_description:工作计划的详细描述。此处提供的任何 URL 将被提取并包含在参考资料部分。codebase_reasoning:(可选)控制是否执行 AI 增强:
"full":(默认)使用 AI 增强工作计划,提供完整的代码库上下文"lsp":使用 AI 增强,提供轻量级代码库上下文(Python 和 Go 的函数/方法签名、类属性和结构字段)"none":跳过 AI 增强,直接使用提供的描述debug:(可选)如果设置为 true,将在问题中添加一个包含生成完整提示的评论disable_search_grounding:(可选)如果设置为 true,禁用此请求的 Google 搜索基础输出:
issue_url:创建的 GitHub 问题的 URLissue_number:GitHub 问题编号检索与工作计划相关的工作计划内容(GitHub 问题正文)。
输入:
issue_number:工作计划的 GitHub 问题编号。disable_search_grounding:(可选)如果设置为 true,禁用此请求的 Google 搜索基础输出:
触发异步代码评审,比较两个 git 引用(分支或提交)与 GitHub 问题中描述的工作计划。立即创建一个占位符 GitHub 子问题,然后异步处理 AI 评审,更新子问题结果。
输入:
issue_number:工作计划的 GitHub 问题编号。base_ref:用于比较的基础 Git 引用(提交 SHA、分支名称、标签)。默认为 'main'。head_ref:用于比较的目标 Git 引用(提交 SHA、分支名称、标签)。默认为 'HEAD'。codebase_reasoning:(可选)控制提供的代码库上下文:
"full":(默认)使用完整的代码库上下文"lsp":使用轻量级代码库上下文(仅 Python 和 Go 的函数签名,加上完整的差异文件)"file_structure":仅使用目录结构,不包含文件内容,以加快处理速度"none":完全跳过代码库上下文,以最快速度处理debug:(可选)如果设置为 true,将在子问题中添加一个包含生成完整提示的评论disable_search_grounding:(可选)如果设置为 true,禁用此请求的 Google 搜索基础工作计划中提到的任何 URL 将被提取并保留在评审的参考资料部分。
输出:
message:确认评审任务已启动subissue_url:创建的占位符子问题的 URL,结果将发布在此处subissue_number:占位符子问题的 GitHub 问题编号Yellhorn MCP 还实现了标准的 MCP 资源 API,以提供对工作计划的访问:
list-resources:列出所有工作计划(带有 yellhorn-mcp 标签的 GitHub 问题)get-resource:通过问题编号检索特定工作计划的内容可以通过标准的 MCP CLI 命令访问这些功能:
# 列出所有工作计划
mcp list-resources yellhorn-mcp
# 通过问题编号获取特定工作计划
mcp get-resource yellhorn-mcp 123

# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest
# 运行测试并生成覆盖率报告
pytest --cov=yellhorn_mcp --cov-report term-missing

该项目使用 GitHub Actions 进行持续集成和部署:
测试:在拉取请求和推送到主分支时自动运行
发布:在推送版本标签时自动发布到 PyPI
要发布新版本:
git commit -am "Bump version to X.Y.Z"git tag vX.Y.Zgit push && git push --tags有关更改的历史记录,请参阅 Changelog。
更详细的说明,请参阅 使用指南。
MIT