Skip to main content
See instructions
The schema is the contract. Charter turns a Pydantic schema into an agent tool. You declare what the model fills in and where each field belongs. The runtime handles the rest, including auth.
Two steps against six, and one package to install against three. The model fills to, subject and body either way. With Charter, Format("rfc822_base64") builds the RFC 2822 document and encodes it base64url, Body(envelop=True) puts it under the raw key Gmail expects, and the factory attaches the token. None of that is written, because the schema already says what the request is.

The schema is all you need

Zero boilerplate. Zero plumbing. Zero extra libraries in the middle. Zero learning curve. Writing an API tool becomes trivial, and every call is deterministic. Charter handles the rest. Across 536 runs against live APIs, that surface handed the model about 4× less response context than a raw HTTP tool, and completed the tasks whose wire format the model would otherwise have had to assemble by hand. The full record, including where the difference does and does not show up. Read Why Charter for the full story.

Plugs into what you run

The framework you already use decides when to call a tool, and Charter makes the call.
Gmail is one of fifteen APIs that ship already declared. For an API no pack covers, your coding agent can write the declaration.

What you get

Open and direct

MIT. Your process calls the API. No proxy, no per-call price, no rate limit but the API’s own.

Egress control

A field the model must not see is absent from its schema, and the map is printable.

Deterministic wire

MIME, base64url, protobuf and casing are declared once and built by the runtime, never by the model.

Runs where you run it

No telemetry, no phone-home, no training on your traffic. The only network calls are the API calls you define.

Next

Quickstart

Declare a tool, print the boundary, call a pack, hand it to a framework.

Packs

Fifteen integrations, 549 tools, ready to configure and call.

Coding agents

The skill that teaches your agent to write packs, and these docs as a source.

MCP server

Compile a pack into a lean server that speaks the protocol.