repo-scout
🔍 Repo Scout MCP Server
"Главное правило для Vibe-кодеров и инженеров-программистов: не изобретайте велосипед. Позвольте ИИ изучить существующие проекты на GitHub, прежде чем писать хоть одну строку кода!"
Высокопроизводительный бесплатный локальный Model Context Protocol (MCP) сервер, который даёт ИИ-ассистентам (Google Antigravity, Claude Desktop, Cursor, Claude Code) возможность искать существующие open-source проекты, библиотеки и фреймворки на GitHub до того, как вы начнёте писать код с нуля.
👤 Автор и благодарности
Автор: Akash Kumar Jha
Лицензия: MIT License (бесплатно и с открытым исходным кодом)
Related MCP server: oss-trends-mcp
🚀 Зачем использовать Repo Scout MCP?
При вайб-кодинге или разработке ПО разработчики часто тратят часы на написание кода для функций или целых приложений, которые уже существуют как проверенные в бою высококачественные open-source проекты.
Repo Scout MCP подключает вашего ИИ-ассистента напрямую к поисковым и интеллектуальным API GitHub:
💡 Экономия сотен часов: мгновенно находите существующие решения до начала проекта.
🆓 100% бесплатно и локально: не требуется платных подписок на API. Работает локально через Node.js по stdio.
⚡ Высокая производительность: повышает лимит запросов GitHub с 60 до 5 000 запросов в час с бесплатным токеном.
🛡️ Конфиденциальность и безопасность: никаких захардкоженных ключей или отслеживания. Каждый пользователь предоставляет собственные переменные окружения.
🛠️ Включённые инструменты
Название инструмента | Описание | Пример использования |
| Предоставьте описание того, что вы хотите создать, на простом английском. Инструмент выполняет многоракурсный поиск по GitHub (включая awesome-списки) и возвращает ранжированный шорт-лист репозиториев для повторного использования. | "Я создаю приложение для заметок в Markdown с тегами. Проверь, существует ли что-то подобное." |
| Поиск по ключевым словам, темам и языкам на GitHub с сортировкой по звёздам, форкам или дате. | "Найди Node.js middleware для ограничения частоты запросов, отсортированный по звёздам." |
| Извлекает полный README репозитория и структуру файлов верхнего уровня, чтобы ИИ мог оценить соответствие кода. | "Проверь детали для |
📦 Быстрый старт и установка
Шаг 1: Клонируйте репозиторий
git clone https://github.com/YOUR_USERNAME/repo-scout-mcp.git
cd repo-scout-mcp
npm installШаг 2: Получите бесплатный GitHub Access Token (2 минуты)
Перейдите в GitHub Settings -> Tokens.
Нажмите Generate new token $\rightarrow$ Generate new token (classic).
Назовите его
repo-scout-mcp.Оставьте все флажки областей видимости снятыми (поиск публичных данных не требует разрешений).
Нажмите Generate token и скопируйте его (выглядит как
ghp_xxxxxxxxxxxx).
🔌 Подключение к вашему ИИ-ассистенту
1. Google Antigravity
Откройте Antigravity $\rightarrow$ нажмите меню
...в правом верхнем углу панели агента.Перейдите в MCP Servers $\rightarrow$ Manage MCP Servers $\rightarrow$ View raw config (
mcp_config.json).Добавьте следующую запись внутри
"mcpServers":
{
"mcpServers": {
"repo-scout": {
"command": "node",
"args": ["G:\\CODE\\repo-scout-mcp\\index.js"],
"env": {
"GITHUB_TOKEN": "ghp_your_personal_access_token_here"
}
}
}
}(Примечание: замените G:\\CODE\\repo-scout-mcp\\index.js на ваш фактический полный путь к файлу, используя двойные обратные слэши в Windows).
Сохраните
mcp_config.jsonи обновите MCP-серверы (или введите/mcpв чате).
2. Claude Desktop
Добавьте в ваш claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"repo-scout": {
"command": "node",
"args": ["/absolute/path/to/repo-scout-mcp/index.js"],
"env": {
"GITHUB_TOKEN": "ghp_your_personal_access_token_here"
}
}
}
}3. Claude Code CLI
Выполните:
claude mcp add repo-scout node /absolute/path/to/repo-scout-mcp/index.js -e GITHUB_TOKEN=ghp_your_token_here💬 Примеры промптов для проверки
После подключения просто задайте вашему ИИ-ассистенту:
Перед началом проекта:
"Я планирую создать самохостинговую панель мониторинга для контейнеров Docker. Используй repo-scout, чтобы проверить, существует ли уже отличный open-source проект."
Поиск библиотек:
"Используй repo-scout для поиска высокорейтинговых TypeScript-пакетов финансовых технических индикаторов."
Оценка репозитория:
"Используй repo-scout get_repo_details для
shadcn/ui, чтобы обобщить его структуру."
📄 Лицензия
Создано Akash Kumar Jha. Выпущено под MIT License.
Available Tools
3 toolsget_repo_detailsA
Fetch details for one specific repo (owner/name), including README excerpt and top-level file list, so you can judge whether it fits your use case.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | In the form 'owner/repo', e.g. 'facebook/react' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description bears the full burden. It discloses that it returns a README excerpt and top-level file list, which is informative. However, it does not mention any side effects (though likely read-only), error behavior, or other edge cases, leaving some ambiguity for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that efficiently states the action, parameters, output, and purpose. Every clause adds value, and there is no redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter fetch tool without an output schema, the description sufficiently communicates what it does and why it would be used. It omits some specifics like return format details, but given the low complexity and clear intent, these are not critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'repo', with a clear example. The description's 'owner/name' phrasing overlaps with the schema and adds no extra syntax or formatting details, so it does not go beyond the schema's documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch details') and resource ('one specific repo (owner/name)'), and clarifies it includes README excerpt and top-level file list, making the tool's purpose unmistakable. It differentiates from siblings like search_repos by emphasizing 'one specific repo' rather than searching across many.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: when you have a specific repo in mind and want to assess it for a use case. It does not explicitly name alternatives or exclusions, but the implicitness is strong given the single-repo focus versus search_repos.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reposB
Search public GitHub repositories by keyword/topic. Returns stars, last-updated, license, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order, default 'stars' | |
| limit | No | Max results (default 8, max 20) | |
| query | Yes | Keywords or GitHub search syntax | |
| language | No | Optional: filter by programming language | |
| min_stars | No | Optional minimum star count |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the search is limited to public repositories and lists the return fields, which is useful. However, it does not explicitly state that this is a read-only operation, nor does it mention rate limits, pagination, or any side effects. The 'public' qualifier and output hints provide some transparency, but the description is not fully explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, informative sentence that front-loads the core purpose and mentions the return fields. There is no wasted wording, and it is appropriately sized for a search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 100% schema coverage and the description's mention of output fields, the tool is adequately documented for basic use. However, it lacks any mention of authentication needs, rate limits, or guidance on combining with siblings. The absence of an output schema means the description should clarify expected return structure more, but it does at least hint at the data returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all five parameters. The description adds minimal meaning beyond the schema—only noting 'keyword/topic' for query, which is redundant with the schema's description. It does not explain parameter interactions or advanced syntax, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches public GitHub repositories by keyword/topic, which is a specific verb and resource. It also mentions what is returned (stars, last-updated, license). However, it does not explicitly differentiate from sibling tools like get_repo_details or suggest_stack, but their purposes are obviously distinct enough that a capable agent could infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus its siblings. There is no mention of scenarios where search_repos is appropriate or where get_repo_details or suggest_stack should be used instead. The agent is left to infer usage context from the name and purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_stackA
Given a plain-language description of what you're about to build, runs several targeted GitHub searches (including curated/awesome-list style queries) and returns a ranked shortlist of existing projects/libraries you could reuse instead of building from scratch.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Optional: preferred programming language | |
| description | Yes | Plain-language description of the project/feature you're planning to build | |
| limit_per_query | No | Results per sub-query (default 4) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that it runs 'several targeted GitHub searches' (including curated/awesome-list queries) and returns a ranked shortlist, which is the core behavior. However, it does not state that it is a read-only operation, nor does it mention potential rate limits, authentication requirements, or that multiple API calls may be made. For a search tool this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly written sentence with no filler. It front-loads the input requirement ('Given a plain-language description...') and quickly explains the action and output. Every word contributes to understanding the tool's purpose, making it an exemplar of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain the return format. It states that it returns 'a ranked shortlist of existing projects/libraries,' which gives a general idea but does not specify the structure (e.g., whether it returns names, URLs, descriptions, or full repo objects). It also does not mention error conditions or rate limits. Given the relative simplicity of the tool and the presence of sibling tools, this is adequate but leaves room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so baseline is 3. The description adds context for the 'description' parameter (plain-language description of what you're about to build) which is also in the schema, so it is largely redundant. It does not add any extra meaning for 'language' or 'limit_per_query' beyond their schema descriptions. The description provides no additional parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb (runs GitHub searches) and resource (existing projects/libraries to reuse), and it distinguishes itself from siblings: search_repos for general repo searching and get_repo_details for repo details. The tool's role as a 'suggest' tool that returns a ranked shortlist of reusable libraries is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when you have a plain-language description of what you're building and want to find existing libraries to reuse. However, it does not explicitly mention alternatives (e.g., 'use search_repos for a direct repo search') or provide when-not-to-use guidance. This makes it clear but not fully explicit in routing the agent to the best sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
get_repo_details - First observed
search_repos - First observed
suggest_stack
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: retrieving details for a specific known repo, searching by keywords, and generating a shortlist from a natural-language description. No overlap in functionality or target resource.
All tool names follow a consistent verb_noun pattern in snake_case: get_repo_details, search_repos, suggest_stack. This is a predictable and uniform convention.
With only 3 tools, the server is tightly scoped to the 'repo scout' purpose: discovery (search), semantic suggestion (suggest), and evaluation (get details). Each tool earns its place, and the count is within the ideal 3-15 range.
The tool surface covers the full workflow for scouting repositories: finding candidates (search_repos, suggest_stack) and inspecting them (get_repo_details). No obvious gaps or dead ends for the stated purpose.
Maintenance
Related MCP Connectors
Finds real, maintained open-source repos that fit your project. MCP grounding for coding agents.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Search agent-ready open source repos by task, interface, ecosystem and OG score.
- RepoFuseOAuthcom.repofuse
Discover and scaffold new apps by reusing code from your GitHub repositories.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to prospect across GitHub, PyPI, and npm, searching repositories, packages, and code patterns with read-only tools.769 PyPI5MIT
- AlicenseAqualityCmaintenanceEnables AI builders to discover trending open-source projects for a given task by ranking repos based on GitHub momentum, npm/PyPI growth, and Hacker News buzz, with tools to recommend, search, assess health, and compare repositories.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to discover, evaluate, and select the best existing open-source implementations by assessing license compatibility, extracting only the needed symbols and dependencies, and producing integration or adaptation plans.Apache 2.0
- AlicenseAqualityBmaintenanceEnables AI agents to analyze public GitHub repositories directly through tools for repo health scoring, recent commit summaries, good first issue discovery, and semantic Q&A over docs and issues.427 npm1MIT