Skip to main content

mcp-apollo-config

MCP server for Apollo Config Center using portal username/password login, implemented with FastMCP.

Install

pip install mcp-apollo-config

Local editable install:

pip install -e .

Auth Mode

The plugin authenticates by portal session:

  1. POST /signin with username/password
  2. Receives login session cookie (SESSION or JSESSIONID)
  3. Uses portal management APIs under /apps/{appId}/envs/{env}/...

No OpenAPI token is required.

Governance Mode

  • readonly (default): query only
  • editable: query + edit (requires --operator)

MCP Configuration

Configure the server in your MCP client with command + args:

{
  "mcpServers": {
    "apollo": {
      "command": "mcp-apollo-config",
      "args": [
        "--portal-url", "http://apollo-portal.example.com",
        "--username", "your.username",
        "--password", "your.password",
        "--governance-mode", "readonly",
        "--default-app-id", "your-app-id",
        "--default-env", "DEV",
        "--default-cluster", "default",
        "--default-namespace", "application"
      ]
    }
  }
}

Full Parameters

Required:

  • --portal-url or APOLLO_PORTAL_URL
  • --username or APOLLO_USERNAME
  • --password or APOLLO_PASSWORD

Optional:

  • --login-submit or APOLLO_LOGIN_SUBMIT
  • --governance-mode or APOLLO_GOVERNANCE_MODE: readonly|editable
  • --operator or APOLLO_OPERATOR (required in editable mode)
  • --default-app-id or APOLLO_DEFAULT_APP_ID
  • --default-env or APOLLO_DEFAULT_ENV (for example DEV, TEST)
  • --default-cluster or APOLLO_DEFAULT_CLUSTER (default: default)
  • --default-namespace or APOLLO_DEFAULT_NAMESPACE
  • --timeout-ms or APOLLO_TIMEOUT_MS (default: 10000)
  • --log-level or MCP_APOLLO_LOG_LEVEL: DEBUG|INFO|WARN|ERROR (default: WARN)
  • --debug-http or MCP_APOLLO_DEBUG_HTTP=true

Tools

  • apollo_get_namespace_configs: query all key/value items under a namespace/environment/cluster with pagination controls (pageSize, maxItems).
  • apollo_get_key: query one config key under a namespace/environment/cluster.
  • apollo_edit_key (editable mode only): create or update one key and return the updated item.

Tests

Local tests use a mock Apollo portal server and do not require real credentials or network access.

python -m unittest discover -s tests -p "test_*.py"

Covered scenarios:

  • tools/list in readonly and editable mode
  • apollo_get_key
  • apollo_get_namespace_configs
  • apollo_edit_key
  • Portal session login + cookie flow

Notes

  • The management API path includes /envs/{env}. Set --default-env or pass env in tool arguments.
  • The server is built on FastMCP and runs in stdio transport mode.
  • After editing a key, Apollo release may still be needed before clients see the change.
  • Avoid keeping DEBUG logs enabled in production for long periods.

Chinese README

Metadata

Release files for mcp-apollo-config 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-apollo-config 0.1.2
File Size Uploaded Provenance
mcp_apollo_config-0.1.2.tar.gz 15.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-apollo-config 0.1.2
File Interpreter ABI Platform
mcp_apollo_config-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 28.1 kB

Release files / mcp_apollo_config-0.1.2.tar.gz

Download URL mcp_apollo_config-0.1.2.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
bc83ca63c41a188a7c8a692144bb5bf2db4b46d73387fed07aee78cdbe63f066
BLAKE2b-256 checksum
How to use checksums
5c21af58f7d4d95b75fa29d2decba19bacda57711a33d871965e7b9db422793b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / mcp_apollo_config-0.1.2-py3-none-any.whl

Download URL mcp_apollo_config-0.1.2-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2d4a47da8d388e660e2d7a81b08ef9bab6f6d4c64471171cd058be0f3409861
BLAKE2b-256 checksum
How to use checksums
4d0fa2bf117a17809c3affd5f08d049de10d2cf9a83d8b9795c33002b9b5d772
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Security for mcp-apollo-config 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page