New One-call approvals are live in the console
Your own APIs

Your internal API is already an agent tool.

Nobody needs to build an MCP server for it. Point Govna at the OpenAPI description your API already publishes, review the operations you want reachable, and they arrive as governed tools — behind the same approval screen, the same rules and the same receipts as everything else.

billing-api / openapi.yamlv3.1
GET /customers/{id}get_customer
GET /customers?q=search_customers
POST /refundscreate_refund
DELETE /customers/{id}delete_customer
Four operations, one reviewed tool list. Nothing is callable until you publish it.
01 Three steps

A description on Monday, a governed tool on Tuesday

No integration to write, and nothing for the API team to change.

01

Point at the description

Any OpenAPI 3.0 to 3.2 document your service already publishes. Govna reads it and normalises every operation.

02

Review what becomes a tool

Choose the operations you want reachable, and see the exact request shape each one accepts. Operations Govna cannot safely support are kept visible, with the reason.

03

Publish a version

The published set is frozen. Calls are bound to that exact version and that exact operation — never to whatever the document says today.

02 One gateway

One address for your MCP servers and your APIs

An agent does not know or care which is which. Both arrive as tools on the same connection, under the same approval, with the same rules running and the same receipt at the end. Your team learns one model, not two.

MCP server you connect salesforce, github, sentry
MCP server someone else runs any HTTPS MCP endpoint
Your own API billing-api, inventory-api
https://agw.govna.io/mcp
03 Credentials

Whatever your API already uses

Credentials live in the vault, never in the database, and a rotation never changes what an approved session was allowed to reach.

API key
A header key your API already issues.
Bearer token
A long-lived service token, held in the vault, never in the database.
Basic
For the internal service nobody has modernised yet.
OAuth, per person
Each teammate links their own account. Calls are made as them.
OAuth, service
Client credentials for a system account.
None
A public read API needs no credential to be governed.
API version publication-07 pending

The description changed. The published version did not — until someone reviews it.

Source billing-api · openapi.yaml
In use publication-06 · 4 tools
Proposed publication-07 · 5 tools
Callable now publication-06 only
04 Change

A new document is a proposal, not a deployment

When your API team edits the description, the running set does not move. Changed and removed operations stop immediately; unchanged ones keep working; the new version waits for a person.

Next step

Where to go next

Two readers, two different next steps.

Platform engineer

Point Govna at your first description and publish a read-only set.

Security leader

See what a security review asks about this.