System Architecture

Overview

This documentation uses Claude Code as the example MCP client. However, the architecture is client-agnostic. Any MCP-compatible LLM client or CLI tool can replace Claude Code in this setup.

This document describes the architecture and deployment of the Maven MCP ecosystem. The system consists of multiple MCP servers that provide LLM clients access to various data sources relevant to Maven development.

Deployment Diagram

Maven MCP Deployment Architecture

The diagram shows the typical deployment scenario with all MCPs configured.

Components

Local Components

These components run on your local machine:

MCP Client (e.g., Claude Code)

The MCP client that connects to all configured MCP servers via HTTP/SSE. Provides the user interface for interacting with the MCPs.

mail-mcp

Locally deployed MCP server providing access to Maven mailing list archives. Clients access mail-mcp only via MCP protocol. See mail-mcp documentation.

Atlassian MCP

Locally deployed MCP server (runs via Docker). Provides access to Apache Jira and Confluence instances. See Atlassian MCPs for available options. Communicates with Atlassian API via REST.

GitHub MCP

Locally deployed MCP server (runs via npx). Provides access to GitHub repositories, issues, and pull requests. See GitHub MCP documentation. Communicates with GitHub API via REST.

Maven Tools MCP

Locally deployed MCP server (runs via Docker). Provides Maven Central dependency intelligence (version lookups, health analysis). See Maven Tools MCP documentation. Communicates with Maven Central repository directly.

Remote Components

These components are hosted externally:

GitHub API

REST API at api.github.com.

Apache Jira

REST API at issues.apache.org/jira. Primary issue tracker for Apache Maven.

Apache Confluence

REST API at cwiki.apache.org. Primary wiki for Apache Maven documentation.

Communication

MCP Protocol

All MCP servers communicate with Claude Code using the Model Context Protocol (MCP). This protocol enables:

  • Tool discovery and invocation

  • Resource access

  • Bidirectional communication

REST APIs

MCP servers communicate with their respective backend services via REST APIs:

GitHub API

api.github.com - requires authentication token

Apache Jira

issues.apache.org/jira - requires authentication

Apache Confluence

cwiki.apache.org - requires authentication

Prerequisites

See Prerequisites for detailed requirements per component.

Configuration

Configuration details for each MCP are provided in their respective documentation: