xmp4
About
Hosted MCP for 800+ pre-indexed OSS libs: real source, callers, usages, tests. 11 languages. No API key.
Details
- Author
- 0ics-srls
- Downloads
- 311
- Categories
- Developer Tools, Knowledge Base, Search, Other
Jump to
- 17 tools: 12 semantic core, 2 convenience, 2 meta.
- Pre-indexed 547 libraries across 10 languages (Tier 1: C#, TypeScript, Python, Java, Rust, PHP).
- Returns real source body and semantic callers, not just file paths.
- Up to 42× fewer tokens than GitMCP for equivalent answers.
- Zero setup cost — no cloning, no local storage required.
- Demand-driven library growth based on query logs and user requests.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
xmp4Command (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Configure your MCP client with transport type HTTP and URL https://mcp.example4.ai/mcp. For Claude Code, add the configuration to ~/.claude/mcp.json. Restart the client and query using xmp4_guide first, then semantic tools like xmp4_info, xmp4_source, and xmp4_callers. Full instructions for Cursor, Claude Desktop, Continue, and Windsurf are available in docs/connect-instructions.md.
xmp4_callees
Find direct callees (methods called by) a symbol in a project. Navigate step-by-step by calling xmp4_callees again on interesting results.
xmp4_callers
Find direct callers of a symbol in a project. Navigate step-by-step by calling xmp4_callers again on interesting results.
xmp4_deps
List external dependencies of a project.
xmp4_grep
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 (comments, literals, config keys).
xmp4_guide
Usage guide for xmp4 tools — read this first to learn the correct workflow
xmp4_hierarchy
Get type hierarchy (base, interfaces, derived) for a symbol in a project.
xmp4_info
Get detailed information about a symbol in a project.
xmp4_outline
Get outline (all symbols) for a file in a project.
xmp4_projects
Search and browse projects by language and name. Use this first to discover projects, then use other tools with the repo name.
xmp4_repos
[DEPRECATED] List indexed projects. Use xmp4_projects(page, page_size) instead — same data, paginated. Will be removed in v0.6.0.
xmp4_search
Search symbols in a project. Use xmp4_projects first to find the project identifier.
xmp4_server
Get server information, version, and capabilities
xmp4_source
Extract source code for a symbol in a project.
xmp4_symbol_at
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.
xmp4_tests_for
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.).
xmp4_usages
Find all usages/references of a symbol in a project.
xmp4_view
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.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"xmp4": {
"xmp4": {
"type": "http",
"url": "https://mcp.example4.ai/mcp"
}
}
}
}
McpServers
{
"xmp4": {
"type": "http",
"url": "https://mcp.example4.ai/mcp"
}
}
The measured numbers (4 big OSS libs ·](https://github.com/0ics-srls/lsai-xmp4.public/blob/HEAD/docs/connect-instructions.md)reproducible)
Same realistic question on spring-boot · tokio · django · efcore:"give me the signature, body, and real callers of X."
GitMCP and Context7 look cheaperper callbecause they return less. To reach the same answer, GitMCP balloons to 42× more tokens — and still can't produce the semantic caller list. Context7 can't at any cost.Full whitepaper with Python harness →
// Claude Code / Cursor / Claude Desktop — project .mcp.json or client config { "mcpServers": { "xmp4": { "type": "http", "url": "https://mcp.example4.ai/mcp" } } }
(The ready-to-paste config also lives at.mcp.jsonin this repo.)
Teach Claude how to use xmp4 (optional but recommended)
Install the xmp4 skill once per version — Claude will pick the cheapest tool path automatically (tests_for + view over grep):
# Claude Code mkdir -p ~/.claude/skills/xmp4 && \ curl -sfL https://example4.ai/xmp4-skill.md -o ~/.claude/skills/xmp4/SKILL.md # Other clients: just tell Claude to read the URL when using xmp4 tools # https://example4.ai/xmp4-skill.md
Restart your client. Then try (every step verified live 2026-04-24):
"Using xmp4, find the Flask class inflask/Flaskand list its usages."
You should seeType Flask src/flask/app.py:81and 165 usages across 33 result pages. One semantic call per question. Zero grep loops.
Setup for Cursor · Claude Desktop · Continue · Windsurf→docs/connect-instructions.md
Semantic core(where the value lives)xmp4_projects·xmp4_search·xmp4_info·xmp4_usages·xmp4_callers·xmp4_callees·xmp4_hierarchy·xmp4_outline·xmp4_source·xmp4_tests_for·xmp4_deps·xmp4_symbol_at
Conveniencexmp4_view(raw file excerpt by line range) ·xmp4_grep(server-side regex when semantics isn't enough)
Metaxmp4_guide(returns aversioned skill pointertohttps://example4.ai/xmp4-skill.md— fetch once per version and save as a local Claude Code skill; embeds a minimal cheatsheet as offline fallback) ·xmp4_server(version + stats)
Tier 1— full coverage contract
C#·TypeScript·Python·Java·Rust·PHP
Tier 2— best-effort, documented quirks
Go·JavaScript·Dart·Ruby·C++
Every known limitation — emptyhierarchy.baseon TS/Rust/Java/PHP, Python cross-moduleusagesunder-count, C# explicit-interface-impl dotted-name behaviour — is listed verbatim in[docs/tiers-and-quirks.md. We'd rather set expectations correctly than have a reviewer find a gap and assume the whole thing is inflated.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




