chore: publish clean community baseline
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user