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/clustertargets for an Apollo application - Diff one config key across all discovered targets
- Export all config items from one target to a
.propertiesfile - Run as a local MCP server over stdio
Requirements
- Python 3.11+
uvfor 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 layertests/: unit tests for client, services, and MCP wrapperssrc/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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae1348b365c04500338360a72b5dbcad0010c829b8e0f8f0f88661b78099fd2c
|
|
| MD5 |
65bc11993fb05b8090d2f141c1bfcf6a
|
|
| BLAKE2b-256 |
057b6c2a13420b94067fbef31a2c546afa0051fada7165d4b29cfd4c531372a7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f763cb8da1bebe86f29fa60f9875533193390aa72a0094a0b29d9806740dea1b
|
|
| MD5 |
6b6dfd984258880896177809484ea029
|
|
| BLAKE2b-256 |
8950d5315982b91e3666b7884c1c3bab43b7911f659001c5e3ebab0ae4c2b20b
|