Get the FREE Ultimate OpenClaw Setup Guide →

domain

MCP server that clones and analyzes microservices to extract business rules, APIs, and data models—represented as an in-memory graph for fast reasoning.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio waabox-domain-mcp-server docker run -i waabox/domain-mcp-server:latest \
  --env MCP_API_TOKEN="your-api-token-if-needed" \
  --env SPRING_DATASOURCE_URL="jdbc:postgresql://localhost:5432/domain_mcp" \
  --env SPRING_DATASOURCE_PASSWORD="your_db_password" \
  --env SPRING_DATASOURCE_USERNAME="your_db_username"

How to use

domain-mcp-server is a Java Spring Boot MCP server that builds a unified in-memory graph of your microservice ecosystem. It ingests code and documentation to extract business logic, APIs, and data models, linking them as rich, queryable entities. The server stores knowledge in PostgreSQL and exposes an MCP interface for orchestration with LLM workflows or other MCP-based tooling. After starting, you can interact with the MCP tools to enumerate indexed projects, search within projects, inspect class and method contexts, resolve dependencies, retrieve API surface details, and run graph queries. Use the included tools to quickly discover projects, drill into specific classes or methods, understand endpoints, and explore cross-service call graphs. Typical usage involves connecting Claude-like agents or custom clients to the MCP endpoints to drive reasoning over your domain model.

How to install

Prerequisites:

  • Docker installed on your system
  • Access to a PostgreSQL database (or run with a Dockerized PostgreSQL)
  • Optional: an API token if you have restricted endpoints

Installation steps:

  1. Prepare a PostgreSQL instance and database:

    • Create a database named domain_mcp
    • Create user with read/write access
  2. Pull and run the Docker image:

# Pull latest image (or specify a version tag)
docker pull waabox/domain-mcp-server:latest

# Run the MCP server container (adjust env vars as needed)
docker run -d --name domain-mcp-server \
  -e SPRING_DATASOURCE_URL=jdbc:postgresql://db-host:5432/domain_mcp \
  -e SPRING_DATASOURCE_USERNAME=your_db_username \
  -e SPRING_DATASOURCE_PASSWORD=your_db_password \
  -p 8080:8080 \
  waabox/domain-mcp-server:latest
  1. Alternatively, use Docker Compose (example):
version: '3.8'
services:
  domain-mcp-server:
    image: waabox/domain-mcp-server:latest
    ports:
      - "8080:8080"
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://db-host:5432/domain_mcp
      SPRING_DATASOURCE_USERNAME: your_db_username
      SPRING_DATASOURCE_PASSWORD: your_db_password
  1. Verify startup and health via the MCP healthcheck endpoint (e.g., http://localhost:8080/health) once the container is running.

Additional notes

Notes:

  • The MCP server auto-detects project language (Java, Node.js/TypeScript, Go) from markers like pom.xml, package.json, or go.mod.
  • Ensure PostgreSQL is reachable and the schema is initialized (the server will create/adjust as needed).
  • If you run behind a proxy, configure network access and any required TLS settings for the REST/stdio transports.
  • When using Docker, you can swap to a specific image tag to pin a version. Check the official container registry for available tags.

Common issues and tips:

  • Connection refused to PostgreSQL: verify host, port, and credentials; ensure the database is accepting connections from the MCP container.
  • Missing language parsers: ensure the indexed projects contain recognizable markers (pom.xml for Java, package.json for Node.js/TS, go.mod for Go).
  • If you need to reset the catalog, you may drop and recreate the PostgreSQL schema, then re-index projects.

Related MCP Servers

Sponsor this space

Reach thousands of developers