Skip to main content

MCP server for Apollo configuration export and diff workflows

Project description

Apollo Tool MCP

Python MCP server for Apollo configuration workflows. It exposes tools for listing available environment and cluster targets, diffing a config key across targets, and exporting a target's full configuration to a .properties file.

Features

  • List available env/cluster targets for an Apollo application
  • Diff one config key across all discovered targets
  • Export all config items from one target to a .properties file
  • Run as a local MCP server over stdio

Requirements

  • Python 3.11+
  • uv for dependency management and publishing
  • Network access to your Apollo admin service

Installation

For local development:

uv sync --extra dev

After publishing, install from PyPI:

uv tool install apollo-tool-mcp

Running The Server

Run the MCP server directly:

uv run python -m mcp_server

Or use the published console command:

apollo-tool-mcp

Use MCP Inspector during development:

uv run mcp dev mcp_server/server.py

Configuration

Apollo credentials can be passed as tool arguments or environment variables:

export APOLLO_ADMIN_URL=https://apollo-admin.example.com
export APOLLO_USERNAME=your-username
export APOLLO_PASSWORD=your-password

Development

Run tests:

uv run python -m unittest discover -s tests -v

Run coverage:

uv run coverage run -m unittest discover -s tests
uv run coverage report -m

Build release artifacts:

uv build

For a Chinese introduction to building your own MCP Server using this repository as an example, see GETTING_STARTED.md.

Publishing

Publish to TestPyPI first when validating packaging changes:

uv publish --publish-url https://test.pypi.org/legacy/

Publish to PyPI:

uv publish

See RELEASE.md for the release checklist.

Project Layout

  • mcp_server/: MCP server entrypoint, Apollo client, and service layer
  • tests/: unit tests for client, services, and MCP wrappers
  • src/main/java/: legacy Java CLI implementation kept for reference during migration

Legacy Java CLI

This repository started as a Gradle-based Java CLI. The Java code is still present under src/main/java/, but active development is now centered on the Python MCP server.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apollo_tool_mcp-0.2.1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apollo_tool_mcp-0.2.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file apollo_tool_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: apollo_tool_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for apollo_tool_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ae1348b365c04500338360a72b5dbcad0010c829b8e0f8f0f88661b78099fd2c
MD5 65bc11993fb05b8090d2f141c1bfcf6a
BLAKE2b-256 057b6c2a13420b94067fbef31a2c546afa0051fada7165d4b29cfd4c531372a7

See more details on using hashes here.

File details

Details for the file apollo_tool_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: apollo_tool_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for apollo_tool_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f763cb8da1bebe86f29fa60f9875533193390aa72a0094a0b29d9806740dea1b
MD5 6b6dfd984258880896177809484ea029
BLAKE2b-256 8950d5315982b91e3666b7884c1c3bab43b7911f659001c5e3ebab0ae4c2b20b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page