chore: publish clean community baseline
Deploy / deploy (push) Successful in 2m44s
CI / Rust Checks (push) Successful in 5m31s
CI / UI Checks (push) Successful in 5s
CI / Deployment Manifests (push) Successful in 2s
CI / Frontend E2E (push) Successful in 4m24s

This commit is contained in:
github-ops
2026-06-17 06:15:46 +00:00
commit ba29ac7b94
320 changed files with 73936 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
# Crank
Crank Community is a self-hosted platform for publishing REST APIs as MCP tools.
It lets operators describe an upstream REST endpoint, test it, publish it, and
expose it to LLM clients through MCP without writing a custom MCP server for
each integration.
## Features
- REST operation creation from the web UI or YAML.
- MCP input mapping into REST query, body, and header fields.
- REST response mapping into structured MCP tool output.
- Agent-scoped MCP endpoints with curated tool catalogs.
- Operation drafts, versions, samples, mappings, logs, and usage in PostgreSQL.
- Simple admin authentication with a bootstrap admin user.
- PostgreSQL-backed secrets and auth profiles for upstream REST APIs.
- Docker Compose deployment.
## Community Scope
This repository contains only the Community feature set:
- REST protocol only.
- Single self-hosted deployment.
- Simple admin authentication.
- Static agent API keys for MCP access.
- PostgreSQL as the system database.
- Optional Valkey/Redis cache for runtime coordination.
- Gitea Actions CI/CD.
The repository is focused only on the scope listed above.
## Architecture
Core concepts:
- `Workspace` is the data boundary for operations, agents, secrets, and logs.
- `Operation` is a versioned REST integration contract.
- `Agent` is an MCP surface that exposes a curated set of operations.
Runtime flow:
1. An operator creates or imports a REST operation.
2. Crank validates the schema and mapping.
3. The operator runs a test call against the upstream REST API.
4. The operation is published.
5. An agent exposes the published operation as an MCP tool.
6. MCP clients call the tool through `mcp-server`.
## License
GNU Affero General Public License v3.0 only