Grafbase

Learn how to use Grafbase with Composio

Overview

SLUG: GRAFBASE

Description

Grafbase is a platform that accelerates the development of GraphQL APIs, offering features like edge caching, unified data access, and seamless integration with popular authentication strategies.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Grafbase

Create an auth config

Use the dashboard to create an auth config for the Grafbase toolkit. This allows you to connect multiple Grafbase accounts to Composio for agents to use.

1

Select App

Navigate to Grafbase.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Grafbase Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4grafbase_auth_config_id = "ac_YOUR_GRAFBASE_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Grafbase for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, grafbase_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Grafbase toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["GRAFBASE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Delete Grafbase API Key

Description

Tool to delete an existing API key. Use after confirming the key ID to revoke access.

Action Parameters

key_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Grafbase Audit Log

Description

Tool to delete a specific Grafbase audit log entry. Note: As of current Grafbase public documentation, there is no documented API to delete audit logs programmatically. This action will attempt a best-effort REST DELETE to `/audit-logs/{id}` and, if unsupported or not found, it will gracefully fall back to validating connectivity with the GraphQL Management API and return a structured response instead of failing.

Action Parameters

log_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Extension

Description

Tool to delete an extension configuration. Use after confirming the extension_id to remove the extension.

Action Parameters

extension_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete MCP Server

Description

Tool to delete a Grafbase MCP server configuration by its unique ID. Use after confirming the server ID to remove an existing MCP server.

Action Parameters

server_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Grafbase Schema

Description

Tool to delete a Grafbase schema. Use when you need to remove a specific schema from the registry after confirming its ID.

Action Parameters

schema_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Schema Check

Description

Tool to delete a Grafbase schema check. Use when you need to remove a specific schema check by its ID after reviewing the registry.

Action Parameters

check_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Disable MCP server

Description

Tool to disable the Model Context Protocol server. Use when you need to turn off MCP via API after it has been enabled.

Action Parameters

dry_run
boolean
reason
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Enable Grafbase MCP Server

Description

Tool to enable the Model Context Protocol (MCP) server for a Grafbase project. Use when you need to activate MCP support; if the API endpoint is not supported, this returns guidance for enabling via configuration.

Action Parameters

dry_run
boolean
enabled
boolean
reason
string
server_url
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Grafbase Audit Log

Description

Tool to retrieve a specific Grafbase audit log entry. Use after confirming the audit log ID exists.

Action Parameters

log_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Federated Schema

Description

Tool to retrieve the composed federated graph schema. Use after deploying your federated graph when you need the full SDL.

Action Parameters

branch
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Grafbase Schema Check

Description

Tool to retrieve the result of a schema check by its ID. Use when you need to inspect a specific schema check after running a check via CLI or API.

Action Parameters

check_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Subgraph Schema

Description

Tool to retrieve the GraphQL SDL of a specific subgraph. Use after confirming the subgraph name to inspect its schema.

Action Parameters

name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List API Keys

Description

Tool to list all API keys for a project. Use after authenticating with a valid token to retrieve the project’s API keys.

Action Parameters

after
string
include_revoked
boolean
limit
integer
search
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Grafbase Audit Logs

Description

Tool to list all audit logs for a project. Use when you need to retrieve historical events (up to 90 days). Note: As of current Grafbase public documentation, there is no documented API to list audit logs programmatically. This action will attempt a best-effort REST endpoint and gracefully fall back to returning an empty list after validating connectivity/authentication with the GraphQL Management API.

Action Parameters

action
string
actor_user_email
string
cursor
string
from_timestamp
string
limit
integer
to_timestamp
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Extensions

Description

Tool to list all extensions configured for a Grafbase project. Use after confirming project access when retrieving configured extensions programmatically.

Action Parameters

include_disabled
boolean
limit
integer
q
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List MCP Servers

Description

Tool to list all MCP servers configured for a project. Use when you need to retrieve existing MCP server configurations.

Action Parameters

include_disabled
boolean
search
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Grafbase Schema Checks

Description

Tool to list all Grafbase schema checks for a project. Use when you need to review past schema validation runs.

Action Parameters

cursor
string
includeErrors
boolean
limit
integer
search
string
status
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Grafbase Schemas

Description

Tool to list all Grafbase schemas. Use when you need to retrieve all schemas in the registry.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Grafbase Subgraphs

Description

Tool to list published subgraphs in a branch. Use when you need to retrieve endpoints of all subgraphs for a given branch.

Action Parameters

branch
string

Action Response

data
objectRequired
error
string
successful
booleanRequired