SuperAPI AI 工具集

ariadne

Ariadne 是一个本地 MCP 服务器,用于在 Spring Boot 与 TypeScript 微服务栈中确定性地发现跨服务 API 调用链。它索引契约层(GraphQL 变更、REST 端点、Kafka 主题、前端查询),基于本地 SQLite 与 TF-IDF,无机器学习依赖,结果适配 AI 上下文窗口。支持 GraphQL、Spring HTTP/Kafka/RestClient、Python FastAPI、TypeScript Apollo/fetch/axios、Cube.js。可通过 MCP stdio 供 Claude Code、Cursor、Windsurf 等 AI 编程助手使用,并提供 CLI 孪生工具。

访问官网

工具介绍

Ariadne 是一个面向微服务架构的跨服务 API 依赖图工具,旨在帮助开发者从微服务迷宫中找到出路。它作为本地 MCP(Model Context Protocol)stdio 服务器运行,供 AI 编程助手(如 Claude Code、Cursor、Windsurf)调用,同时提供 CLI 孪生工具。

用途: Ariadne 专注于索引契约层——GraphQL 变更、REST 端点、Kafka 主题、前端查询,不索引其他内容。这使得查询结果能够适配 AI 上下文窗口。例如,向 Claude 提问“createOrder 在整个栈中位于哪里?”,query_chains 会返回有界的响应,便于 AI 理解。

主要能力:

  • 确定性跨服务 API 链发现,覆盖 REST、GraphQL、Kafka、TypeScript 和 FastAPI。
  • 本地 SQLite + TF-IDF 实现,零机器学习依赖。
  • 支持 GraphQL、Spring HTTP/Kafka/RestClient、Python FastAPI、TypeScript Apollo/fetch/axios、Cube.js。
  • 提供可复现的公开栈基准测试(48 个审查查询,覆盖 Spring REST、GraphQL/TypeScript、Kafka 和 FastAPI),测量检索、序列化 token 和计时结果,并与 rg 和 grep 对比。
  • 支持自定义扫描器(Go、Rust 等),详见 docs/CUSTOM_SCANNERS.md。
  • 提供评估排名功能,可维护 JSONL 判断列表,评估 top-k 命中率和 MRR。

使用方式:

  • 30 秒零配置试用:克隆 spring-petclinic-microservices 到 ~/.cache/ariadne-mcp/demo,扫描并打印 owner 的顶级集群,展示真实跨服务调用链。无需配置文件或工作区设置。
  • 在自己的工作区安装:运行安装命令后重启 Claude Code。install 是幂等的,拉取新代码后可重新运行,或让助手在 stale_warning 时调用 rescan。
  • 扫描器根据每个仓库的顶层文件(pom.xml / build.gradle / package.json / SDL)推断,检测表和覆盖语法见 docs/CONFIG.md。
  • 可复现公开样本:每个样本固定上游提交,扫描真实服务源码,运行一个查询,并验证人工审查的节点 ID。
  • 评估排名:保留 JSONL 判断列表,针对构建的数据库运行命令,评估 top-k 命中率和 MRR,可添加 --feedback-db .ariadne/feedback.db 包含本地反馈重排。

适用场景:

  • 微服务架构下的跨服务 API 调用链追踪。
  • AI 编程助手需要理解代码库中业务术语或端点相关操作时。
  • 需要确定性、本地化、无 ML 依赖的代码检索工具。

限制:

  • 当前公开栈基准测试以操作名称为主,测量确定性契约查找兼容性,尚不是自然语言相关性基准。
  • 仅索引契约层,不索引其他代码内容。
  • 当前服务器使用 MCP Python SDK v1(mcp<2)。
  • 商业验收和消融实验使用合成契约;私有工作区源码和反馈保留在本地。
  • Ariadne 本身不自动发送使用数据;反馈表单仅在用户选择提交时打开。