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
{
"mcpServers": {
"altab": {
"url": "https://api.altab.ai/mcp"
}
}
}
Create this at your project root, or at ~/.cursor/mcp.json for global access.
{
"mcpServers": {
"altab": {
"url": "https://api.altab.ai/mcp"
}
}
}
Restart Windsurf after saving.
{
"mcpServers": {
"altab": {
"url": "https://api.altab.ai/mcp"
}
}
}
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.
{
"servers": {
"altab": {
"type": "http",
"url": "https://api.altab.ai/mcp"
}
}
}
Requires VS Code 1.99+ with a Copilot subscription that supports agent mode.
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
- Your AI tool calls an Altab tool for the first time (e.g.
search_codebase) - Your browser opens and asks you to sign in with GitHub, Google, or email
- You authorize Altab and your browser redirects back
- 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
"Use Altab to search for authentication middleware in github.com/acme/backend"
"What functions call handle_payment? Check using Altab on github.com/acme/backend"
"Before I refactor the User class, show me the blast radius using Altab"
What happens on first use
- Altab checks if this project has been indexed. If yes, the tool runs immediately
- If not yet indexed, Altab begins indexing automatically. Typically 2-5 minutes
- Check progress anytime with
brain_status - 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.
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.
| Name | Type | Description |
|---|---|---|
| query | string required | Natural language or code query. Works with conceptual queries like "error handling in the payment flow" and exact names like handle_payment |
| repo_url | string | Repository URL, e.g. github.com/owner/repo. Optional after first call |
| max_results | int | Number of results (1-50). Default: 10 |
| search_type | string | hybrid (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.
| Name | Type | Description |
|---|---|---|
| symbol_name | string required | Name of the function, class, method, or variable. Use the exact name as in code |
| repo_url | string | Repository 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.
| Name | Type | Description |
|---|---|---|
| symbol_name | string required | Name of the symbol to search for |
| repo_url | string | Repository URL. Optional after first call |
| max_results | int | Number 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.
| Name | Type | Description |
|---|---|---|
| repo_url | string | Repository 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).
| Name | Type | Description |
|---|---|---|
| symbol_name | string required | Name of the function, class, method, or type to look up |
| repo_url | string | Repository URL. Optional if session is already bound |
| kind | string | Filter 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.
| Name | Type | Description |
|---|---|---|
| function_name | string required | Name of the function to trace callers for |
| repo_url | string | Repository URL. Optional if session is already bound |
| depth | int | Traversal 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.
| Name | Type | Description |
|---|---|---|
| function_name | string required | Name of the function to trace callees for |
| repo_url | string | Repository URL. Optional if session is already bound |
| depth | int | Traversal 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.
| Name | Type | Description |
|---|---|---|
| target | string required | Symbol name or node ID. e.g. DatabaseConnection |
| repo_url | string | Repository URL. Optional if session is already bound |
| max_depth | int | Max 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.
| Name | Type | Description |
|---|---|---|
| repo_url | string | Repository 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.
- 50 queries / day
- 1 project
- Full intelligence layer
- Everything in Free
- Unlimited projects
- 200 queries / day
- Email support
- Everything in Pro
- 500 queries / day
- Workspace + AI agents
- Priority support
- 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.
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/backendhttps://github.com/acme/backendhttps://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
- Call
brain_statusto verify the index is ready - Use
search_codebaseto discover relevant code - Use
brain_symbol_lookup,brain_callers, orbrain_calleesfor deep analysis - Call
brain_conventionsbefore writing new code - Call
brain_blast_radiusbefore changing existing code
Project configuration
Add one of these snippets so your AI agent consistently uses Altab tools.
## 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
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
## 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_radiusbefore modifying existing code - Call
brain_conventionsbefore writing new code - Use
brain_callers/brain_calleesinstead of manually tracing calls
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/mcpwith 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_definitionsfirst 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.