使用说明
Scout-MCP代码导航器
赋予Claude实际阅读、搜索和理解任何代码库的能力。
适用于: 克劳德桌面·克劳德代码CLI·任何兼容MCP的代理
问题
当您与Claude或任何LLM共享GitHub URL时,它只能看到README,可能是其训练数据中的几个文件。它无法浏览目录结构、搜索函数定义或读取特定文件。对于任何关于代码如何工作的真正问题,您最终都会手动将文件内容复制并粘贴到聊天中,这在大型代码库上完全崩溃。
Scout解决了这个问题。这是一个 MCP服务器 这为Claude提供了与开发人员探索不熟悉的代码库相同的工具:浏览结构、搜索模式、读取特定文件。
为什么不直接使用[X]?
为什么不使用GitHub CLI(gh)?
gh 管理 存储库——拉取请求、问题、发布、机密。侦察兵 读取 代码。它们解决了完全不同的问题:
gh CLI |
侦察员 | |
|---|---|---|
| 目的 | 通过GitHub API管理repos | 在本地导航和阅读代码 |
| 代码搜索 | 无正则表达式搜索 | 跨整个代码库的ripgrep |
| 私有仓库 | 需要GitHub身份验证令牌 | 使用您现有的git凭据 |
| 速率限制 | GitHub API限制 | 无-完全在本地运行 |
| MCP服务器 | 否 | 是--克劳德自主调用它 |
| 仅本地存储库 | 否 | 是 |
为什么不使用Claude内置的“从GitHub添加”功能?
Claude的聊天UI可以将repo拉入上下文,但它有硬限制:
- 在任何中型/大型回购中达到上下文窗口限制
- 一次加载所有内容,无需进行增量的“查看此文件”探索
- 无需在代码库中搜索正则表达式
- 不适用于Claude Code CLI或程序化使用
- 克劳德不能要求 更多 如果需要深入挖掘,请编写代码
Scout让Claude以开发人员的方式浏览代码——增量浏览结构、搜索模式和只读取相关文件。
为什么不使用GitHub Copilot的代码库索引?
Copilot使用嵌入/向量搜索对代码库进行索引,这意味着:
- 在搜索之前,您需要等待索引
- 结果是语义近似,而不是精确匹配
- 无行号精度
- 与Copilot生态系统紧密相连
Scout使用直接文件访问+ripgrep。零索引等待。正则表达式与行号完全匹配。使用任何MCP兼容代理在任何地方的任何仓库上工作。
为什么不直接将代码粘贴到聊天中呢?
这适用于小文件。它在以下情况下会崩溃:
- 该仓库有50多个相关文件
- 你还不知道哪些文件是相关的
- 你需要的功能埋在4个目录深处
- 在找到答案之前,您已达到上下文窗口限制
Scout让克劳德先搜索,然后只阅读相关内容。
特性
- 没有API密钥 --完全在您的机器上运行
- 无索引 --立即开始探索,零设置等待
- 快速搜索 --ripgrep支持正则表达式,可跨100000多个文件代码库
- 私有仓库 --使用您现有的git凭据
- GitHub URL支持 --首次使用时浅层克隆任何公共或私有仓库
- 20+语言 --Python、JS、TS、Go、Rust、Java、C++、Ruby等
- 轻量级 --6个依赖项,约500行核心逻辑
- 双模式 --stdio用于克劳德桌面/CLI,HTTP用于团队/共享使用
快速开始
步骤1:安装
pip install pipx && python -m pipx ensurepath
# Close and reopen your terminal
pipx install scout-code-navigator
第二步:联系克劳德
克劳德桌面版
打开配置文件:
| 操作系统 | 路径 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 窗户 | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/claude/claude_desktop_config.json |
添加服务器:
{
"mcpServers": {
"scout": {
"command": "scout",
"args": []
}
}
}
重新启动克劳德桌面。完成。
克劳德代码CLI
claude mcp add scout -s user -- scout
这 -s user flag在全局范围内注册它——在任何项目目录中都有效。
验证
- 克劳德桌面: 在聊天界面中查找工具图标(锤子)
- 克劳德代码CLI: 跑
/mcp并确认scout显示为已连接
工具
Claude会根据您的问题自动调用这些:
| 工具 | 当克劳德使用它时 |
|---|---|
repo_overview |
首先查看任何repo——树、README、检测到的堆栈、文件计数 |
list_directory |
钻取特定子目录 |
search_code |
查找定义或使用函数/类/模式的位置 |
read_file |
读取特定文件,可选地仅读取一行范围 |
find_files |
按名称模式查找文件(例如,全部 *.test.ts 文件) |
用法
连接后,只需与Claude讨论代码:
"Analyze https://github.com/pallets/flask and explain how routing works"
"How does authentication work in this codebase?"
"Find all the database models in https://github.com/django/django"
"Where is the rate limiting logic implemented?"
"Explore my local project at /path/to/my/project and summarize the architecture"
Claude将逐步调用这些工具——浏览结构、搜索模式、读取相关文件——然后解释它发现了什么。
运作原理
You ask: "How does routing work in this Flask app?"
|
v
Claude calls tools in sequence:
┌────────────────────────────────────────────────────────┐
│ 1. repo_overview → directory tree + README + stack │
│ 2. search_code → ripgrep for "def route", "@app." │
│ 3. read_file → read matching files at line ranges │
└────────────────────────────────────────────────────────┘
|
v
Claude explains the actual code to you
没有嵌入。没有矢量数据库。无索引步骤。只需直接文件访问和正则表达式搜索——经验丰富的开发人员使用的相同方法,通过MCP提供给Claude。
配置
创建一个 .env 工作目录中的文件以覆盖默认值:
# Repository cloning (GitHub URLs only — local repos need nothing)
REPO_STORAGE_PATH=~/.scout/repos # Where cloned repos are cached
REPO_CACHE_TTL_HOURS=24 # How long before re-cloning
REPO_CLONE_TIMEOUT_SECONDS=300 # Max time to wait for a clone
# HTTP Server mode only
SERVER_HOST=0.0.0.0
SERVER_PORT=8000
私有仓库
Scout使用您系统的git凭据——在您的终端中工作的任何东西都可以在Scout中工作。
# Option 1: GitHub CLI (recommended)
gh auth login
# Option 2: SSH key (if already set up, nothing extra needed)
# Option 3: Credential helper
git config --global credential.helper store
HTTP服务器模式
对于共享团队使用,请将Scout作为HTTP服务器而不是本地stdio进程运行:
# Start the server
scout-http
# Runs on http://localhost:8000
# API docs at http://localhost:8000/docs
将Claude Code CLI连接到它:
claude mcp add --transport http scout http://localhost:8000
HTTP服务器通过以下方式向stdio服务器公开相同的功能——相同的5个工具,相同的行为 POST 端点。
故障排除
“找不到命令:侦察”
Python的Scripts目录不在您的PATH中。使用 pipx (它自动处理PATH):
pipx install scout-code-navigator
或者完全绕过PATH:
{
"mcpServers": {
"scout": {
"command": "python",
"args": ["-m", "mcp_stdio_server"]
}
}
}
“搜索速度慢”
Scout在可用时使用ripgrep,在不可用时回退到Python搜索。为了获得最佳性能,请安装ripgrep:
brew install ripgrep # macOS
apt install ripgrep # Ubuntu/Debian
scoop install ripgrep # Windows
winget install BurntSushi.ripgrep # Windows (alternative)
“私有仓库克隆失败”
跑 gh auth login 或者确保您的SSH密钥已设置并测试 git clone <url> 首先在你的终端。
发展
git clone https://github.com/MayankSethi27/scout.git
cd scout
python -m venv venv && source venv/bin/activate # Windows: venv\Scripts\activate
pip install -e ".[dev]"
# Run tests
pytest
# Run a single test
pytest tests/unit/test_services.py::TestSearchCode
# Format code
black . && isort .
# Run the stdio server locally
python mcp_stdio_server.py
# Run the HTTP server locally
python mcp_server.py
技术栈
- Python 3.10+ 使用async/await
- MCP-SDK --模型上下文协议
- ripgrep --快速正则表达式搜索(可选,包括Python回退)
- 快速API + Uvicorn --HTTP服务器模式
- 派丹蒂克 --数据验证和设置
许可证
麻省理工学院——见 许可证.
