Skip to main content

Convert any CMD tool into a LLM agent

Project description

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

  1. Initialize: Create a local MCP server instance using mcp_api().
  2. Register: Load your domain-specific tools described in CWL via add_tool() (supports local files or repositories).
  3. 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coala_cli-0.2.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coala_cli-0.2.1-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file coala_cli-0.2.1.tar.gz.

File metadata

  • Download URL: coala_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for coala_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 becaee84469fc780881dce907345bd3f0b8daa1172062fc26faccd9cc5b2678b
MD5 6b0b4e6f829807b14cc241f39b3641ef
BLAKE2b-256 50c30459213a7cf899dc72f6e63f792c952751a7fc3bf31257c9b91e20a9c0d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for coala_cli-0.2.1.tar.gz:

Publisher: release.yml on coala-info/coala

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coala_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: coala_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for coala_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 62b6228645d16c64c55adf62bdf126651645ffd0a06f44fcbdb48580c8ab6da2
MD5 bd7e839cc54530b21b28c173f39bd385
BLAKE2b-256 81b24b1a856e81eb9572639e844aada7a37c207f6cc2e2d2e025cd8ce91fc668

See more details on using hashes here.

Provenance

The following attestation bundles were made for coala_cli-0.2.1-py3-none-any.whl:

Publisher: release.yml on coala-info/coala

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page