# 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.

## Documentation

The main documentation is currently maintained in Russian:

- [Documentation index](../README.md)
- [Introduction](../intro.md)
- [Installation](../installation.md)
- [Quickstart](../quickstart.md)
- [MCP interface](../mcp-interface.md)
- [Admin API](../admin-api.md)
- [Runtime configuration](../runtime-config.md)
- [Troubleshooting](../troubleshooting.md)

## License

GNU Affero General Public License v3.0 only
