🔍 GitHub人才搜寻器——MCP服务器
一 MCP(模型上下文协议) 服务器,让像克劳德这样的人工智能助手深入探索GitHub——寻找人才、发现趋势技术、分析存储库、比较开发人员、检查CI/CD管道等等。
______________________________________________________________________
📁 项目结构和文件指南
此项目中的每个文件都有一个特定的作业。以下是每个人在重要的时候所做的事情:
github-talent-finder-mcp/
├── mcp_server.py ← Entry point. Registers all 9 tools into one MCP server.
├── requirements.txt ← Python packages needed to run the server.
├── pyproject.toml ← Project metadata for packaging and distribution.
├── .env.example ← Template showing which environment variables are needed.
├── .env ← Your actual secrets (NOT committed to git).
├── .gitignore ← Tells git which files to never upload (e.g. .env).
├── tools/
│ ├── talent.py ← Search GitHub users by role/location. Find top repos by topic.
│ ├── trending.py ← Discover which languages and topics are trending right now.
│ ├── repos.py ← Deep-dive any repo. See commit history and who's contributing.
│ ├── users.py ← Compare two GitHub profiles side-by-side.
│ ├── orgs.py ← Explore company organisations (Google, OpenAI, Meta, etc).
│ └── devops.py ← Browse issues, pull requests, and GitHub Actions workflows.
└── utils/
└── github.py ← Shared API client. All tools use this to talk to GitHub.______________________________________________________________________
mcp_server.py --入口点
它的作用: 这是你运行过的唯一一个文件。它创建FastMCP服务器并注册来自 tools/ 文件夹。它被有意地保持得很小——大约20行——所以很容易一眼就能看到服务器提供的一切。
如何使用它:
python mcp_server.py何时编辑: 仅当您添加全新的工具模块时。您导入函数并向注册 mcp.tool().
______________________________________________________________________
utils/github.py -共享的GitHub API客户端
它的作用: 包含共享 HEADERS (包括你的 GITHUB_TOKEN)以及a gh_get() 所有工具模块都使用的辅助函数。这意味着令牌和标头设置在一个地方——如果需要更新它们,只需更改一个文件。
何时编辑: 如果要添加身份验证作用域,请更改API版本,或添加请求重试次数/日志记录。
______________________________________________________________________
tools/talent.py --查找开发人员和项目
它的作用: 提供两个工具:
search_github_talent--在GitHub用户简历中搜索具有特定工作角色的人,按位置过滤。search_github_projects--查找任何主题或技术的星级最高的存储库。
尝试使用Claude的示例提示:
*“在GitHub上给我找5位印度的机器学习工程师。”*
*“在GitHub上搜索关于大型语言模型的前10个Python存储库。”*
*“旧金山的一些著名React开发人员是谁?”*
______________________________________________________________________
tools/trending.py --趋势技术
它的作用: 分析最近创建的具有高星级计数的存储库,以告诉您哪些编程语言和主题正在获得发展势头。返回语言、热门话题、热门存储库本身的排名列表以及一行见解摘要。
尝试使用Claude的示例提示:
*“本周在GitHub上,开发人员使用最多的编程语言是什么?”*
*“哪些话题现在在GitHub上很流行——给我看看每天的情况。”*
*“这个月人们在GitHub上构建什么?给我看看最热门的技术。”*
______________________________________________________________________
tools/repos.py --存储库分析和提交活动
它的作用: 提供两个工具:
analyze_repository--任何公共回购的完整细分:星型、分叉、开放问题、语言细分、前5位贡献者和最近5次提交。get_commit_activity--显示最近的提交、提交最多的人以及任何仓库的每周活动统计数据。
尝试使用Claude的示例提示:
*“给我一份关于facebook/react存储库的完整分析。”*
*“pytorch/pytoch仓库有多活跃?显示最近的提交和每周统计数据。”*
*“谁是microsoft/vcode存储库的主要贡献者?”*
*“分析openai/耳语——我想知道语言细分和最后一次提交日期。”*
______________________________________________________________________
tools/users.py --比较GitHub配置文件
它的作用: 获取两个GitHub用户的完整个人资料,并将其并排比较——关注者、公共存储库、他们使用的顶级语言以及他们最受欢迎的存储库。返回每个类别中谁领先的简单英文判决。
尝试使用Claude的示例提示:
*“在GitHub上比较torvalds和gvanrossum——谁更活跃?”*
*“我想比较两个开发人员:yoheinakajima和karpathy。哪一个有更多的追随者,他们使用什么语言?”*
*“比较antirez和dhh的GitHub配置文件。”*
______________________________________________________________________
tools/orgs.py --探索GitHub组织
它的作用: 获取组织的简介、按星级排序的顶级公共存储库、存储库中使用的主要语言以及公共成员的样本。
尝试使用Claude的示例提示:
*“OpenAI在GitHub上维护哪些开源项目?”*
*“探索谷歌GitHub组织——他们最受欢迎的仓库是什么?”*
*Meta在其GitHub仓库中主要使用哪些编程语言*
*“按星级显示微软十大GitHub存储库。”*
______________________________________________________________________
tools/devops.py --问题、拉取请求和CI/CD
它的作用: 提供两个工具:
get_repo_issues_and_prs--列出任何回购的开放(或已关闭)问题和拉取请求。显示标题、作者、标签、评论数和URL。check_github_actions--检查仓库的GitHub Actions工作流,显示每个工作流的名称、活动状态及其最近运行的结果(通过、失败、进行中)。
尝试使用Claude的示例提示:
*“microsoft/vcode存储库中当前打开了哪些错误?”*
*“显示vercel/next.js仓库中最近的pull请求。”*
*“facebook/react存储库是否设置了CI/CD?上次构建通过了吗?”*
*“列出django/django仓库中带有'bug'标签的所有未解决问题。”*
______________________________________________________________________
requirements.txt --Python依赖关系
它的作用: 列出所需的两个软件包: mcp[cli] (MCP框架)以及 requests (用于对GitHub的HTTP调用)。跑 pip install -r requirements.txt 克隆后安装所有内容。
______________________________________________________________________
.env.example & .env --环境变量
他们做什么: .env.example 是一个提交给git的安全模板,显示需要哪些变量。 .env 您的实际文件是否包含真正的秘密?它列在 .gitignore 因此,它永远不会意外上传到GitHub。
变量:
GITHUB_TOKEN=your_token_here没有令牌,服务器仍然可以工作,但GitHub的速率限制为每分钟10个请求。有了令牌,它是30/分钟。
______________________________________________________________________
.gitignore --Git安全网
它的作用: 防止提交敏感或不必要的文件。关键条目: .env (你的秘密), __pycache__/ (Python字节码), .venv/ (虚拟环境), dist/ 和 build/ (包装工艺品)。
______________________________________________________________________
🚀 快速启动
# 1. Clone
git clone https://github.com/YOUR_USERNAME/github-talent-finder-mcp.git
cd github-talent-finder-mcp
# 2. Virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 3. Install
pip install -r requirements.txt
# 4. Configure token
cp .env.example .env
# Edit .env and paste your GitHub token
# 5. Run
python mcp_server.py______________________________________________________________________
🔧 连接到克劳德桌面
将此块添加到您的 claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"github-talent-finder": {
"command": "python",
"args": ["/absolute/path/to/github-talent-finder-mcp/mcp_server.py"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}保存后重新启动Claude Desktop。所有9个工具将立即可用。
______________________________________________________________________
🌐 托管和部署
此服务器支持两种传输模式: stdio (默认为本地使用)和 sse (基于HTTP的远程托管)。
1.通过SSE(HTTP)托管
要将服务器作为web服务运行(例如,在VPS或云提供商上):
# Run the server using the MCP CLI
mcp run mcp_server.py --transport sse服务器现在将侦听端口8000上的HTTP连接。
2.通过Docker托管
要使用容器进行部署(建议用于生产环境):
# Build the image
docker build -t github-mcp-server .
# Run the container (pass your token as an environment variable)
docker run -p 8000:8000 \
-e GITHUB_TOKEN=your_token_here \
github-mcp-server______________________________________________________________________
🛠️ 全部9个工具概览
| 工具 | 文件 | 最佳示例提示 |
|---|---|---|
search_github_talent | tools/talent.py | *“在德国找到5名MLOps工程师。”* |
search_github_projects | tools/talent.py | *“用于构建CLI工具的前5个TypeScript仓库。”* |
get_trending_technologies | tools/trending.py | *“本周GitHub上有什么技术趋势?”* |
analyze_repository | tools/repos.py | *“对langchain ai/langchain回购的全面分析。”* |
get_commit_activity | tools/repos.py | *“拥抱脸/变压器这个月有多活跃?”* |
compare_github_users | tools/users.py | *“在GitHub上比较karpathy和yoheinakajima。”* |
explore_github_organization | tools/orgs.py | *“拥抱脸组织有什么仓库?”* |
get_repo_issues_and_prs | tools/devops.py | *“在ansible/ansible存储库中打开bug。”* |
check_github_actions | tools/devops.py | *“CI是否在传递混音运行/混音回购?”* |
______________________________________________________________________
⚠️ 速率限制
| 认证 | 请求/分钟 |
|---|---|
| 无令牌 | 10 |
与 GITHUB_TOKEN | 30 |
______________________________________________________________________
🤝 添加新工具
- 在中创建新文件
tools/例如。tools/stars.py - 使用正确的docstring编写函数(FastMCP将其用作工具描述)
- 导入并注册
mcp_server.py:
from tools.stars import get_starred_repos
mcp.tool()(get_starred_repos)- 重新启动服务器——Claude将自动看到新工具。
______________________________________________________________________
📄 许可证
MIT-免费使用、修改和共享。
