javats-impact-mcp
Read-only MCP server for cross-stack impact analysis across Java Spring Boot backend and TypeScript frontend linked through OpenAPI.
README
javats-impact-mcp

Read-only MCP server for cross-stack impact analysis across a Java (Spring Boot) backend and a TypeScript frontend, linked through OpenAPI.
The one-question demo: "If I rename an enum value, what breaks?"
OrderStatus.PENDING is a Java enum value. It is stored in the DB (orders.status,
@Enumerated(STRING)), exposed on OrderDto.status in the OpenAPI spec, returned by
GET /api/orders, and consumed by the frontend two ways.
find_symbol { name: "OrderStatus", kind: "enum" } -> symbol_id
analyze_impact { symbol_id }
Returns (abridged):
{
"endpoints": [{ "path": "/api/orders", "method": "GET" }],
"tsCallers": [
{ "kind": "client_call", "file": ".../OrdersPage.tsx", "confidence": "high" },
{ "kind": "fetch_call", "file": ".../rawFetchOrders.ts", "confidence": "heuristic" }
],
"jpa": { "table": "orders", "column": "status", "enumerated": "EnumType.STRING" },
"migration_checklist": [ "...", "Review 1 heuristic TS site (raw fetch URL match — verify manually)." ]
}
How it works
index_projectbuilds a SQLite index with three indexers:- Java (tree-sitter): classes, enums, fields, methods, annotations, scoped references.
- TypeScript (ts-morph): type-aware symbols, property accesses, fetch/axios call sites.
- OpenAPI (swagger-parser): endpoints, schemas, and
maps_toedges bridging Java DTO fields to schema fields.
- The 7 read-only tools query that index.
analyze_impactwalks Java → OpenAPI → TypeScript.
Tools (exactly 7, all read-only)
index_project, find_symbol, find_references, get_endpoint,
analyze_impact, get_git_context, explain_symbol.
Configuration
javats-mcp.config.json (paths resolve relative to the file):
{ "backendPath": "...", "frontendPath": "...", "openApiSource": "./openapi.json",
"generatedClientPath": "...", "indexPath": ".javats-mcp/index.db", "allowNetwork": false }
Register in Claude Desktop / Cursor
{
"mcpServers": {
"javats-impact": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": { "JAVATS_CONFIG": "/absolute/path/to/javats-mcp.config.json" }
}
}
}
Run npm run build first. For development, use command: "npx", args: ["tsx", "/abs/src/index.ts"].
Limitations / confidence model
high— resolved through the TypeScript type system (ts-morph) or a generated-client method reference. Renames provably affect these sites.heuristic— matched by URL/path string againstfetch/axios. Can miss dynamic URLs (template concatenation) and can over-match similar paths. Always verify these manually.- Java analysis is syntactic (tree-sitter), scoped by simple type name — it does not do full type resolution, so same-named types in different packages may conflate.
- OpenAPI linking assumes springdoc-style schema names match Java DTO class names.
- Read-only: no writes, no shell exec except
git log/blame. Network off unlessallowNetwork.
Requirements & no native builds
Requires Node 22+ (the index store uses the built-in node:sqlite). There are no
native modules: Java parsing uses web-tree-sitter (WASM runtime) with prebuilt grammars
from tree-sitter-wasms, and storage uses node:sqlite. npm install needs no C++
compiler on any platform. (node:sqlite is currently a stable-but-experimental Node API and
prints a one-time notice on stderr at startup; it does not affect the MCP stdio protocol.)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.