Skip to main content
Glama

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

~/Library/Application Support/Claude/claude_desktop_config.json

Claude Code

.mcp.json in your project root

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 login

Opens 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

revibe_login

Log in via browser — one-time setup

analyze_repo

Submit a GitHub repo for analysis (auto-detects from git remote)

check_status

Check progress of an analysis job

get_summary

Architecture, modules, patterns overview

get_section

Drill into architecture, file_roles, system_design_qa, etc.

get_agent_context

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 logout

Claude 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.md

Then 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)

npx revibe-mcp

PyPI

pip install revibe-mcp

MCP Registry

registry.modelcontextprotocol.io — search "revibe"

Claude Code Skill

Copy skills/claude-code/SKILL.md to ~/.claude/skills/revibe/

License

MIT

Available Tools

6 tools
analyze_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
reanalyzeNoForce re-analysis even if already analyzed.
github_urlNoGitHub repository URL (e.g. https://github.com/owner/repo). Auto-detected if empty.

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID returned from analyze_repo.

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID from analyze_repo.

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID from analyze_repo.
sectionYesSection name (e.g. "architecture", "file_roles", "system_design_qa").

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID from analyze_repo.

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

A4/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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