Skip to main content
Glama

ServiceGraph

Local-first cross-repository change intelligence for AI agents

Early Development CI License Node.js

中文 · Web Workbench · Development plan · Impact analysis plan · Integrations

ServiceGraph is building a local-first, cross-repository change intelligence engine for AI agents. It connects frontend code, gateways, backend services, contracts, configuration, registries, databases, and eventually runtime traces so a requirement or code change can become an evidence-backed impact, development, integration, and verification plan.

ServiceGraph is in early development. The CLI, versioned SQLite graph, Codebase Memory Route/HTTP import, bounded cross-repository traversal, and MCP/CLI/Web Mermaid sequence output work today. Broader framework coverage, impact propagation, boundary view, and Change Lens remain in development.

Why ServiceGraph?

A repository code graph knows what the source says can happen. A service registry knows which service instances currently exist. A runtime trace knows what happened for one sampled request. Cross-service development needs all three views, tied to stable service, endpoint, revision, and source identities.

ServiceGraph aims to answer questions such as:

  • How does a click in mall-web reach the inventory database?

  • Which repository and handler implement POST /orders in the test environment?

  • If this DTO, route, or service name changes, which repositories and tests are affected?

  • Is this edge inferred from source, declared in a contract, or observed at runtime?

  • Which services are the minimum set needed to develop this flow locally?

Related MCP server: agentmako

Architecture

flowchart LR
    CLI["CLI"] --> D["servicegraphd"]
    MCP["MCP server"] --> D
    WEB["Sequence Workbench<br/>(MVP available)"] --> D
    CBM["Codebase Memory"] --> D
    CG["CodeGraph<br/>(optional enrichment)"] --> D
    NACOS["Nacos<br/>(planned)"] --> D
    OTEL["OpenTelemetry<br/>(planned)"] --> D
    D --> GRAPH["Federated evidence graph"]
    GRAPH --> SEQ["Sequence query engine"]
    SEQ --> WEB
    GRAPH --> IMPACT["Impact engine<br/>(planned)"]
    IMPACT --> REPORT["Change, integration,<br/>and verification plan"]

ServiceGraph integrates with Codebase Memory as its planned default repository indexer and CodeGraph as optional in-repository enrichment. Both are independent projects and are detected as external tools; ServiceGraph does not install, bundle, or modify them.

Project status

Capability

Status

Strict TypeScript identity and evidence model

Available

servicegraph init, doctor, and status

Available

Codebase Memory and CodeGraph installation probes

Available

MCP tool schemas and honest not-initialized/not-built errors

Available

Impact types, request validation, Git snapshot/diff capture

Available

SQLite graph store, repository inventory sync, public fixture

Available

Existing Codebase Memory Route/HTTP fact import

Available

Static frontend → gateway → Spring service federation

In development

Git diff → cross-repository impact report

Planned

Requirement → confirmed change anchors

Planned

OpenAPI, configuration evaluation, and Nacos identity

Planned

Evidence-backed Mermaid sequence output through MCP

Available

Local Daemon and bilingual Web Sequence Workbench MVP

Available

OpenTelemetry observed/possible diff

Planned

Try the foundation

Requirements: Node.js 22+ and pnpm 11.

git clone https://github.com/LM20230311/servicegraph.git
cd servicegraph
corepack enable
pnpm install --frozen-lockfile
pnpm build

pnpm servicegraph doctor
pnpm servicegraph init /path/to/a/multi-repository-workspace
pnpm servicegraph sync /path/to/a/multi-repository-workspace
pnpm servicegraph status /path/to/a/multi-repository-workspace
pnpm servicegraph sequence /path/to/a/multi-repository-workspace \
  --entrypoint submitOrder --target "POST /orders"
pnpm servicegraph serve /path/to/a/multi-repository-workspace

sync always records a versioned workspace snapshot and Repository nodes in .servicegraph/graph.db. When Codebase Memory is installed and every configured repository already has an index, it also imports Route, HTTP_CALLS, CROSS_HTTP_CALLS, and HANDLES facts through the public CLI and advances the graph to federated. It never invokes index_repository automatically. Missing indexes and incomplete/truncated upstream results keep the graph at repository_inventory and are reported as diagnostics.

Try the reproducible five-repository fixture:

node fixtures/mall-workspace/materialize.mjs /tmp/servicegraph-mall
node fixtures/mall-workspace/seed-recorded-graph.mjs /tmp/servicegraph-mall
pnpm servicegraph serve /tmp/servicegraph-mall

Open http://127.0.0.1:7464. The seed command imports a deterministic recorded graph contract for demonstration and tests; it does not claim to analyze the fixture source or replace a real Codebase Memory sync. The Web UI defaults to Simplified Chinese, supports English from the header switcher, and remembers the selection in the current browser.

Run the stdio MCP server:

pnpm mcp

The server registers servicegraph_explore, servicegraph_sequence, and servicegraph_impact. When a complete federation snapshot exists, servicegraph_sequence and the servicegraph sequence CLI perform a bounded local SQLite traversal, collapse repository-internal steps, and return a normalized SequenceModel and/or deterministic Mermaid. Query/entrypoint/target lookup is available now; persisted chain IDs, declared-only filtering, boundary view, and Change Lens are not. Explore and impact propagation still return CAPABILITY_NOT_IMPLEMENTED. Every unavailable or unreachable operation returns a structured error instead of inventing a flow.

Broader target output example

The current renderer can produce the evidence-backed HTTP portion of this flow. The database call, return messages, and actor event below remain an illustrative target until their corresponding graph facts are imported:

sequenceDiagram
    actor User
    participant Web as mall-web
    participant Gateway as api-gateway
    participant Order as order-service
    participant Inventory as inventory-service
    participant DB as inventory-db

    User->>Web: Submit order
    Web->>Gateway: POST /api/orders
    Gateway->>Order: POST /orders
    Order->>Inventory: POST /reservations
    Inventory->>DB: INSERT reservation
    DB-->>Inventory: reservationId
    Inventory-->>Order: reserved
    Order-->>Web: orderId

Every future arrow must carry provenance, confidence, environment, revision, and a source anchor. Static possibilities and runtime observations will never be presented as the same kind of fact.

Roadmap

  1. Complete the evidence-backed static vertical slice for Vue/React, Spring Cloud Gateway, controllers, OpenFeign, and JPA/MyBatis.

  2. Extend the local Sequence Workbench MVP with boundary grouping, persisted sequences, source navigation, and export.

  3. Add Git diff impact overlays across repositories, APIs, contracts, data, and tests.

  4. Add two-stage requirement anchoring, Nacos/Kubernetes identity, and OpenTelemetry possible/observed comparison.

  5. Generate development slices and later add permission-aware team workflows.

See the development plan for the overall roadmap and the impact analysis plan for the public model, interfaces, propagation rules, milestones, and acceptance criteria.

Contributing and security

Read CONTRIBUTING.md before proposing large API changes. Report vulnerabilities according to SECURITY.md, not in a public issue.

Independence and license

ServiceGraph is not an official extension of Codebase Memory or CodeGraph, and neither upstream project endorses or is responsible for it. See Integrations and NOTICE.

ServiceGraph is licensed under Apache-2.0.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    A graph-powered code intelligence engine that indexes codebases into a structural knowledge graph to provide AI agents with deep context on function calls, types, and execution flows. It offers local, zero-dependency tools for hybrid search, impact analysis, and dead code detection across Python, JavaScript, and TypeScript projects.
    Last updated
    724
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    A local code-intelligence engine for AI agents that indexes repositories into a PostgreSQL-backed code graph and serves structured, token-budgeted context over MCP and HTTP, enabling targeted queries on symbols, dependencies, contracts, and impact analysis.
    Last updated
    Apache 2.0
  • A
    license
    -
    quality
    B
    maintenance
    Provides AI coding assistants with deep, semantic understanding of local codebases via AST-aware chunking, cross-repo symbol graphs, and architectural memory, enabling context-aware code search and dependency tracing.
    Last updated
    10
    MIT

View all related MCP servers

Related MCP Connectors

  • AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).

  • Give your AI agent a persistent map of your project's structure, dependencies, and bugs.

  • Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.

View all MCP Connectors

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/LM20230311/servicegraph'

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