2.3 KiB
Crank
Crank is a self-hosted platform for turning REST API endpoints into MCP tools.
The product provides a web UI for describing an upstream REST endpoint, testing it, publishing it as a tool, and exposing it to MCP clients through an agent-scoped endpoint.
What Crank Does
- Creates REST tools from the web UI or YAML.
- Maps MCP input into REST path, query, headers, or JSON body.
- Maps REST responses into structured tool output.
- Publishes selected tools through a specific agent.
- Issues static API keys for MCP clients.
- Stores operations, versions, samples, secrets, logs, and usage in PostgreSQL.
- Runs with Docker Compose.
Community Scope
This repository contains the Community version:
- one workspace;
- one admin user;
- unlimited agents;
- REST protocol;
- MCP Streamable HTTP;
- static agent API keys;
- PostgreSQL database;
- optional Valkey or Redis for temporary coordination state.
The executable Community boundary is recorded in
docs/capability-inventory.json. Only
implemented denotes a delivered flow; planned, gap, and blocked do not
count as ready. Resources, Prompts, background Tasks, and Load Runs are planned
targets and are not advertised as implemented in the current version.
The verified brownfield snapshot is recorded in
docs/capability-baseline/manifest.json.
It binds the inventory, required surfaces, taxonomy, bounded manual checklist,
and sanitized results by exact SHA-256. A full pass requires
implemented + automated + pass; flaky, skipped, not-run, and manual-only
evidence remain non-pass.
Documentation
The main documentation is currently maintained in Russian:
- Documentation index
- Introduction
- Installation
- Quickstart
- MCP interface
- Admin API
- Runtime configuration
- Runtime configuration machine schema
- PostgreSQL migration contract (full operator contract in Russian)
- Migration machine sequence
- Troubleshooting
License
GNU Affero General Public License v3.0 only