Skip to content

xmp4 — Semantic code knowledge for your stack

by example4.ai · remote · no sign-in to list tools · v1.2.6 · published by ai.example4

OSS libs in your stack, really used: source, tests, callers. C#, Java, TS, Python, Rust, PHP+.

Changes · 4

16 tools: 4 change things and 12 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http xmp4 https://mcp.example4.ai/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

16 tools

Changes things 4Claude Code: ask
  • xmp4_grepServer-side regex text search over indexed project source files.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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_guideUsage guide for xmp4 tools — read this first to learn the correct workflowNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Usage guide for xmp4 tools — read this first to learn the correct workflow
  • xmp4_sourceExtract source code for a symbol in a project.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Extract source code for a symbol in a project.
  • xmp4_symbol_atLSP-style position→symbol lookup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.
Only reads 12Claude Code: allow
  • xmp4_calleesFind direct callees (methods called by) a symbol in a project.No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Find direct callees (methods called by) a symbol in a project. Navigate step-by-step by calling xmp4_callees again on interesting results.
  • xmp4_callersFind direct callers of a symbol in a project.No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Find direct callers of a symbol in a project. Navigate step-by-step by calling xmp4_callers again on interesting results.
  • xmp4_depsList external dependencies of a project.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List external dependencies of a project.
  • xmp4_hierarchyGet type hierarchy (base, interfaces, derived) for a symbol in a project.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get type hierarchy (base, interfaces, derived) for a symbol in a project.
  • xmp4_infoGet detailed information about a symbol in a project.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get detailed information about a symbol in a project.
  • xmp4_outlineGet outline (all symbols) for a file in a project.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get outline (all symbols) for a file in a project.
  • xmp4_projectsSearch and browse projects by language and name.No findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    Description, as the server wrote it
    Search and browse projects by language and name. Use this first to discover projects, then use other tools with the repo name.
  • xmp4_serverGet server information, version, and capabilitiesNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get server information, version, and capabilities
  • xmp4_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…No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    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_usagesFind all usages/references of a symbol in a project.No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Find all usages/references of a symbol in a project.
  • xmp4_viewRead a raw file excerpt from an indexed project by line range.No findings

    Why it is in this group

    • The name "xmp4_view" says "view": a word for reading.
    Description, as the server wrote it
    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.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.2.6. Values in angle brackets are yours to fill in.

claude mcp add --transport http xmp4 https://mcp.example4.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__xmp4__xmp4_callees",
      "mcp__xmp4__xmp4_callers",
      "mcp__xmp4__xmp4_deps",
      "mcp__xmp4__xmp4_hierarchy",
      "mcp__xmp4__xmp4_info",
      "mcp__xmp4__xmp4_outline",
      "mcp__xmp4__xmp4_projects",
      "mcp__xmp4__xmp4_search",
      "mcp__xmp4__xmp4_server",
      "mcp__xmp4__xmp4_tests_for",
      "mcp__xmp4__xmp4_usages",
      "mcp__xmp4__xmp4_view"
    ],
    "ask": [
      "mcp__xmp4__xmp4_grep",
      "mcp__xmp4__xmp4_guide",
      "mcp__xmp4__xmp4_source",
      "mcp__xmp4__xmp4_symbol_at"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as xmp4. Review it before you use it.