Grafbase for AI agents

Grafbase helps teams build and manage GraphQL APIs with edge caching, unified data access, and federated schemas. Engineering teams pull it into internal tools and scripts rather than building the same capability themselves. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

Developer toolsAPI keyMCP + RESTgrafbase.com
AUDIT LOG · GRAFBASEPOLICY: acme-support
09:41:07 · claude · u_8f2read
grafbase.list_schemas
List Grafbase Schemas✓ allowed · 212ms
09:41:08 · claude · u_8f2read
grafbase.get_audit_log
Get Grafbase Audit Log✓ allowed · 164ms
09:41:09 · claude · u_8f2write
grafbase.add_zitadel_redirect
Add Zitadel Redirect URI✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
grafbase.delete_team
Delete Grafbase Team✕ blocked · policy: deny
EVERY GRAFBASE CALL, ON THE RECORD
01 · USE CASES

What agents do in Grafbase.

01

Check a subgraph's schema

Pull a subgraph's current schema before proposing a change to a federated GraphQL API.

02

Review recent schema checks

List recent schema checks to see whether a proposed change would break existing queries.

03

Delete an API key with confirmation

Delete an old API key only after a team admin confirms it is no longer in use.

02 · ACTIONS

28 Grafbase actions, graded by risk.

Every Grafbase action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

15

Look things up. Allowed by default.

  • grafbase.list_schemas
    List Grafbase Schemas
  • grafbase.get_audit_log
    Get Grafbase Audit Log
  • grafbase.list_api_keys
    List API Keys
  • grafbase.get_invitation
    Get Grafbase Invitation
  • grafbase.list_subgraphs
    List Grafbase Subgraphs
  • grafbase.list_audit_logs
    List Grafbase Audit Logs
  • grafbase.list_extensions
    List Extensions
  • grafbase.get_schema_check
    Get Grafbase Schema Check
  • grafbase.list_mcp_servers
    List MCP Servers
  • grafbase.list_schema_checks
    List Grafbase Schema Checks
  • grafbase.get_subgraph_schema
    Get Subgraph Schema
  • grafbase.get_federated_schema
    Get Federated Schema
  • grafbase.get_extension_by_name
    Get Extension by Name
  • grafbase.get_notifications_inbox_messages
    Get Notifications Inbox Messages
  • grafbase.get_extension_version_by_name_and_version
    Get Extension Version By Name And Version

write

4

Create and change things. Allow, or ask the user first.

  • grafbase.add_zitadel_redirect
    Add Zitadel Redirect URI
  • grafbase.enable_mcp
    Enable Grafbase MCP Server
  • grafbase.assign_team_role
    Assign Team Role
  • grafbase.mark_notifications_as_read
    Mark Notifications as Read

destructive

9

Delete, cancel or archive. Ask first, or deny outright.

  • grafbase.delete_team
    Delete Grafbase Team
  • grafbase.delete_schema
    Delete Grafbase Subgraph
  • grafbase.delete_api_key
    Delete Grafbase API Key
  • grafbase.delete_audit_log
    Delete Grafbase Audit Log
  • grafbase.delete_extension
    Delete Extension
  • grafbase.delete_mcp_server
    Delete MCP Server
  • grafbase.remove_graph_owner
    Remove Graph Owner
  • grafbase.delete_schema_check
    Delete Schema Check
  • grafbase.disable_mcp
    Disable MCP Server
03 · HOW IT WORKS

Grafbase in three steps.

  1. 01Your users connect GrafbaseThey add their Grafbase api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “add Zitadel Redirect URI” can wait for the user, and “delete Grafbase Team” can be denied outright.
  3. 03Any agent can actYour agent calls Grafbase through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('grafbase', {
  read: 'allow',
  write: 'ask',        // add_zitadel_redirect
  destructive: 'deny',  // delete_team
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Grafbase connects.

Users add their Grafbase api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Grafbase connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Grafbase from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Grafbase and Arc0, answered.

Q01

Can I use Grafbase with Claude, ChatGPT or Cursor?

Yes. Connect Grafbase to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Grafbase actions you allow.

Q02

How do users connect Grafbase?

Users add their Grafbase api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Grafbase actions can my agent take?

28 in total: 15 read, 4 write and 9 destructive, such as “add Zitadel Redirect URI”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Grafbase?

Yes. Actions like “delete Grafbase Team” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Grafbase too?

Yes. The same Grafbase connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Grafbase into your agent.

Your users connect Grafbase once, under your brand. Your agent gets 28 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan