Ariadne
๐ License: MIT
๐ MCP
๐ ariadne MCP server
๐ Awesome MCP Servers
์๋ฆฌ์๋๋ค์ ์ค โ ๋ง์ดํฌ๋ก์๋น์ค ๋ฏธ๋ก๋ฅผ ๋น ์ ธ๋๊ฐ๋ ๊ธธ.
Spring Boot + TypeScript ๋ง์ดํฌ๋ก์๋น์ค ์คํ์ ์ํ ์๋น์ค ๊ฐ API ์์กด์ฑ ๊ทธ๋ํ์ ๋๋ค. AI ์ฝ๋ฉ ์ด์์คํดํธ(Claude Code, Cursor, Windsurf)๋ฅผ ์ํ MCP stdio ์๋ฒ์ด๋ฉฐ, CLI ๋ฒ์ ๋ ์ ๊ณตํฉ๋๋ค. ๋ก์ปฌ SQLite + TF-IDF๋ฅผ ์ฌ์ฉํ๋ฉฐ, ML ์์กด์ฑ์ด ์ ํ ์์ต๋๋ค.
๐ Ariadne ๋ฐ๋ชจ โ Spring PetClinic ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ค์บํ๊ณ "owner"๋ฅผ ๊ฒ์
๊ธฐ๋ฅ
๊ณ์ฝ ๊ณ์ธต(contract layer) โ GraphQL ๋ฎคํ ์ด์ , REST ์๋ํฌ์ธํธ, Kafka ํ ํฝ, ํ๋ก ํธ์๋ ์ฟผ๋ฆฌ๋ฅผ ์ธ๋ฑ์ฑํฉ๋๋ค. ๊ทธ ์ธ์ ๊ฒ์ ์ธ๋ฑ์ฑํ์ง ์์ผ๋ฏ๋ก ๊ฒฐ๊ณผ๊ฐ AI ์ปจํ ์คํธ ์๋์ฐ์ ์ ํฉํฉ๋๋ค.
Claude์๊ฒ *"createOrder๊ฐ ์คํ ์ ์ฒด์์ ์ด๋์ ์์นํ๋๊ฐ?"*๋ผ๊ณ ๋ฌผ์ด๋ณด๋ฉด query_chains๊ฐ ๋ค์์ ๋ฐํํฉ๋๋ค:
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 ํ ํฐ์
๋๋ค. 4๊ฐ์ ์ ์ฅ์์ ๊ฑธ์ณ grep -r createOrder๋ฅผ ์คํํ๋ฉด DTO, ํ
์คํธ, ์ค์ ํ์ผ ๋ฑ์์ 40๊ฐ ์ด์์ ์ผ์น ํญ๋ชฉ์ด ์ฝ 2000 ํ ํฐ์ผ๋ก ๋ฐํ๋๋ฉฐ, ๊ณ์ฝ ๊ณ์ธต์ ๋ฌปํ๊ฒ ๋ฉ๋๋ค.
์ง์: GraphQL ยท Spring HTTP/Kafka/RestClient ยท TypeScript Apollo/fetch/axios ยท Cube.js.
Related MCP server: depwire
30์ด ๋ง์ ์ฒดํํ๊ธฐ (์ค์ ๋ถํ์)
pip install ariadne-mcp
ariadne-mcp demospring-petclinic-microservices๋ฅผ ~/.cache/ariadne-mcp/demo์ ๋ณต์ ํ๊ณ ์ค์บํ ๋ค, owner์ ๋ํ ์ต์์ ํด๋ฌ์คํฐ(์ค์ ์๋น์ค ๊ฐ ํธ์ถ ์ฒด์ธ)๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ค์ ํ์ผ์ด๋ ์ํฌ์คํ์ด์ค ์ค์ ์ด ํ์ ์์ต๋๋ค.
์์ ์ ์ํฌ์คํ์ด์ค์ ์ค์น
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-workspaceClaude Code๋ฅผ ์ฌ์์ํ์ธ์. install์ ๋ฉฑ๋ฑ์ฑ์ ๊ฐ์ง๋ฏ๋ก, ์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์จ ํ ๋ค์ ์คํํ๊ฑฐ๋ stale_warning ๋ฐ์ ์ ์ด์์คํดํธ๊ฐ rescan์ ํธ์ถํ๋๋ก ํ์ธ์.
์ค์
{ "repos": [
{ "path": "../gateway" },
{ "path": "../orders-svc" },
{ "path": "../web" }
]}์ค์บ๋๋ ๊ฐ ์ ์ฅ์์ ์ต์์ ํ์ผ(pom.xml / build.gradle / package.json / SDL)์ ํตํด ์ถ๋ก ๋ฉ๋๋ค. ๊ฐ์ง ํ
์ด๋ธ ๋ฐ ์ฌ์ ์ ๊ตฌ๋ฌธ์ docs/CONFIG.md๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ณต๊ฐ ์ํ๋ก ํ ์คํธ
examples/spring-petclinic/ โ ๊ณต๊ฐ spring-petclinic-microservices ์ํ์ ๋ณต์ ํ๊ณ , ์ค์ ์ ๋ฃ๊ณ , ์ค์บํ๊ณ , ์ฟผ๋ฆฌํ์ธ์. 1๋ถ ์ด๋ด์ ์๋ํฌ์๋๋ก ์ฌํ ๊ฐ๋ฅํฉ๋๋ค.
์ํคํ
์ฒ, MCP ๋๊ตฌ, ์ ์ ์ฐ์ ๋ฐฉ์, ํผ๋๋ฐฑ ๋ถ์คํธ โ docs/ARCHITECTURE.md. ์ปค์คํ
์ค์บ๋(Go, Rust ๋ฑ) โ docs/CUSTOM_SCANNERS.md.
Maintenance
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
