Your AI gets the compiler's eyes on your code and every library you use.

LSAI gives your AI agent live, compiler-grade intelligence on the code you're writing. xmp4 gives it the same on 900+ OSS libraries and 15,852 projects, pre-indexed. Together: the AI sees everything the compiler sees — no grep, no guessing, no blind spots.

Both free · Both open protocol (MCP) · Work with Claude Code, Cursor, VS Code

the tandem in one picture
lsai_callees("PublishAsync") → xmp4_source("GetRequiredService")
calls PublishAsync your code GetRequired Service Controller 27 tests dotnet/ runtime 15 callers impact source hierarchy LSAI xmp4
9
Languages (LSAI)
14
MCP tools (LSAI)
0
Libraries (xmp4)
0
Projects navigable (xmp4)
0
MCP tools (xmp4)
0
Languages (xmp4)

Two lenses. One pair of glasses.

🔬

LSAI — Your code, live

Install once. Your AI gets compiler-grade intelligence on the codebase you're actively developing — callers, impact, hierarchy, rename.

  • "Who calls my ProcessOrder method?" → 15 callers, exact lines
  • "What breaks if I change PublishAsync?" → 27 tests, risk: MEDIUM
  • "Show me the inheritance chain of BaseService" → full hierarchy
  • "Rename userId safely across the workspace" → done, all references updated
14 tools · 9 languages · runs on your machine · zero cloud
+
🌐

xmp4 — Every library, pre-indexed

One line in your MCP config. Your AI navigates 900+ OSS libraries with type-resolved precision — callers, source, hierarchy, tests.

  • "How does MongoClient.connect() work?" → full source + 26 callers
  • "Show me who calls app.route in Flask" → typed call sites
  • "What's the hierarchy of Matrix in Eigen?" → compiler-resolved
  • "Find tests for S3Client.PutObject" → real test files
17 tools · 12 languages · 900+ libraries · 15,852 projects · free

LSAI tells you "your PublishAsync calls GetRequiredService".
xmp4 shows you how GetRequiredService is implemented in dotnet/runtime.
Your AI never guesses. It knows.

One question. Both lenses.

Developer asks: "What does my PublishAsync call, and how does that dependency work?"

LSAI Step 1 — What does MY code call?
lsai_callees("PublishAsync")

→ CreateScope()          — PublishService.cs:22
→ GetRequiredService<LsaiDbContext>  — PublishService.cs:23
→ Where<PublishedProjectEntity>      — PublishService.cs:74
↓ the AI now knows which library API to investigate
xmp4 Step 2 — How does that LIBRARY API work?
xmp4_source("GetRequiredService", project="dotnet/runtime")

→ public interface ISupportRequiredService {
    object GetRequiredService(Type serviceType);
  }
  // Implementation in ServiceProviderServiceExtensions.cs:
  // Throws InvalidOperationException if service not registered
↓ the AI now has the full picture
LSAI Step 3 — What's the risk of changing it?
lsai_impact("PublishAsync")

→ MEDIUM risk — 15 references, 15 callers, 27 tests affected
  Tests: PublishServiceTests, V32SpecComplianceTests, PublishSearchVectorTests...
  All tests named, all lines numbered.

Same answer. 42× cheaper.

xmp4 vs alternatives — Task: "Give me the signature, body, and real callers of X"
Measured on 4 tier-1 libraries: spring-boot, tokio, django, efcore
xmp4
1,558 tok
grep + clone
47,200 tok
GitMCP
65,629 tok
Context7
no source

Nine languages live. Both products.

Language LSAIxmp4 searchcallershierarchysourceimpactrename
C#
TypeScript
Python
Java
Rust
PHP
Go
JavaScript
C / C++
Ruby
Dart
Scala

both LSAI + xmp4 · LSAI only · xmp4 only · ◐ best-effort · — not yet

Good questions.

What's the difference between LSAI and xmp4?
LSAI runs on your machine and analyzes your code in real time via LSP servers (Roslyn, jdtls, rust-analyzer, etc.). xmp4 is a cloud service with 900+ pre-indexed OSS libraries via SCIP. Use LSAI for your codebase, xmp4 for third-party libraries. They share the same MCP protocol — your AI uses both seamlessly.
Do I need both?
Each works standalone. xmp4 alone gives your AI deep knowledge of OSS libraries. LSAI alone gives it deep knowledge of your code. Together, the AI has zero blind spots — it can trace a call from your code into a library's internals and back, all with compiler-grade precision.
Is this Sourcegraph?
No. xmp4 consumes SCIP (an open Apache 2.0 indexing format from Sourcegraph) but is an independent product by 0ics srl. LSAI uses standard LSP servers. Neither product is affiliated with Sourcegraph.
Does my code leave my machine?
Never. LSAI runs 100% locally — your code stays on your machine. xmp4 is read-only on public OSS libraries that we indexed. The two communicate with your AI agent via MCP, not with each other.
How is xmp4 different from Context7 or GitMCP?
Context7 serves documentation snippets — no source code, no call graph. GitMCP does text search on GitHub — no type info. xmp4 has the compiler's view: typed callers, real source, class hierarchies. Same answer, 42× fewer tokens (measured).
What AI clients are supported?
Any MCP-capable client: Claude Code, Claude Desktop, Cursor, VS Code (with Copilot MCP), Windsurf, Zed, and more. Both LSAI and xmp4 speak standard MCP.
Can I request a library for xmp4?
Open a request on GitHub. Popular OSS libraries are added within a day.

Two installs. Full vision.

LSAI — your code

One command. Analyzes whatever project you open Claude Code in.

# Install (Linux / macOS / WSL)
curl -fsSL https://github.com/0ics-srls/Zerox.Lsai.Public/releases/latest/download/install.sh | bash

# Add to .mcp.json (once)
{
  "mcpServers": {
    "lsai": {
      "command": "~/.lsai/run",
      "args": ["--stdio"]
    }
  }
}

# Done. cd into your project, launch claude.

xmp4 — every library

One line in your MCP config. No install. No API key.

# Add to .mcp.json (Claude Desktop, Cursor, VS Code)
{
  "mcpServers": {
    "xmp4": {
      "type": "http",
      "url": "https://mcp.example4.ai/mcp"
    }
  }
}

# Optional: install the xmp4 skill for Claude Code
mkdir -p ~/.claude/skills/xmp4 && curl -sfL \
  https://example4.ai/xmp4-skill.md \
  -o ~/.claude/skills/xmp4/SKILL.md

LSAI docs →  ·  xmp4 docs →  ·  xmp4 skill →