{
  "markdown": "<div align=\"center\">\n\n# xmp4\n\n### Stop grepping library source.\n### Your AI gets the compiler's view of **856 OSS libraries** via MCP.\n\n[![live](https://img.shields.io/badge/mcp.example4.ai-live%20v1.2.1-22c55e?style=flat-square)](https://mcp.example4.ai/mcp)\n[![registry](https://img.shields.io/badge/Official%20MCP%20Registry-ai.example4%2Fxmp4-f59e0b?style=flat-square)](https://registry.modelcontextprotocol.io/v0/servers?search=xmp4)\n[![license](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](LICENSE)\n[![MCP](https://img.shields.io/badge/MCP-Streamable%20HTTP-f59e0b?style=flat-square)](https://modelcontextprotocol.io)\n[![repos](https://img.shields.io/badge/libraries-856%20indexed-f59e0b?style=flat-square)](#language-coverage)\n[![vs GitMCP](https://img.shields.io/badge/vs%20GitMCP-42%C3%97%20fewer%20tokens-f59e0b?style=flat-square)](docs/benchmarks/WHITEPAPER.md)\n\n**Real callers. Real source. Real hierarchy. In 3 tool calls.**\n\n[**→ Landing page**](https://example4.ai) · [**→ Benchmark whitepaper**](docs/benchmarks/WHITEPAPER.md) · [**→ Connect in 30 seconds**](docs/connect-instructions.md)\n\n</div>\n\n---\n\n## The 30-second pitch\n\nYour 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.\n\n```text\nASK: \"Who calls Flask.wsgi_app in the flask repo and what does it do?\"\n\nwith grep + local clone:\n  git clone flask/flask          ~40 MB,   ~2 min\n  grep -rn \"wsgi_app\" .          200+ matches, mostly noise\n  cat src/flask/app.py | sed ... read 1000+ lines to find the body\n  filter false positives         model spends tokens deciding what's real\n  ──────────────────────────────────────\n  total:                         ~15,000 tokens + disk + wall time\n\nwith xmp4:\n  xmp4_info(symbol_name=\"Flask\",    file_path=\"src/flask/app.py\")         → signature,  20 tok\n  xmp4_source(symbol_name=\"wsgi_app\", file_path=\"src/flask/app.py\")       → body,      180 tok\n  xmp4_callers(symbol_name=\"wsgi_app\", file_path=\"src/flask/app.py\")      → 1 caller,   50 tok\n  ──────────────────────────────────────\n  total:                                                                    ~250 tokens\n\nxmp4 is 60× cheaper here — and every result is SCIP-resolved, not text-matched.\n```\n\n## The measured numbers (4 big OSS libs · [reproducible](docs/benchmarks/WHITEPAPER.md))\n\nSame realistic question on spring-boot · tokio · django · efcore: *\"give me the signature, body, and real callers of X.\"*\n\n| | **xmp4** | grep + clone | GitMCP | Context7 |\n|---|---:|---:|---:|---:|\n| Total tokens (same question) | **1 558** | 2 978 | **65 629** | — |\n| vs xmp4 | 1× | 1.9× more | **42× more** | can't answer |\n| Returns real source body? | ✅ | ✅ noisy | ✗ file paths only | ✗ curated docs only |\n| Semantic callers? | ✅ | ✗ | ✗ | ✗ |\n| Type hierarchy? | ✅ | ✗ | ✗ | ✗ |\n| Setup cost | 0 | GBs of clone | 0 | 0 |\n\n> 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 →**](docs/benchmarks/WHITEPAPER.md)\n\n## Connect in 30 seconds\n\n```jsonc\n// Claude Code / Cursor / Claude Desktop — project `.mcp.json` or client config\n{\n  \"mcpServers\": {\n    \"xmp4\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.example4.ai/mcp\"\n    }\n  }\n}\n```\n\n(The ready-to-paste config also lives at [`.mcp.json`](.mcp.json) in this repo.)\n\n### Teach Claude how to use xmp4 (optional but recommended)\n\nInstall the xmp4 skill once per version — Claude will pick the cheapest tool path automatically (tests_for + view over grep):\n\n```bash\n# Claude Code\nmkdir -p ~/.claude/skills/xmp4 && \\\n  curl -sfL https://example4.ai/xmp4-skill.md -o ~/.claude/skills/xmp4/SKILL.md\n\n# Other clients: just tell Claude to read the URL when using xmp4 tools\n#   https://example4.ai/xmp4-skill.md\n```\n\nRestart your client. Then try (every step verified live 2026-04-24):\n\n> *\"Using xmp4, find the Flask class in `flask/Flask` and list its usages.\"*\n\nYou should see `Type Flask src/flask/app.py:81` and 165 usages across 33 result pages. One semantic call per question. Zero grep loops.\n\n**Setup for Cursor · Claude Desktop · Continue · Windsurf** → [`docs/connect-instructions.md`](docs/connect-instructions.md)\n\n## The 17 tools\n\n[**Full reference with live examples**](docs/tool-reference.md)\n\n**Semantic core** (where the value lives)\n`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`\n\n**Convenience**\n`xmp4_view` (raw file excerpt by line range) · `xmp4_grep` (server-side regex when semantics isn't enough)\n\n**Meta**\n`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)\n\n## Language coverage\n\n**Tier 1** — full coverage contract\n<br>`C#` · `TypeScript` · `Python` · `Java` · `Rust` · `PHP`\n\n**Tier 2** — best-effort, documented quirks\n<br>`Go` · `JavaScript` · `Dart` · `Ruby` · `C++`\n\nEvery 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`](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.\n\n## Coverage grows by demand, not by guesswork\n\nThe index currently holds 856 repositories / 15 921 SCIP-indexed projects. We add new libraries based on two signals, combined:\n\n1. **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.\n2. **Your request** — [file a repo-request issue](../../issues/new?template=request-repo.yml) 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**.\n\nA public `/stats/top-missing` endpoint is planned — full transparency on what drives the growth loop.\n\n## Privacy — short version\n\n- ✓ **We log**: aggregate query counts (symbol/project/tool names, coarse timestamps) to grow the index by demand.\n- ✗ **We don't log**: the contents of your codebase · personal identifiers · request bodies beyond declared tool parameters.\n- Standard nginx access logs kept 7 days for abuse prevention, then purged. Not joined with query tallies.\n\nFull detail → [`docs/privacy.md`](docs/privacy.md).\n\n## Status\n\n- 🟢 **Live** — `mcp.example4.ai` v1.2.1 · 856 repos · 15 921 projects · 17 tools · 11 languages\n- 🟢 **Benchmark published** — [reproducible whitepaper with Python harness](docs/benchmarks/WHITEPAPER.md)\n- 🟢 **Listed on the Official MCP Registry** as [`ai.example4/xmp4`](https://registry.modelcontextprotocol.io/v0/servers?search=xmp4) (DNS-authed on `example4.ai`)\n- 🟢 **Smithery** — [smithery.ai/servers/0ics-srl/xmp4](https://smithery.ai/servers/0ics-srl/xmp4)\n- 🟢 **Cursor Directory** — [cursor.directory/plugins/lsai-xmp4public](https://cursor.directory/plugins/lsai-xmp4public)\n- 🔧 **More registry submissions in flight** — MCP.so, mcpservers.org, partnerships@github.com, awesome-lists (PRs open on punkpeye/jaw9c/appcypher)\n- 🔧 **Demand-driven growth loop** — in progress\n\n## What's in this repository\n\n| Path | Purpose |\n|---|---|\n| [`docs/connect-instructions.md`](docs/connect-instructions.md) | 5 MCP clients, proof-of-life sequence, troubleshooting |\n| [`docs/tool-reference.md`](docs/tool-reference.md) | 17 tools with live-verified examples and workflow rules |\n| [`docs/tiers-and-quirks.md`](docs/tiers-and-quirks.md) | Language tier matrix + every known limitation, verbatim |\n| [`docs/privacy.md`](docs/privacy.md) | What we log, what we don't, GDPR contact |\n| [`docs/request-repo.md`](docs/request-repo.md) | How the demand-driven queue actually works |\n| [`.mcp.json`](.mcp.json) | Ready-to-paste MCP client config (`type: http`, URL) |\n| [`skills/xmp4/SKILL.md`](skills/xmp4/SKILL.md) | Claude Code skill — workflow, cost budget, grep policy, common mistakes |\n| [`html/xmp4-skill.md`](html/xmp4-skill.md) | Same skill, served publicly at `https://example4.ai/xmp4-skill.md` |\n| [`server.json`](server.json) | Official MCP Registry manifest (DNS-authed `ai.example4/xmp4`) |\n| [`glama.json`](glama.json) | Glama catalog auto-index hook |\n| [`.github/ISSUE_TEMPLATE/`](.github/ISSUE_TEMPLATE/) | Bug · feature-request · **request-repo** templates |\n\n## Related\n\n- [**LSAI protocol**](https://github.com/LadislavSopko/lsai-protocol) — open spec for semantic code intelligence in AI agents.\n- [**SCIP**](https://github.com/sourcegraph/scip) — the semantic code format xmp4 is built on (Sourcegraph-developed, BSD-3).\n- [**Model Context Protocol**](https://modelcontextprotocol.io) — the open transport spec xmp4 speaks.\n\n## License\n\nApache 2.0 for this documentation repository — see [LICENSE](LICENSE).\nThe hosted `mcp.example4.ai` endpoint is free for personal and commercial use (TOS link pending).\n\nCommercial licensing or self-hosted deployment enquiries → open a GitHub issue labelled `commercial` on this repo.\n\n---\n\n<div align=\"center\">\n\nMade with semantic intelligence instead of grep.\n\n[SCIP](https://github.com/sourcegraph/scip) · [MCP](https://modelcontextprotocol.io) · [LSAI](https://github.com/LadislavSopko/lsai-protocol)\n\n</div>\n",
  "bytes": 9795,
  "sha": "515b692605eda08d781d4848f6d0c8c05c449aab3ffc35eb23d03b1f47244859",
  "repo_slug": "0ics-srls/lsai-xmp4.public",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_example4_xmp4_73826f3f/readme"
}