revibe-mcp
Analyzes GitHub repositories to provide architecture, file roles, execution flows, system design Q&A, and structured agent context.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@revibe-mcpAnalyze the architecture of github.com/facebook/react"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
revibe-mcp
MCP server for Revibe codebase analysis. Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.
Analyze any GitHub repo — get architecture, file roles, execution flows, system design Q&A, and structured agent context.
Quick Start (Node.js — zero install)
Add to your MCP client config:
{
"mcpServers": {
"revibe": {
"command": "npx",
"args": ["revibe-mcp"]
}
}
}Then ask your AI assistant to "log in to Revibe" — it will open your browser for a one-time signup.
Related MCP server: Narad GitHub Agent
Quick Start (Python)
pip install revibe-mcp
revibe-mcp-auth login{
"mcpServers": {
"revibe": {
"command": "revibe-mcp"
}
}
}Where to add the config
Client | Config location |
Claude Desktop |
|
Claude Code |
|
Cursor | Settings > MCP Servers > Add |
Windsurf | MCP config in settings |
Auth
Two options:
Option A: Browser login (recommended)
# Node.js
npx revibe-mcp-auth login
# Python
revibe-mcp-auth loginOpens your browser — sign up or log in, click "Authorize". API key saved automatically to ~/.config/revibe/credentials.json.
Option B: Manual API key
Get a key from app.revibe.codes/settings, then pass it via env:
{
"mcpServers": {
"revibe": {
"command": "npx",
"args": ["revibe-mcp"],
"env": {
"REVIBE_API_KEY": "rk_live_your_key_here"
}
}
}
}Tools
Tool | Description |
| Log in via browser — one-time setup |
| Submit a GitHub repo for analysis (auto-detects from git remote) |
| Check progress of an analysis job |
| Architecture, modules, patterns overview |
| Drill into architecture, file_roles, system_design_qa, etc. |
| Full structured JSON optimized for AI agents |
Usage
Once configured, just ask your AI assistant:
"Analyze this repo with Revibe"
"What's the architecture of github.com/user/repo?"
"Get the agent context for this codebase"
The tools handle auto-detection, polling, and structured output automatically.
CLI Commands
# Node.js
npx revibe-mcp-auth login # Log in via browser
npx revibe-mcp-auth status # Show current auth status
npx revibe-mcp-auth logout # Remove saved credentials
# Python
revibe-mcp-auth login
revibe-mcp-auth status
revibe-mcp-auth logoutClaude Code Skill
If you use Claude Code, you can install Revibe as a slash command skill instead of (or in addition to) the MCP server:
# Copy the skill file
mkdir -p ~/.claude/skills/revibe
curl -o ~/.claude/skills/revibe/SKILL.md \
https://raw.githubusercontent.com/selvatuple/revibe-mcp/main/skills/claude-code/SKILL.mdThen use /revibe or /revibe github.com/user/repo inside Claude Code.
The skill file is also available at skills/claude-code/SKILL.md.
Packages & Distribution
Method | Install |
npm (zero install) |
|
PyPI |
|
MCP Registry | registry.modelcontextprotocol.io — search "revibe" |
Claude Code Skill | Copy |
License
MIT
Available Tools
6 toolsanalyze_repoA
Submit a GitHub repository for Revibe analysis. Analyzes architecture, file roles, execution flows, system design Q&A, and more. If no URL is provided, auto-detects from the current git remote. Analysis takes 3-7 minutes for most repos.
| Name | Required | Description | Default |
|---|---|---|---|
| reanalyze | No | Force re-analysis even if already analyzed. | |
| github_url | No | GitHub repository URL (e.g. https://github.com/owner/repo). Auto-detected if empty. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It adds useful context about auto-detection and runtime, but does not disclose potential side effects (e.g., creating an analysis record) or whether authentication is required. It gives a decent baseline but leaves gaps.
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?
Four concise sentences, each adding distinct value: purpose, scope, auto-detection, and duration. No filler or repetition, well front-loaded.
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?
Covers the trigger and behavior well, but does not explain what the tool returns or how to retrieve analysis results via sibling tools. Given no output schema, this omission leaves a notable gap in the overall workflow.
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 schema already describes both parameters fully (100% coverage). The description adds value by clarifying auto-detection behavior for github_url, but says nothing about reanalyze beyond its schema definition. Marginal added value.
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 action ('Submit a GitHub repository for Revibe analysis') and enumerates the analysis scope (architecture, file roles, execution flows, system design Q&A). This distinguishes it from sibling retrieval tools like get_summary and get_section.
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 explicit context for when to use the tool (submit a repo, auto-detect from git remote if no URL) and sets a time expectation (3-7 minutes). It does not explicitly name alternatives like check_status, but the workflow is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_statusB
Check the status of a Revibe analysis job.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID returned from analyze_repo. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states 'check the status,' which implies a read-only operation, but it does not disclose whether the call is blocking, what it returns on success or failure, or any required authentication. Minimal transparency beyond the obvious.
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 sentence that is clear and precise. It states exactly what the tool does without any filler words or unnecessary detail. Perfectly concise and front-loaded.
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 tool's simplicity, the description is minimally adequate but lacks important context. There is no output schema, and the description does not mention what status information is returned (e.g., pending, running, completed, failed). It also fails to indicate the typical usage pattern of polling after analyze_repo, which would help the agent understand the job lifecycle. The description should provide more context to be fully effective.
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 job_id, with the schema explicitly stating it is 'The job ID returned from analyze_repo.' This already links the parameter to a sibling tool, so the description adds no additional parameter meaning. Baseline 3 is appropriate because the schema does the heavy lifting.
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 identifies the tool's purpose: checking the status of a Revibe analysis job. The verb 'check' and resource 'status of a Revibe analysis job' are specific, and this distinguishes it from sibling tools like analyze_repo, get_summary, and get_section, which focus on different stages or data.
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 no explicit guidance on when to use this tool versus alternatives. It does not mention that it should be used after analyze_repo returns a job_id, nor does it suggest polling behavior or conditions that trigger its use. The context is implied by the name and schema reference, but the description itself lacks this information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_contextA
Get the full agent context JSON for a completed analysis. This is a structured format optimized for AI agents, containing file index, dependency graph, architecture layers, call chains, constraints, design decisions, and database schema. Save the output to agent_context.json for persistent codebase understanding.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID from analyze_repo. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It describes the output contents and suggests saving to a file, but doesn't explicitly state that it's read-only or note any side effects. However, the name 'get' implies retrieval, and it does explain what the returned JSON contains.
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 two sentences, front-loaded with the primary purpose and then detailing the output contents. Every sentence adds value without unnecessary fluff.
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 tool has no output schema, the description adequately explains what the returned JSON includes (file index, dependency graph, architecture layers, etc.). It also notes the prerequisite of a completed analysis, making it sufficiently complete for an agent.
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 schema description covers the single parameter (job_id) fully with 'The job ID from analyze_repo.' The tool description adds no additional semantic meaning beyond that, but since schema coverage is 100%, 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 gets the full agent context JSON for a completed analysis, with a specific verb ('get') and resource ('full agent context JSON'). It distinguishes itself from sibling tools like get_summary and get_section by emphasizing it returns the complete structured context rather than a part.
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: for a completed analysis and for persistent codebase understanding. It implies this is the comprehensive option compared to smaller retrievals, but doesn't explicitly name alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sectionA
Get a specific analysis section from a completed Revibe analysis.
Available sections:
technical_architecture (or "architecture") — system layers, technologies, diagrams
file_roles — what each file does, importance, dependencies
system_design_qa — interview-style Q&A about design decisions
story_flow (or "execution_flows") — how the app starts up and handles requests
database_schema (or "database") — tables, relationships, ER diagrams
concepts_explanation (or "concepts") — key patterns and concepts used
modules — logical groupings of files
business_logic — core domain logic and rules
flow_implementation — detailed execution flow code traces
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID from analyze_repo. | |
| section | Yes | Section name (e.g. "architecture", "file_roles", "system_design_qa"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It communicates that this is a read-only 'Get' operation requiring a completed analysis, and describes the content for each section. However, it doesn't disclose error behavior (e.g., invalid section name), authentication requirements, or return structure. This is adequate for a simple fetch 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 efficiently structured: a clear one-sentence purpose followed by a concise bulleted list of valid sections and their contents. No filler or redundant information.
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 tool has no output schema, the description still gives a good sense of what will be returned by describing each section's content. The sibling context (analyze_repo, check_status, get_summary) clarifies its role. It is complete enough for an AI to understand when and how to invoke it, though it stops short of explaining pagination or formatting details.
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 schema already describes both parameters, so baseline is 3. The description adds value by listing valid section values with aliases and explaining the content of each section, which goes beyond what the schema's generic parameter description provides.
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+resource: 'Get a specific analysis section from a completed Revibe analysis.' It clearly distinguishes from siblings like get_summary (which returns the whole summary) and check_status (which checks status). The explicit list of available sections further clarifies the scope.
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 clearly implies the tool is used after an analysis is completed, but it does not explicitly contrast with alternatives like get_summary or check_status. The list of sections provides strong context for what can be fetched, but lacks explicit 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_summaryB
Get a condensed summary of a completed Revibe analysis. Shows architecture pattern, language, file count, key modules, and available sections.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID from analyze_repo. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states that it returns a summary but does not disclose whether the operation has side effects, how it behaves if the analysis is incomplete, or error conditions. It mentions 'completed' as a prerequisite but lacks details on why or what happens otherwise.
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 two concise sentences, front-loaded with the core purpose and immediately followed by the useful content breakdown. No unnecessary words or repetition.
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 tool with no output schema, the description covers what the tool does and what it returns, including hints about available sections. It lacks explicit error/edge-case handling, but overall it is sufficiently complete for the tool's simplicity.
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 schema already provides a clear description for job_id ('The job ID from analyze_repo') with 100% coverage. The tool description adds no additional parameter meaning, so the baseline 3 applies.
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's verb ('Get') and resource ('condensed summary of a completed Revibe analysis'), and it specifies the content (architecture pattern, language, file count, key modules, available sections). This distinguishes it from siblings like get_section, though it doesn't explicitly differentiate by name.
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?
It implies usage for completed analyses and lists what the summary shows, providing implicit context. However, it does not explicitly state when to use this tool versus get_section or check_status, nor does it mention prerequisites or exclusions beyond 'completed'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revibe_loginA
Log in to Revibe via browser. Opens a browser window for authentication. After logging in and clicking Authorize, the API key is saved locally so all other Revibe tools work automatically.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behaviors: opens a browser window, requires user interaction ('logging in and clicking Authorize'), and saves the API key locally. It could mention whether existing keys are overwritten, but this is adequate for a simple login tool.
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?
Three sentences deliver all essential information without redundancy. The first sentence states the purpose, the second explains the mechanism, and the third clarifies the effect on other tools. Highly efficient.
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 zero parameters and no output schema, the description fully covers the user's needs: how it works, what the user must do, and the result. It also connects to the broader toolset by explaining the automatic API key persistence.
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 tool has zero parameters, so the schema provides no information. The description explains the interactive nature and local persistence, which is sufficient since there are no parameters to document.
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's purpose: 'Log in to Revibe via browser.' It directly names the resource (Revibe) and the action (login), distinguishing it from the sibling tools, which are related to repo analysis and status checks.
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 clearly indicates this is a prerequisite for other Revibe tools ('so all other Revibe tools work automatically'), providing clear context for when to use it. It doesn't explicitly name alternatives, but the sibling list makes it obvious that this is the authentication entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct role: login for authentication, analyze_repo for submission, check_status for job monitoring, and three retrieval tools with clear separation of scope. get_summary, get_section, and get_agent_context serve different granularities of output, preventing confusion.
Most tools follow a clear verb_noun pattern (analyze_repo, check_status, get_summary, get_section, get_agent_context). The exception is revibe_login, which places a brand prefix before a verb and does not match the conventional verb-first structure, creating a minor inconsistency.
With 6 tools, the server is well-scoped for its purpose: authentication, analysis submission, status polling, and result retrieval. This is an appropriate size that covers the workflow without redundancy or unnecessary bloat.
The tool set covers the complete lifecycle of a Revibe analysis: login, submit repository, check progress, and retrieve results in multiple formats (summary, sections, and full agent context). No critical steps are missing for the intended use case, and the output options are sufficient for both human and agent consumption.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Repo intel for AI coding agents: overview, PRs, contributors, hot files, CI, deps. Remote MCP.
Ask any GitHub repository a question. Get source-backed answers.
Turn a GitHub repo or docs site into agent-ready context: pack it or search it, over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to fetch and pack the most relevant files from any GitHub repository for a given query, within token limits. Works with Claude Desktop, Cursor, Windsurf, and VS Code Copilot.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered GitHub interactions including repository analysis, code search, PR reviews, and more through the MCP protocol.4MIT
- FlicenseNot gradedqualityAmaintenanceAnalyzes repositories, explains architecture, calculates change impact, and enforces guardrails for AI Agents like Claude Code, Cursor, and Codex via MCP tools.
- AlicenseNot gradedqualityCmaintenanceProvides AI coding agents with structured intelligence about any GitHub repository including overview, PRs, contributors, hot files, CI status, and dependencies via a hosted MCP endpoint.34MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/selvatuple/revibe-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server