Python capability compiler: local read-only analysis and explicit MCP/REST exposure planning.
Connect selected Python functions to AI agents through MCP, or expose them as REST APIs.
Apizr is an open-source capability compiler: analyze existing Python code, choose which functions are public, generate their interfaces, and define how they execute. Your business logic stays in Python.
Quickstart: make your first MCP and REST calls · The full journey
Follow Install Apizr, then the Quickstart. See the release history for version-specific functionality, compatibility and verified publication. The journey is Python code → discover/select capabilities → expose as REST/MCP → optionally deliver as OCI.
Python 3.11–3.14 · GPL-3.0-or-later.
| Your goal | Start here |
|---|---|
| Expose Python functions as MCP tools or REST endpoints | Install → Quickstart |
| Analyze a project from an MCP client | Install the MCP profile → analysis server |
| Build and deliver a service | Install OCI or delivery → OCI and Attest |
| Initialize and diagnose a project (0.4.2) | Safe init, read-only doctor and shell completion |
| Validate/build in CI (0.4.2) | GitHub Action, GitLab component source and apizr ci |
The core handles supported static analysis and generation. Generated servers have their own runtime dependencies. Optional plugins live in separate environments; installation, activation and operator authorization are independent decisions.
Readiness reports whether the available code evidence supports an interface. An exposure policy names the functions you choose to make public. A bundle is the generated server, its contracts and the source needed by those functions. Being ready never makes a function public automatically.
| Connect through | Start with |
|---|---|
| MCP tools for agents and other clients | Generate MCP and make two calls |
| REST endpoints for applications | Generate REST and send two requests |
The generated MCP server calls your selected functions. The separate, Apizr analysis MCP server analyzes repositories and plans exposure; it does not execute their functions.
Analysis and generation do not execute the project. Starting a generated server and calling its functions does: use trusted source and dependencies. Direct mode runs functions inside the server. Governed mode uses an execution policy to choose a worker and its required limits: a fresh local process or an OCI container per call. Local workers do not isolate the host filesystem or network; containers are not an untrusted-code guarantee.
The direct Quickstart needs no Docker. Read the exposure guide for governed examples and the execution boundaries for their guarantees and limits.
Single-source inspect, generate rest/mcp and execute remain supported.
Apizr 0.4.2 also exports verified REST bundles to
Postman, Bruno and Insomnia collections,
with deterministic files and safe local regeneration.
The historical pipeline is a separate compatibility path. See the full journey for dependency, resource and exposure limits.
Watch the demo · Architecture · Development and checks · Report an issue · GPL-3.0-or-later
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx outerspace-apizr-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-alien6-studio-outerspace-apizr": {
"command": "uvx",
"args": [
"outerspace-apizr-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceOuterSpace Apizr works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.