Universal code-indexer MCP server for AI coding agents
Project description
SymDex
Universal code-indexer MCP server for AI coding agents — Claude, Codex, Gemini, Cursor, and any agent that speaks MCP.
The problem: Reading a full file to find one function costs ~7,500 tokens. SymDex pre-indexes your codebase once, then returns precise byte-offset locations. The same lookup costs ~200 tokens — a 97% reduction.
Installation
pip install symdex
Quickstart
1. Index a project
symdex index ./myproject --name myproject
2. Search for a symbol
symdex search "validate email"
3. Start the MCP server
symdex serve # stdio mode (for local agents)
symdex serve --port 8080 # HTTP mode
MCP Tool Reference
| Tool | Description |
|---|---|
index_folder |
Index a local folder (run once per session) |
search_symbols |
Find function/class by name (~200 tokens) |
get_symbol |
Get one function's full source by byte offset |
get_file_outline |
All symbols in a file, no full content |
get_repo_outline |
Directory structure + symbol stats |
search_text |
Text search, returns matching lines only |
get_file_tree |
Directory tree without content |
list_repos |
List all indexed repos |
get_symbols |
Bulk symbol retrieval |
index_repo |
Index a named repo |
invalidate_cache |
Force re-index on next request |
semantic_search |
Find symbols by meaning (embedding similarity) |
get_callers |
Who calls this function |
get_callees |
What this function calls |
CLI Commands
symdex index ./myproject # Index a folder
symdex search "validate email" # Search symbols
symdex find MyClass # Exact name lookup
symdex outline myproject/module.py --repo myproject # File outline
symdex text "TODO" --repo myproject # Text search
symdex semantic "parse authentication token" --repo myproject # Semantic search
symdex callers my_function --repo myproject # Call graph: who calls this
symdex callees my_function --repo myproject # Call graph: what this calls
symdex repos # List indexed repos
symdex serve # Start MCP server
Supported Languages
Python, JavaScript, TypeScript, Go, Rust, Java, PHP, C#, C, C++, Elixir, Ruby (13 languages via tree-sitter)
Agent Configuration
Add to your agent's MCP config:
{
"mcpServers": {
"symdex": {
"command": "symdex",
"args": ["serve"]
}
}
}
License
MIT — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file symdex-0.1.0.tar.gz.
File metadata
- Download URL: symdex-0.1.0.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4826c852543fe10d5baee5d85487a6014bc96245723525a27d41b4a62bfdf4c9
|
|
| MD5 |
6945d99078f9842b31bae9d438398934
|
|
| BLAKE2b-256 |
d7b87fdeef3aea48a85669d3835ce774ff6fcadf21a292057572fb52d131c242
|
File details
Details for the file symdex-0.1.0-py3-none-any.whl.
File metadata
- Download URL: symdex-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49e890b0c7d85baa68b541d65ce14cf9e18c375146adfa250b454f13489f0cfe
|
|
| MD5 |
5d50ca4835e8c879206da4ce45d1bccd
|
|
| BLAKE2b-256 |
11428ca41a32d56d68a25ee0c559f7764415e7069dfdbe293528f46c462fc310
|