MCP server for accessing and analyzing Apache Maven mailing list archives.
# Start all services (Elasticsearch, mail-mcp, scheduler)
docker compose up -d
# Retrieve mailing list archives (first time only)
# For dev@maven.apache.org:
for year in $(seq 2002 $(date +%Y)); do
for month in $(seq -w 1 12); do
docker compose exec scheduler retrieve-mbox --date ${year}-${month} --output-dir /app/data/dev || true
done
done
# For users@maven.apache.org:
for year in $(seq 2002 $(date +%Y)); do
for month in $(seq -w 1 12); do
docker compose exec scheduler retrieve-mbox --date ${year}-${month} --list users@maven.apache.org --output-dir /app/data/users || true
done
done
# Index all downloaded mbox files
docker compose exec scheduler index-mbox --directory /app/data/dev/ --list dev@maven.apache.org
docker compose exec scheduler index-mbox --directory /app/data/users/ --list users@maven.apache.orgThe MCP server runs on port 58080 via Streamable HTTP transport:
# Claude Code
claude mcp add maven-mail --transport http http://localhost:58080/mcpOr add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"maven-mail": {
"type": "streamable-http",
"url": "http://localhost:58080/mcp"
}
}
}See Documentation for:
-
Development guide and CI
-
Docker setup
-
MCP server configuration
-
Data management
-
Architecture decisions
Apache License 2.0 - See LICENSE for details.