streamable-httpApache-2.0updated 1mo ago
Real callers. Real source. Real hierarchy. In 3 tool calls.
What can you do with xmp4 โ Semantic code knowledge for your stack?
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
Your AI coding agent is burning tokens grepping OSS libraries it will barely use. xmp4 is a hosted MCP server that pre-indexes 856 popular open-source libraries with SCIP โ the semantic code format Sourcegraph uses โ and serves them through 17 tools. No clone. No grep. No false positives.
ASK: "Who calls Flask.wsgi_app in the flask repo and what does it do?"
with grep + local clone:
git clone flask/flask ~40 MB, ~2 min
grep -rn "wsgi_app" . 200+ matches, mostly noise
cat src/flask/app.py | sed ... read 1000+ lines to find the body
filter false positives model spends tokens deciding what's real
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
total: ~15,000 tokens + disk + wall time
with xmp4:
xmp4_info(symbol_name="Flask", file_path="src/flask/app.py") โ signature, 20 tok
xmp4_source(symbol_name="wsgi_app", file_path="src/flask/app.py") โ body, 180 tok
xmp4_callers(symbol_name="wsgi_app", file_path="src/flask/app.py") โ 1 caller, 50 tok
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
total: ~250 tokens
xmp4 is 60ร cheaper here โ and every result is SCIP-resolved, not text-matched.
The measured numbers (4 big OSS libs ยท reproducible)
Same realistic question on spring-boot ยท tokio ยท django ยท efcore: "give me the signature, body, and real callers of X."
| xmp4 | grep + clone | GitMCP | Context7 | |
|---|---|---|---|---|
| Total tokens (same question) | 1 558 | 2 978 | 65 629 | โ |
| vs xmp4 | 1ร | 1.9ร more | 42ร more | can't answer |
| Returns real source body? | โ | โ noisy | โ file paths only | โ curated docs only |
| Semantic callers? | โ | โ | โ | โ |
| Type hierarchy? | โ | โ | โ | โ |
| Setup cost | 0 | GBs of clone | 0 | 0 |
GitMCP and Context7 look cheaper per call because 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 โ
Connect in 30 seconds
// 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.json in 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 in
flask/Flaskand list its usages."
You should see Type Flask src/flask/app.py:81 and 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
The 17 tools
Full reference with live examples
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
Convenience
xmp4_view (raw file excerpt by line range) ยท xmp4_grep (server-side regex when semantics isn't enough)
Meta
xmp4_guide (returns a versioned skill pointer to https://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)
Language coverage
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 โ empty hierarchy.base on TS/Rust/Java/PHP, Python cross-module usages under-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.
Coverage grows by demand, not by guesswork
The index currently holds 856 repositories / 15 921 SCIP-indexed projects. We add new libraries based on two signals, combined:
- Aggregate query logs โ symbol names and project filters, no PII, no user code. If many AI agents search for a library we don't have, we see it.
- Your request โ file a repo-request issue with the GitHub URL, the language, and one concrete query you want to run. A single user request + downstream query demand almost always means indexed within days.
A public /stats/top-missing endpoint is planned โ full transparency on what drives the growth loop.
Privacy โ short version
- โ We log: aggregate query counts (symbol/project/tool names, coarse timestamps) to grow the index by demand.
- โ We don't log: the contents of your codebase ยท personal identifiers ยท request bodies beyond declared tool parameters.
- Standard nginx access logs kept 7 days for abuse prevention, then purged. Not joined with query tallies.
Full detail โ docs/privacy.md.
Status
- ๐ข Live โ
mcp.example4.aiv1.2.1 ยท 856 repos ยท 15 921 projects ยท 17 tools ยท 11 languages - ๐ข Benchmark published โ reproducible whitepaper with Python harness
- ๐ข Listed on the Official MCP Registry as
ai.example4/xmp4(DNS-authed onexample4.ai) - ๐ข Smithery โ smithery.ai/servers/0ics-srl/xmp4
- ๐ข Cursor Directory โ cursor.directory/plugins/lsai-xmp4public
- ๐ง More registry submissions in flight โ MCP.so, mcpservers.org, partnerships@github.com, awesome-lists (PRs open on punkpeye/jaw9c/appcypher)
- ๐ง Demand-driven growth loop โ in progress
What's in this repository
| Path | Purpose |
|---|---|
docs/connect-instructions.md |
5 MCP clients, proof-of-life sequence, troubleshooting |
docs/tool-reference.md |
17 tools with live-verified examples and workflow rules |
docs/tiers-and-quirks.md |
Language tier matrix + every known limitation, verbatim |
docs/privacy.md |
What we log, what we don't, GDPR contact |
docs/request-repo.md |
How the demand-driven queue actually works |
.mcp.json |
Ready-to-paste MCP client config (type: http, URL) |
skills/xmp4/SKILL.md |
Claude Code skill โ workflow, cost budget, grep policy, common mistakes |
html/xmp4-skill.md |
Same skill, served publicly at https://example4.ai/xmp4-skill.md |
server.json |
Official MCP Registry manifest (DNS-authed ai.example4/xmp4) |
glama.json |
Glama catalog auto-index hook |
.github/ISSUE_TEMPLATE/ |
Bug ยท feature-request ยท request-repo templates |
Related
- LSAI protocol โ open spec for semantic code intelligence in AI agents.
- SCIP โ the semantic code format xmp4 is built on (Sourcegraph-developed, BSD-3).
- Model Context Protocol โ the open transport spec xmp4 speaks.
License
Apache 2.0 for this documentation repository โ see LICENSE.
The hosted mcp.example4.ai endpoint is free for personal and commercial use (TOS link pending).
Commercial licensing or self-hosted deployment enquiries โ open a GitHub issue labelled commercial on this repo.
Made with semantic intelligence instead of grep.
Install
Add xmp4 โ Semantic code knowledge for your stack to your client. Pick the one you use.
claude mcp add --transport http xmp4-semantic-code-knowledge-for-your-st https://mcp.example4.ai/mcpcodex mcp add xmp4-semantic-code-knowledge-for-your-st --url https://mcp.example4.ai/mcp{
"mcpServers": {
"xmp4-semantic-code-knowledge-for-your-st": {
"url": "https://mcp.example4.ai/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"xmp4-semantic-code-knowledge-for-your-st": {
"type": "http",
"url": "https://mcp.example4.ai/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"xmp4-semantic-code-knowledge-for-your-st": {
"url": "https://mcp.example4.ai/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"xmp4-semantic-code-knowledge-for-your-st": {
"serverUrl": "https://mcp.example4.ai/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance22/25
- Trust16/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 41 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 1.2.6Latest | Apr 23, 2026 |
| 1.2.5 | Apr 23, 2026 |
| 1.2.4 | Apr 23, 2026 |
| 1.2.3 | Apr 23, 2026 |
| 1.2.2 | Apr 23, 2026 |
| 1.2.1 | Apr 23, 2026 |