
xmp4 — Semantic code knowledge for your stack
Connects to a hosted SCIP index of 856 popular open source libraries across C#, Java, TypeScript, Python, Rust, and PHP. Exposes 17 semantic code navigation tools including symbol search, call hierarchies, precise callers and callees, type inheritance, and source extraction. Runs over streamable HTTP with no local clone required. The benchmark claims 42x fewer tokens than file-based approaches for the same question because it returns compiler-resolved symbols instead of grep output. Useful when your agent repeatedly clones Flask or Tokio to answer shallow questions about method signatures or call sites. Adds libraries by demand based on aggregate query logs and explicit requests.
- tools
- 16
- transport
- HTTP
- last updated
- Apr 23, 2026
Install
From registry metadata$ npx add-mcp https://mcp.example4.ai/mcp --name xmp4Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http xmp4 https://mcp.example4.ai/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 16 toolsVerified live against the running server on Nov 6, 2026.
xmp4_calleesFind direct callees (methods called by) a symbol in a project. Navigate step-by-step by calling xmp4_callees again on interesting results.7 params
Find direct callees (methods called by) a symbol in a project. Navigate step-by-step by calling xmp4_callees again on interesting results.
docsstringfile_pathstringoutput_formatstringpageintegerpage_sizeintegerproject*stringsymbol_name*stringxmp4_callersFind direct callers of a symbol in a project. Navigate step-by-step by calling xmp4_callers again on interesting results.7 params
Find direct callers of a symbol in a project. Navigate step-by-step by calling xmp4_callers again on interesting results.
docsstringfile_pathstringoutput_formatstringpageintegerpage_sizeintegerproject*stringsymbol_name*stringxmp4_depsList external dependencies of a project.4 params
List external dependencies of a project.
output_formatstringpageintegerpage_sizeintegerproject*stringxmp4_grepServer-side regex text search over indexed project source files. Free tier: requires file_path (single file). Premium tier (XMP4_PREMIUM_GREP_WALK=true): allows file_glob multi-file walk. Prefer xmp4_tests_for/xmp4_usages for SCIP symbols — grep is for text not indexed (commen...8 params
Server-side regex text search over indexed project source files. Free tier: requires file_path (single file). Premium tier (XMP4_PREMIUM_GREP_WALK=true): allows file_glob multi-file walk. Prefer xmp4_tests_for/xmp4_usages for SCIP symbols — grep is for text not indexed (commen...
case_sensitivebooleanfile_globstringfile_pathstringmax_resultsintegerpageintegerpage_sizeintegerpattern*stringproject*stringxmp4_guideUsage guide for xmp4 tools — read this first to learn the correct workflow
Usage guide for xmp4 tools — read this first to learn the correct workflow
No parameters. Call it with no arguments.
xmp4_hierarchyGet type hierarchy (base, interfaces, derived) for a symbol in a project.7 params
Get type hierarchy (base, interfaces, derived) for a symbol in a project.
docsstringfile_pathstringoutput_formatstringpageintegerpage_sizeintegerproject*stringsymbol_name*stringxmp4_infoGet detailed information about a symbol in a project.7 params
Get detailed information about a symbol in a project.
docsstringfile_pathstringoutput_formatstringpageintegerpage_sizeintegerproject*stringsymbol_name*stringxmp4_outlineGet outline (all symbols) for a file in a project.5 params
Get outline (all symbols) for a file in a project.
file_path*stringoutput_formatstringpageintegerpage_sizeintegerproject*stringxmp4_projectsSearch and browse projects by language and name. Use this first to discover projects, then use other tools with the repo name.5 params
Search and browse projects by language and name. Use this first to discover projects, then use other tools with the repo name.
languagestringpageintegerpage_sizeintegerquerystringrepostringxmp4_searchSearch symbols in a project. Use xmp4_projects first to find the project identifier.7 params
Search symbols in a project. Use xmp4_projects first to find the project identifier.
kindstringmax_resultsintegeroutput_formatstringpageintegerpage_sizeintegerproject*stringquery*stringxmp4_serverGet server information, version, and capabilities
Get server information, version, and capabilities
No parameters. Call it with no arguments.
xmp4_sourceExtract source code for a symbol in a project.7 params
Extract source code for a symbol in a project.
docsstringfile_pathstringoutput_formatstringpageintegerpage_sizeintegerproject*stringsymbol_name*stringxmp4_symbol_atLSP-style position→symbol lookup. Given (file_path, line, column) returns the symbol whose occurrence covers that cursor position. line is 1-based; column is 0-based. Use after xmp4_outline/xmp4_view when you know coordinates and want the canonical symbol.4 params
LSP-style position→symbol lookup. Given (file_path, line, column) returns the symbol whose occurrence covers that cursor position. line is 1-based; column is 0-based. Use after xmp4_outline/xmp4_view when you know coordinates and want the canonical symbol.
columnintegerfile_path*stringlineintegerproject*stringxmp4_tests_forFind direct tests that exercise a given symbol (direct callers filtered to test-file candidates per language pattern: CSharp/Java/PHP: *Test(s).<ext>; Python: test_*.py / *_test.py; TypeScript/JavaScript: *.spec/test.{ts,js}; Rust: *_tests.rs / tests/; etc.).7 params
Find direct tests that exercise a given symbol (direct callers filtered to test-file candidates per language pattern: CSharp/Java/PHP: *Test(s).<ext>; Python: test_*.py / *_test.py; TypeScript/JavaScript: *.spec/test.{ts,js}; Rust: *_tests.rs / tests/; etc.).
docsstringfile_pathstringoutput_formatstringpageintegerpage_sizeintegerproject*stringsymbol_name*stringxmp4_usagesFind all usages/references of a symbol in a project.7 params
Find all usages/references of a symbol in a project.
docsstringfile_pathstringoutput_formatstringpageintegerpage_sizeintegerproject*stringsymbol_name*stringxmp4_viewRead a raw file excerpt from an indexed project by line range. Use after xmp4_search/xmp4_outline locates the region of interest, or to expand a truncated xmp4_source snippet. Hard cap of 500 lines per call.4 params
Read a raw file excerpt from an indexed project by line range. Use after xmp4_search/xmp4_outline locates the region of interest, or to expand a truncated xmp4_source snippet. Hard cap of 500 lines per call.
file_path*stringfrom_lineintegerproject*stringto_lineintegerSponsors
Readme
xmp4
Stop grepping library source.
Your AI gets the compiler's view of 856 OSS libraries via MCP.
Real callers. Real source. Real hierarchy. In 3 tool calls.
→ Landing page · → Benchmark whitepaper · → Connect in 30 seconds
The 30-second pitch
Details
- Repository
- github.com/0ics-srls/lsai-xmp4.public
- Website
- example4.ai
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026