mcpField
X
Xmp4

Xmp4

远程服务
example4.ai记忆与知识114 周前更新

关于 Xmp4

Xmp4 是托管 MCP 服务,为编码 Agent 提供基于 SCIP 索引的开源库语义代码查询。它提供真实源码、调用关系和类型层级,减少本地克隆与文本搜索需求。

主要功能

  1. 01搜索预索引开源库
  2. 02查询符号信息与源码
  3. 03查找调用者和被调用者
  4. 04分析类型层级与符号用法
  5. 05查找相关测试和依赖
  6. 06按源码行查看片段

适用场景

  1. 01查找某个函数的真实调用者
  2. 02查看库中符号定义及源码
  3. 03追踪类型层级和符号使用
  4. 04为符号定位相关测试

MCP 相关

Xmp4 通过托管 MCP 服务向客户端提供 17 种代码查询工具,包括搜索、源码、调用关系、用法、层级和测试查询。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.example4.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

17
参数类型必填说明
docsstring否包含文档:none(默认)| summary | full(仅限 xmp4_info)
file_pathstring否用于消除歧义的文件路径
output_formatstring否输出格式:Compact(默认)或 Verbose
pageinteger否页码(从 1 开始,默认为 1;xmp4_info/xmp4_source 会忽略此参数)
page_sizeinteger否每页结果数(默认 20,最多 100)
projectstring是来自 xmp4_projects 的项目(例如 'requests/requests')
symbol_namestring是符号名称

详细介绍

xmp4

别再用 grep 搜索库源码。
你的 AI 可通过 MCP 获取 856 个开源库的编译器视图。

实时 注册表 许可证 MCP 代码库 对比 GitMCP

真实调用者。真实源码。真实层级。只需 3 次工具调用。

→ 产品主页 · → 基准测试白皮书 · → 30 秒内完成连接


30 秒快速介绍

你的 AI 编码 Agent 正在浪费 token,用 grep 搜索它几乎不会用到的开源库。xmp4 是一个托管的 MCP 服务,使用 Sourcegraph 采用的语义代码格式 SCIP,预先为 856 个热门开源库建立索引,并通过 17 个工具提供服务。无需克隆。无需 grep。没有误报。

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.

实测数据(4 个大型开源库 · 可复现)

针对 spring-boot · tokio · django · efcore,提出同一个真实问题:“给我 X 的签名、函数体和真实调用者。”

xmp4grep + 克隆GitMCPContext7
总 token 数(同一个问题)1 5582 97865 629—
与 xmp4 对比1×多 1.9×多 42×无法回答
返回真实源码函数体?✅✅ 但噪声多✗ 仅文件路径✗ 仅精选文档
语义调用者?✅✗✗✗
类型层级?✅✗✗✗
设置成本0数 GB 的克隆内容00

GitMCP 和 Context7 每次调用看起来更便宜,因为它们返回的内容更少。要得到相同答案,GitMCP 会膨胀到 42× 的 token 数,而且仍无法生成语义调用者列表。Context7 无论花多少成本都做不到。完整白皮书及 Python 测试脚本 →

30 秒内完成连接

// Claude Code / Cursor / Claude Desktop — project `.mcp.json` or client config
{
  "mcpServers": {
    "xmp4": {
      "type": "http",
      "url": "https://mcp.example4.ai/mcp"
    }
  }
}

(可直接粘贴的配置也位于此代码库的 .mcp.json 中。)

教 Claude 如何使用 xmp4(可选但推荐)

每个版本安装一次 xmp4 技能 — Claude 会自动选择成本最低的工具路径(tests_for + view,而不是 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

重启客户端。然后试试(每个步骤都已于 2026-04-24 在线验证):

“使用 xmp4,找到 flask/Flask 中的 Flask 类,并列出它的用法。”

你应该会看到 Type Flask src/flask/app.py:81,以及分布在 33 个结果页中的 165 处用法。每个问题只需一次语义调用。无需反复 grep。

Cursor · Claude Desktop · Continue · Windsurf 设置指南 → docs/connect-instructions.md

17 个工具

完整参考及实时示例

语义核心(价值所在) 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

便捷工具 xmp4_view(按行范围查看原始文件片段) · xmp4_grep(语义搜索不够时使用服务端正则表达式)

元信息 xmp4_guide(返回指向 https://example4.ai/xmp4-skill.md 的带版本技能指针 — 每个版本获取一次,并保存为本地 Claude Code 技能;内含精简速查表,可在离线时作为备用) · xmp4_server(版本 + 统计数据)

语言覆盖范围

Tier 1 — 完整覆盖承诺
C# · TypeScript · Python · Java · Rust · PHP

Tier 2 — 尽力支持,并记录已知差异
Go · JavaScript · Dart · Ruby · C++

所有已知限制——TS/Rust/Java/PHP 中的 hierarchy.base 为空、Python 跨模块 usages 计数偏少、C# 显式接口实现的点分名称行为——均已原文列于 docs/tiers-and-quirks.md。我们宁愿正确设定预期,也不希望审核者发现缺漏后以为整个项目夸大其词。

覆盖范围随需求增长,而非凭空猜测

索引目前包含 856 个代码库 / 15 921 个 SCIP 索引项目。我们会综合以下两个信号来添加新库:

  1. 汇总查询日志 — 符号名称和项目筛选条件,不含 PII 或用户代码。如果许多 AI Agent 搜索我们尚未收录的库,我们就能发现。
  2. 你的请求 — 提交代码库请求 issue,附上 GitHub URL、语言,以及一个你希望运行的具体查询。单个用户请求加上下游查询需求,几乎总能让该库在数日内完成索引。

计划推出公开的 /stats/top-missing 端点,全面透明地展示推动增长的因素。

隐私——简要说明

  • ✓ 我们会记录:汇总查询次数(符号 / 项目 / 工具名称、粗略时间戳),以便按需求扩充索引。
  • ✗ 我们不会记录:代码库内容 · 个人身份信息 · 除已声明工具参数之外的请求正文。
  • 标准 nginx 访问日志保留 7 天以防止滥用,之后删除。访问日志不会与查询统计合并。

完整详情 → docs/privacy.md。

状态

此代码库包含什么

路径用途
docs/connect-instructions.md5 个 MCP 客户端、运行验证流程、故障排除
docs/tool-reference.md17 个工具,附实时验证示例和工作流规则
docs/tiers-and-quirks.md语言层级矩阵及所有已知限制,原文列出
docs/privacy.md我们记录什么、不记录什么,以及 GDPR 联系方式
docs/request-repo.md按需求驱动的队列实际如何运作
.mcp.json可直接粘贴的 MCP 客户端配置(type: http、URL)
skills/xmp4/SKILL.mdClaude Code 技能——工作流、成本预算、grep 策略、常见错误
html/xmp4-skill.md同一技能,公开发布于 https://example4.ai/xmp4-skill.md
server.jsonOfficial MCP Registry 清单(已通过 DNS 验证的 ai.example4/xmp4)
glama.jsonGlama 目录自动索引钩子
.github/ISSUE_TEMPLATE/Bug · 功能请求 · 代码库请求模板

相关项目

  • LSAI protocol — 面向 AI Agent 语义代码智能的开放规范。
  • SCIP — xmp4 构建所基于的语义代码格式(由 Sourcegraph 开发,采用 BSD-3 许可证)。
  • Model Context Protocol — xmp4 使用的开放传输规范。

许可证

本文档仓库采用 Apache 2.0 许可证,详见 LICENSE。 托管的 mcp.example4.ai 端点可免费用于个人和商业用途(服务条款链接待添加)。

有关商业许可或可自托管部署的咨询 → 在此仓库中提交带有 commercial 标签的 GitHub issue。


以语义智能而非 grep 构建。

SCIP · MCP · LSAI

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。