YARMCP
Y和 A.不同的 R欧洲专利局 主控程序 -自托管MCP服务器,将git repo克隆到您的服务器,让AI助手快速访问最新的源代码,而无需达到GitHub API限制或每个项目需要多个repo克隆。
](https://hub.docker.com/r/sunnamed434/yarmcp-mcp) ](https://hub.docker.com/r/sunnamed434/yarmcp-mcp) ](https://hub.docker.com/r/sunnamed434/yarmcp-mcp) 
用例
您正在使用AI(Claude Code、Cursor、Claude.AI web、ChatGPT、Copilot等),并想问: “最新的React Router v7如何处理数据加载?”
- ❌ 人工智能训练数据已有6-7个月的历史——表明API过时或进行网络搜索(速度慢,吃代币,并不总是准确)
- ❌ GitHub MCP工作正常,但很快达到5000个请求/小时的限制
- ✅ YARMCP:直接服务器访问,无速率限制,始终保持最新,无需网络搜索
你使用10多个repos(React、TypeScript、TailwindCSS等)和命中率限制:
- ❌ GitHub MCP:5000个请求/小时共享-很快用完
- ❌ git-mcp:仍然达到GitHub API的限制
- ✅ YARMCP:零速率限制,从服务器存储读取
你希望AI在各个项目中引用官方源代码:
选项1:创建 /repos PC上包含所有克隆的文件夹
- ❌ 10个存储库×500MB=5GB磁盘空间
- ❌ 必须手动
git pull保持更新 - ❌ 切换PC?重新启动或设置服务器同步
选项2:将存储库克隆到项目目录中
- ❌ 你的
.git文件夹变大(如果太大,GitHub可能会拒绝推送) - ❌ 增添
.gitignore?每个团队成员必须在本地手动克隆这些存储库 - ❌ 团队成员版本不同——不一致
选项3:使用YARMCP
- ✅ 一台服务器,所有项目访问相同的存储库(无重复)
- ✅ 每6小时自动更新一次(可配置)
- ✅ 浅层克隆(
--depth=1)根据回购历史记录节省30-95%的空间 - ✅ 适用于任何PC、浏览器或IDE,只需连接到服务器即可
- ✅ 支持私有仓库(GitHub PAT或SSH密钥)
是什么让YARMCP与众不同?
智能错误处理:
- 找不到文件建议 -当路径不存在时显示类似文件
- 目录预览 -显示前3项以减少勘探步骤
- 树视图工具 -带Unicode的格式化目录树,深度控制(1-5级)
性能和安全:
- 无费率限制 -服务器存储克隆的repos,不需要GitHub API调用
- 私有repos支持 -私有存储库的GitHub PAT或SSH密钥
- OAuth 2.1+PKCE -动态客户端注册的完整OAuth流程
- 路径验证 -防止目录遍历,阻止敏感文件
- 浅层克隆 -
--depth=1节省磁盘空间和克隆时间
AI助手功能:
- 使用指南工具 -内置
get_yarmcp_usage_guide()使用工作流 - Ripgrep搜索 -使用上下文行、性能指标进行快速代码搜索
- 按回购控制 -禁用特定存储库的自动更新(冻结版本)
替代方案
| 解决方案 | 设置 | 工具 | 私有仓库 | 文件建议 | 速率限制 | 最适合 |
|---|---|---|---|---|---|---|
| YARMCP | Docker | 8个工具 | ✓ PAT/SSH | ✓ 是 | 无 | 任何AI客户端、私有仓库、团队 |
| 背景7 | 零设置 | 2个工具 | 仅付费 | ✗ 否 | 每月1000次免费 | 库文档查找 |
| GitHub MCP | Docker/Cloud | 51个工具 | ✓ PAT/Outh | ✗ 否 | 5000/小时 | GitHub平台功能 |
| git mcp | 零设置 | 4个工具 | ✗ 仅限公众 | ✗ 否 | GitHub API | 快速公共回购文档 |
| git mcp服务器 | npm/bun | 27个工具 | ✓ JWT/OAuth | ✗ 否 | 无 | 完整Git操作 |
| 本地克隆 | 手动 | 不适用 | ✓ 手动 | 不适用 | 无 | 单个项目 |
快速开始
用于自托管:参见 example/README.md 获取完整的Docker Compose安装指南。
私有存储库:支持GitHub PAT(环境变量)或SSH密钥(挂载卷)。详情请参阅 example/README.md.
Docker镜像标签和版本控制
YARMCP使用 语义化版本. 对于生产,请固定到特定版本 (例如。, :1.0.0)为了稳定。用于测试 :edge.
图片可在以下网址获得:
- 🐳 Docker Hub:
sunnamed434/yarmcp-mcp(推荐,更易于使用) - 🐙 GitHub容器注册表 (GHCR):
ghcr.io/sunnamed434/yarmcp-mcp(也可用)
看 发布页面 对于可用版本。
📦 Available Docker Tags (click to expand)
稳定发布(建议用于生产)
# Docker Hub (recommended, simpler syntax)
sunnamed434/yarmcp-mcp:1.0.0 # ✅ Specific version (recommended, immutable)
sunnamed434/yarmcp-mcp:1.0 # Latest patch in 1.0.x (auto-updates patches)
sunnamed434/yarmcp-mcp:1 # Latest minor in 1.x.x (auto-updates)
sunnamed434/yarmcp-mcp:latest # Latest stable (not recommended for production)
sunnamed434/yarmcp-mcp:stable # Alias for latest stable
# GitHub Container Registry (also available)
ghcr.io/sunnamed434/yarmcp-mcp:1.0.0 # Same images via GHCR何时使用:
- 生产:使用特定版本(
:1.0.0)可预测的行为 - 测试:使用
:latest或:1.0在固定之前测试更新 - 发展:使用
:edge了解最新更改
预发布版本(测试)
sunnamed434/yarmcp-mcp:0.1.0-alpha.1 # Alpha releases (experimental)
sunnamed434/yarmcp-mcp:0.1.0-beta.1 # Beta releases (feature complete)
sunnamed434/yarmcp-mcp:0.1.0-rc.1 # Release candidates何时使用:
- 在稳定发布之前测试新功能
- 帮助处理错误报告
- 早期采用者
开发建设(不稳定)
sunnamed434/yarmcp-mcp:edge # Latest commit from main branch
sunnamed434/yarmcp-mcp:dev # Same as edge
sunnamed434/yarmcp-mcp:20260203-abc1234 # Specific dev build (date-SHA)何时使用:
- 促进发展
- 测试未发布的功能
- 报告主分支上的错误
⚠️ 警告: 开发版本可能包含破坏性更改或错误。不建议用于生产。
版本格式
- 稳定版本:
MAJOR.MINOR.PATCH(例如。,1.2.3) - 发布版本:
MAJOR.MINOR.PATCH-TYPE.NUMBER(例如。,0.1.0-alpha.1) - 开发版本:
YYYYMMDD-SHORTHASH(例如。,20260203-a1b2c3d)
发展
本地开发
对于贡献者和本地测试,请使用Docker Compose:
cd example
docker compose up看 example/README.md 有关完整的设置说明。
MCP工具
| 工具 | 说明 |
|---|---|
list_repos() | 列出所有已配置的存储库及其状态 |
get_repo_info(repo) | 获取仓库元数据+上次提交信息 |
read_file(repo, path) | 阅读文件时,对错误提出明智的“你是认真的”建议 |
search_code(repo, pattern, ...) | 使用上下文行和度量进行ripgrep代码搜索 |
list_files(repo, path?, pattern?) | 列出带预览的目录内容(前3项) |
tree(repo, path?, depth?, pattern?) | 格式化目录树视图(1-5级) |
get_readme(repo) | 快速访问README(检查多种变体) |
get_yarmcp_usage_guide() | 带有使用模式的内置文档 |
建筑
┌─────────────┐ ┌─────────────┐
│ MCP Server │◄────│ Updater │
│ (FastMCP) │ │ (cron git) │
│ Port 9742 │ │ │
└──────┬──────┘ └──────┬──────┘
│ │
▼ ▼
/opt/yarmcp/repos (shared volume)- MCP服务器:OAuth 2.1+承载认证,只读仓库访问,提供MCP工具
- 更新器:克隆新存储库,按计划提取更新(默认值:每6小时一次)
