Metadata-Version: 2.4
Name: apolo-mcp
Version: 26.8.0
Summary: MCP server for the Apolo platform
Project-URL: Homepage, https://github.com/neuro-inc/apolo-mcp
Project-URL: Documentation, https://github.com/neuro-inc/apolo-mcp/tree/master/docs
Project-URL: Repository, https://github.com/neuro-inc/apolo-mcp
Project-URL: Issues, https://github.com/neuro-inc/apolo-mcp/issues
Author-email: Apolo Team <dev@apolo.us>
License:                                  Apache License
                                   Version 2.0, January 2004
                                https://www.apache.org/licenses/
        
           Copyright 2026 Apolo
        
           Licensed under the Apache License, Version 2.0 (the "License");
           you may not use this file except in compliance with the License.
           You may obtain a copy of the License at
        
               https://www.apache.org/licenses/LICENSE-2.0
        
           Unless required by applicable law or agreed to in writing, software
           distributed under the License is distributed on an "AS IS" BASIS,
           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
           See the License for the specific language governing permissions and
           limitations under the License.
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Requires-Dist: apolo-flow>=26.7.2
Requires-Dist: apolo-sdk>=26.7.2
Requires-Dist: async-timeout>=5
Requires-Dist: jsonschema<5,>=4.23
Requires-Dist: mcp<3,>=2.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: tomlkit<1,>=0.13
Description-Content-Type: text/markdown

# apolo-mcp

`apolo-mcp` is a local stdio Model Context Protocol server for typed Apolo platform
operations. It is a thin adapter over `apolo-sdk`: it never shells out to the CLI and
uses the configured Apolo identity, permissions, and defaults. Local sessions normally
come from `apolo login`; isolated jobs may use `APOLO_PASSED_CONFIG`.

The server exposes bounded context discovery and typed platform operations. Every
operational tool accepts explicit `cluster`, `org`, and `project` inputs where the
SDK supports them; explicit inputs never modify the user's saved context. Secret
values and one-time credentials are intentionally outside the model-visible interface.

## Installation

Follow the
[installation and client configuration guide](docs/getting-started/installation.md)
for prerequisites, server and skill installation, Codex and Claude Code registration,
per-session policy selection, and verification. Local stdio is the only supported
transport; shared-credential remote service operation is unsupported.

See the [Apolo MCP documentation](docs/README.md) for prerequisites, safety controls,
the capability matrix, generated tools and skills catalogs, and task-oriented guides.

## Development

```console
make setup
make lint
make test
make build
```

Dependencies are locked with `uv.lock`. Tests use an `ApoloClientProvider` fake and do
not require credentials. Integration tests, when added, must be opt-in and target an
isolated non-production project.

Wheel and source-distribution files are generated release artifacts and must not be
committed. Tagged releases build them in CI and publish the exact outputs to PyPI via
Trusted Publishing; local `dist/` contents are disposable. Maintainers should follow
[RELEASE.md](RELEASE.md) for changelog, validation, signing, and publication.

Release versions use `YY.MM.NN`: the two-digit year, the month without a leading zero,
and a zero-based release sequence within that month. For example, `v26.7.0` is the
first July 2026 release, and its Python package version is `26.7.0`.

## Safety configuration

The server defaults to `APOLO_MCP_POLICY_MODE=read-only`. Use `managed` to create
resources and manage only their exact journaled lifecycles, or `full` to permit
mutations of any exact-context resource. Policy never grants Apolo permissions or
replaces Apolo RBAC, and it is not a security boundary against an agent with direct
CLI or SDK access. **Never run `full` with a personal administrator, owner, or other
broadly privileged Apolo account.** Use a dedicated least-privileged service account
and follow the [full-mode service-account guide](docs/guides/full-mode-service-account.md).
Select policy per launch rather than permanently storing `managed` or `full`; the
installation guide contains the client-specific configuration. Read the generated
[safety model](docs/getting-started/safety.md) before enabling writes, and consult the
[capability matrix](docs/capabilities/) for the complete current contract.

Licensed under Apache-2.0. See [SECURITY.md](SECURITY.md) for private reporting.
