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.0.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.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apollo_tool_mcp-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 ff1dff23226badfc9d38a6a94fd634a6e1e58f693372691c15acd2118ec6aee6
MD5 8d44b40682d19eb4a10d2a14fbf592e7
BLAKE2b-256 2cab92e44c3838e854ef2cef9384c59b4a7ba1c09472dd4de4ea1647d2870712

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apollo_tool_mcp-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 870d3932ffd9840e3136b8446ce0175603bbcab6a42328956db22b3762725cec
MD5 727097c78e1d12c7d2c87aec18124205
BLAKE2b-256 883f7644982745838e0c937a40a03568c4ec16d7b41d7b04dfa2faae729bf4f2

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