Skip to main content
Glama

Ariadne

License: MIT MCP ariadne MCP server Awesome MCP Servers

Ariadne's thread — a way out of the microservice maze.

Cross-service API dependency graph for Spring Boot + TypeScript microservice stacks. MCP stdio server for AI coding assistants (Claude Code, Cursor, Windsurf), with a CLI twin. Local SQLite + TF-IDF. Zero ML dependencies.

Ariadne demo — scan Spring PetClinic microservices and ask "owner"


What it does

Indexes the contract layer — GraphQL mutations, REST endpoints, Kafka topics, frontend queries. Nothing else. That's why results fit an AI context window.

Ask Claude "where does createOrder live across the stack?" and query_chains returns:

Top Cluster #1  [confidence: 0.91]
  Services: gateway, orders-svc, billing-svc, web
  - [web]          Frontend Mutation: createOrder
  - [gateway]      GraphQL Mutation:  createOrder
  - [orders-svc]   HTTP POST /orders: createOrder
  - [orders-svc]   Kafka Topic:       order-created
  - [billing-svc]  Kafka Listener:    order-created → chargeCustomer

~500 tokens round-trip. The equivalent grep -r createOrder across four repos returns 40+ matches across DTOs, tests, and configs at ~2000 tokens, with the contract layer buried.

Supports: GraphQL · Spring HTTP/Kafka/RestClient · TypeScript Apollo/fetch/axios · Cube.js.


Related MCP server: TempoGraph

Try it in 30 seconds (zero config)

pip install ariadne-mcp
ariadne-mcp demo

Clones into ~/.cache/ariadne-mcp/demo, scans it, and prints the top cluster for owner — a real cross-service call chain. No config file, no workspace setup.


Install on your own workspace

pip install ariadne-mcp
cp "$(python -c 'import ariadne_mcp, os; print(os.path.join(os.path.dirname(ariadne_mcp.__file__), "ariadne.config.example.json"))')" ariadne.config.json
# edit ariadne.config.json (list the repos you want indexed)
ariadne-mcp install ariadne.config.json ~/your-workspace

Restart Claude Code. install is idempotent — re-run after pulling new code, or let the assistant call rescan on a stale_warning.


Config

{ "repos": [
    { "path": "../gateway" },
    { "path": "../orders-svc" },
    { "path": "../web" }
]}

Scanners are inferred from each repo's top-level files (pom.xml / build.gradle / package.json / SDL). See docs/CONFIG.md for the detection table and override syntax.


Try it on a public sample

examples/spring-petclinic/ — clone the public spring-petclinic-microservices sample, drop in the config, scan, query. Reproducible end-to-end in under a minute.


Architecture, MCP tools, scoring math, feedback boost → docs/ARCHITECTURE.md. Custom scanners (Go, Rust, anything) → docs/CUSTOM_SCANNERS.md.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
<1hResponse time
0dRelease cycle
2Releases (12mo)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/whyy9527/ariadne'

If you have feedback or need assistance with the MCP directory API, please join our Discord server