An API runtime built for MCP
One config file, one binary, every interface your API needs.
$ charter dev Charter v0.1.0 (dev) ✓ charter.toml loaded 3 resources ✓ MCP http://localhost:8080/mcp ✓ REST http://localhost:8080/api ✓ OpenAPI http://localhost:8080/openapi.json ✓ Docs http://localhost:8080/docs ✓ Console http://localhost:8080/console
Key features
11 features →- 01
MCP server
Agents read and write your data over MCP, under the same roles as everyone else.
- 02
One file
Resources, fields, relations, roles and permissions all live in charter.toml. Commit it next to your code.
- 03
REST and OpenAPI
Every resource gets REST endpoints and an OpenAPI document built from the same definition, so the spec matches the API.
- 04
API docs
Reference docs are served at /docs and change when the schema changes.
- 05
Admin console
Browse and edit records, manage roles and issue keys from a web console.
- 06
Roles and permissions
Set who can read or write each resource. Charter enforces it on every request, through every interface.
- 07
Validation
charter resources validate catches broken relations, duplicate fields and permission conflicts before you serve. Each error has a code you can look up.
- 08
Reviewed changes
Export a definition, review the plan, then import. A dry run lists additions, changes and conflicts before anything is written.
- 09
Data import
Load records from CSV or Excel files.
- 10
Your database
Starts on an embedded SQLite database. Pass --db to use your own.
- 11
Single binary
Install with Homebrew or run the container image.
Bring your own schema.
Install once. Serve every interface.