Documentation

Everything you need to install, configure, and use the Altab intelligence layer. One MCP server, nine tools, any AI coding agent.

Quick Start

Add the Altab MCP server to your AI coding tool. Setup takes less than 30 seconds.

claude mcp add altab --transport http https://api.altab.ai/mcp

Run this in your terminal. Verify with claude mcp list. You should see altab in the output.

codex mcp add altab --url https://api.altab.ai/mcp
.cursor/mcp.json
{
  "mcpServers": {
    "altab": {
      "url": "https://api.altab.ai/mcp"
    }
  }
}

Create this at your project root, or at ~/.cursor/mcp.json for global access.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "altab": {
      "url": "https://api.altab.ai/mcp"
    }
  }
}

Restart Windsurf after saving.

claude_desktop_config.json
{
  "mcpServers": {
    "altab": {
      "url": "https://api.altab.ai/mcp"
    }
  }
}
Config location

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

Windows: %APPDATA%\Claude\claude_desktop_config.json

Linux: ~/.config/Claude/claude_desktop_config.json

Fully quit and reopen Claude Desktop after saving.

.vscode/mcp.json
{
  "servers": {
    "altab": {
      "type": "http",
      "url": "https://api.altab.ai/mcp"
    }
  }
}

Requires VS Code 1.99+ with a Copilot subscription that supports agent mode.

No API keys needed

Authentication is handled automatically through your browser on first use. See Authentication for details.

Authentication

No API keys to manage. You sign in through your browser on the first tool call, and your MCP client handles the rest.

How it works

  1. Your AI tool calls an Altab tool for the first time (e.g. search_codebase)
  2. Your browser opens and asks you to sign in with GitHub, Google, or email
  3. You authorize Altab and your browser redirects back
  4. All subsequent tool calls are authenticated automatically

Sessions refresh automatically. If you go a long time without using Altab, you may need to sign in again.

Revoking access

Remove the MCP server from your client configuration. If you signed in with GitHub, you can also revoke from Settings > Applications > Authorized OAuth Apps.

First Query

After installing, just talk to your AI agent normally. Include a repo_url so Altab knows which project to work with.

Example prompts

Search for code
"Use Altab to search for authentication middleware in github.com/acme/backend"
Understand dependencies
"What functions call handle_payment? Check using Altab on github.com/acme/backend"
Blast radius analysis
"Before I refactor the User class, show me the blast radius using Altab"

What happens on first use

  1. Altab checks if this project has been indexed. If yes, the tool runs immediately
  2. If not yet indexed, Altab begins indexing automatically. Typically 2-5 minutes
  3. Check progress anytime with brain_status
  4. Once indexing completes, all 9 tools are available. Future sessions start instantly

Response format

Altab returns plain text your AI agent can read and reason about. Search results include file paths, line numbers, and code snippets. Brain tools return symbols, call chains, and relationships.

Session binding

After your first tool call with a repo_url, that project is bound to your session. You don't need to provide the URL again. Sessions last 1 hour. To switch projects, provide a different repo_url.

Search Tools

Three tools for finding code. Altab goes beyond simple text matching. It understands what your code means and how it's structured.

search_codebase all plans AI-powered search across your entire codebase

The primary search tool. Returns ranked results with file paths, line numbers, relevance scores, and code snippets. Use this whenever your AI agent needs to find code related to a concept, feature, or pattern.

Example
"Search for how we handle rate limiting in the API layer"
Parameters
NameTypeDescription
querystring requiredNatural language or code query. Works with conceptual queries like "error handling in the payment flow" and exact names like handle_payment
repo_urlstringRepository URL, e.g. github.com/owner/repo. Optional after first call
max_resultsintNumber of results (1-50). Default: 10
search_typestringhybrid (default, paid), semantic, or lexical. Free plans default to lexical
search_definitions all plans Find where a symbol is defined

Find where a specific symbol is defined in your codebase. Returns the exact file path, line number, and full signature. Finds the actual definition, not just text matches.

Example
"Find the definition of the UserService class"
Parameters
NameTypeDescription
symbol_namestring requiredName of the function, class, method, or variable. Use the exact name as in code
repo_urlstringRepository URL. Optional after first call
search_usages paid plans Find all references to a symbol

Find all places where a symbol is used across the codebase. Returns every call site, import statement, and reference with file paths and line numbers.

Example
"Show me everywhere the validate_token function is called"
Parameters
NameTypeDescription
symbol_namestring requiredName of the symbol to search for
repo_urlstringRepository URL. Optional after first call
max_resultsintNumber of results (1-50). Default: 20

Brain Tools

Six tools for deep structural understanding. The project brain maps every function, class, method, and module and understands how they relate.

brain_status all plans Check indexing status and remaining queries

Check the indexing status of the current project. Returns whether the brain is ready, detected languages, last indexed commit, and remaining daily queries. Call this first to verify the brain is ready.

Example
"Check the brain status for github.com/acme/backend"
Parameters
NameTypeDescription
repo_urlstringRepository URL. Optional if session is already bound
brain_symbol_lookup paid plans Deep info on a symbol and its relationships

Get comprehensive information about a specific symbol: type, file location, full signature, and all relationships (what it calls, what calls it, what it inherits from, what it contains).

Example
"Look up the PaymentProcessor class in the brain"
Parameters
NameTypeDescription
symbol_namestring requiredName of the function, class, method, or type to look up
repo_urlstringRepository URL. Optional if session is already bound
kindstringFilter by type: function, class, method, type
brain_callers paid plans Trace upstream callers of a function

Find all functions and methods that call a given function. Returns callers organized by distance. Depth 1 shows direct callers, depth 2 shows their callers, and so on.

Example
"Show me everything that calls create_invoice, up to 3 levels deep"
Parameters
NameTypeDescription
function_namestring requiredName of the function to trace callers for
repo_urlstringRepository URL. Optional if session is already bound
depthintTraversal depth (1-5). Default: 2
brain_callees paid plans Trace downstream calls from a function

Find all functions and methods that a given function calls. The reverse of brain_callers. Use this to understand dependencies, external services touched, and what might break if downstream code changes.

Example
"What does the process_order function call internally?"
Parameters
NameTypeDescription
function_namestring requiredName of the function to trace callees for
repo_urlstringRepository URL. Optional if session is already bound
depthintTraversal depth (1-5). Default: 2
brain_blast_radius paid plans Full impact analysis before changes

Analyze the full impact of changing a function, class, or module. Returns every dependent grouped by distance: every caller, every inheritor, every importer, traced across the entire codebase.

Example
"What is the blast radius if I change the DatabaseConnection class?"
Parameters
NameTypeDescription
targetstring requiredSymbol name or node ID. e.g. DatabaseConnection
repo_urlstringRepository URL. Optional if session is already bound
max_depthintMax traversal depth (1-5). Default: 5
brain_conventions paid plans Auto-detected coding patterns and rules

Get automatically detected coding conventions and architectural invariants. Returns naming patterns, code style rules, architectural invariants, and common abstractions. Use this to ensure AI-generated code matches your project's patterns.

Example
"What are the coding conventions for this project?"
Parameters
NameTypeDescription
repo_urlstringRepository URL. Optional if session is already bound

Plans & Limits

Every tool call counts as one query. Daily limits reset at midnight UTC. Check remaining queries with brain_status.

Free
$0
  • 50 queries / day
  • 1 project
  • Full intelligence layer
Pro
$20 /mo
  • Everything in Free
  • Unlimited projects
  • 200 queries / day
  • Email support
Ultra
$100 /mo
  • Everything in Pro
  • 500 queries / day
  • Workspace + AI agents
  • Priority support
Max
$200 /mo
  • Everything in Ultra
  • 2,000 queries / day
  • More AI usage
  • Dedicated support

What counts as a query?

Each individual tool call counts as one query. If your AI agent calls search_codebase and then brain_callers, that's 2 queries. Authentication and token refresh don't count.

Free tier

The free plan gives you the full intelligence layer with 1 project and 50 queries per day. Enough to evaluate the platform. Upgrade for unlimited projects and higher limits.

When you hit your limit

Altab returns a message with a link to upgrade. Your indexed projects and brain data are preserved. Limits reset at midnight UTC, or upgrade for an immediate increase.

Core Concepts

Repository URL

Tools accept a repo_url parameter. Use the format github.com/owner/repo. Altab normalizes automatically. All of these are equivalent:

  • github.com/acme/backend
  • https://github.com/acme/backend
  • https://github.com/acme/backend.git

Session Binding

After the first call with a repo_url, that project is bound to your session. All subsequent calls use it automatically. Sessions last 1 hour. To switch, provide a different repo_url.

Auto-Indexing

When you reference a new project, Altab indexes it automatically. No manual setup. Typically 2-5 minutes.

Incremental Updates

After the initial index, only changed files are re-processed when you push. Your AI agent always has the latest state.

Privacy & Security

Each user's data is fully isolated. No other user can access your project data. Altab does not use your code for training.

Best Practices

Altab works out of the box, but a short config snippet tells your AI agent to consistently prefer Altab over basic text search.

Recommended workflow

  1. Call brain_status to verify the index is ready
  2. Use search_codebase to discover relevant code
  3. Use brain_symbol_lookup, brain_callers, or brain_callees for deep analysis
  4. Call brain_conventions before writing new code
  5. Call brain_blast_radius before changing existing code

Project configuration

Add one of these snippets so your AI agent consistently uses Altab tools.

CLAUDE.md
## Altab Intelligence Layer

When Altab MCP tools are available, ALWAYS prefer them over built-in alternatives:

- **Code search:** Use `search_codebase` instead of Grep or file search
- **Find definitions:** Use `search_definitions` instead of grep for def/class/function
- **Find usages:** Use `search_usages` instead of grep for symbol names
- **Understand symbols:** Use `brain_symbol_lookup` for type, signature, and relationships
- **Trace callers/callees:** Use `brain_callers` / `brain_callees` instead of manually reading files
- **Before modifying code:** ALWAYS call `brain_blast_radius` to understand impact
- **Before writing new code:** ALWAYS call `brain_conventions` to match project patterns
.cursorrules
When Altab MCP tools are available, always use them for code search and analysis:

- Use search_codebase instead of @codebase or built-in search
- Use search_definitions instead of go-to-definition
- Use search_usages instead of grep for symbol references
- Use brain_symbol_lookup to understand any symbol deeply
- Use brain_callers / brain_callees to trace call chains
- Always call brain_blast_radius before modifying existing code
- Always call brain_conventions before generating new code
AGENTS.md
## Altab Intelligence Layer

When Altab MCP tools are available, prefer them over built-in alternatives:

- Use search_codebase instead of grep or file search
- Use search_definitions instead of grep for def/class/function
- Use search_usages instead of grep for symbol names
- Use brain_symbol_lookup for type, signature, and relationships
- Use brain_callers / brain_callees instead of manually reading files
- Call brain_blast_radius before modifying any existing code
- Call brain_conventions before writing new code

Most AI coding tools support a project-level instruction file. The key rules:

  • Prefer Altab search tools over built-in text search
  • Call brain_blast_radius before modifying existing code
  • Call brain_conventions before writing new code
  • Use brain_callers / brain_callees instead of manually tracing calls
Why this helps

AI agents treat all tools as equal candidates and choose based on familiarity. Built-in tools like grep get selected first. Adding explicit routing rules ensures your agent uses Altab's deeper analysis instead.

Troubleshooting

"Search index not available"

Your project is still being indexed. Run brain_status to check progress. Typically 2-5 minutes. Large monorepos (100K+ files) may take longer.

"No project specified"

Session expired or no repo_url provided. Include one in your next tool call.

Authentication not opening browser

  • Restart your MCP client. Some clients only establish the OAuth handler on startup
  • Check config for syntax errors. A missing comma can prevent connection
  • Check your default browser. OAuth redirect depends on it being properly configured
  • Try Claude Code CLI as a fallback to verify your account works

"Rate limit exceeded"

You've used all daily queries. Resets at midnight UTC, or upgrade for an immediate increase. Your data is preserved.

Tools not appearing

  • Config file saved and valid. Even one extra comma breaks JSON
  • Client restarted. Most read config only on startup
  • Correct config path. See Quick Start
  • URL is exactly https://api.altab.ai/mcp with no trailing slash

For Claude Code, verify with:

claude mcp list

Agent ignores Altab tools

Add the project configuration snippet from Best Practices. Without explicit routing, agents default to familiar built-in tools.

"Symbol not found"

  • Indexing not complete. Check brain_status
  • Name mismatch. Use search_definitions first to find the exact name
  • Dynamic code. Symbols generated at runtime may not be detected

Private repositories

Altab can index private repos. GitHub authentication grants read access. Each user's data is fully isolated.

Supported languages

  • Full support: Python, TypeScript, JavaScript, Go, Rust, Java, C, C++, Ruby, PHP, Swift, Kotlin, C#, Scala
  • Search support: Any text-based file (config, docs, SQL, HTML, CSS, etc.)

Need more help?

Reach out at altab.ai/contact. For priority support, upgrade to Ultra or Max.

Can't find what you need? Talk to the team directly. Join Discord