coala-cli
======================
Overview
Coala, implemented as a Python package, is a standards-based framework for turning command-line tools into reproducible, agent-accessible toolsets that support natural-language interaction.
How the Framework Works
Coala integrates the Common Workflow Language (CWL) with the Model Context Protocol (MCP) to standardize tool execution. This approach allows Large Language Model (LLM) agents to discover and run tools through structured interfaces, while strictly enforcing the containerized environments and deterministic results necessary for reproducible science.
Core Components
- Client Layer: Any MCP-compliant client application (e.g., Claude Desktop, Cursor, or custom interfaces) that utilizes LLMs (such as Gemini, GPT-5, or Claude) to enable natural language interaction.
- Bridge Layer: A local, generic MCP server that acts as a schema translator. Unlike standard MCP servers that require custom Python wrappers for each tool, the bridge layer automatically parses CWL definitions and exposes the CWL-described command-line tools as executable MCP utilities.
- Execution Layer: A standard CWL runner that executes the underlying binaries within containerized environments (Docker). This ensures that analyses are reproducible and isolated from the host system's dependencies.
Quick Start
- Initialize: Create a local MCP server instance using
mcp_api(). - Register: Load your domain-specific tools described in CWL via
add_tool()(supports local files or repositories). - Serve: Start the MCP server using
mcp.serve().
The Workflow
- Interact: The user sends a natural language query to the MCP Client (e.g., Claude Desktop).
- Discover & Select: The Client retrieves the tool list from the MCP server. The LLM selects the appropriate tool and sends a structured request for the analysis.
- Execute: Coala translates this selection into a CWL job and executes it within a container (Docker), ensuring reproducibility.
- Respond: The execution logs and results are returned to the LLM, which interprets them and presents the final answer to the user.
Get Started
Requirements
- Python 3.12 or later
- FastAPI
- Requests
- Pydantic
- Uvicorn
- cwltool
- mcp (Model Context Protocol SDK)
Installation
To install coala-cli, run the following command:
pip install coala-cli
Use Cases
Release files for coala-cli 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| coala_cli-0.2.1.tar.gz | 13.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| coala_cli-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.7 kB
Release files / coala_cli-0.2.1.tar.gz
| Download URL | coala_cli-0.2.1.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
becaee84469fc780881dce907345bd3f0b8daa1172062fc26faccd9cc5b2678b
|
|
BLAKE2b-256 checksum How to use checksums |
50c30459213a7cf899dc72f6e63f792c952751a7fc3bf31257c9b91e20a9c0d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 12, 2026.
Transparency logRelease files / coala_cli-0.2.1-py3-none-any.whl
| Download URL | coala_cli-0.2.1-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62b6228645d16c64c55adf62bdf126651645ffd0a06f44fcbdb48580c8ab6da2
|
|
BLAKE2b-256 checksum How to use checksums |
81b24b1a856e81eb9572639e844aada7a37c207f6cc2e2d2e025cd8ce91fc668
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 12, 2026.
Transparency log