Inngest MCP

Let your coding agent inspect and operate Inngest from your editor, locally or in the cloud.

Inngest runs Model Context Protocol (MCP) servers for Inngest Cloud and the local Dev Server. Connect Claude Code, Codex, Cursor, or another MCP client to list functions, send events, and inspect runs from your coding agent.

Inngest MCP tools match the REST API v2 and Inngest CLI commands.

Choose an MCP server

You can configure both servers in the same MCP client. Use the Dev Server while you build and test locally, then use Cloud MCP to inspect deployed environments and production data.

MCP serverUse it forEndpointAuthentication
Inngest CloudDeployed apps, functions, events, runs, traces, environments, Insights, sessions, webhooks, and experimentshttps://api.inngest.com/mcpOAuth (recommended) or an API key
Dev ServerApps, functions, events, and runs on your local machine, plus embedded Inngest docshttp://127.0.0.1:8288/mcpNone

Some Cloud MCP tools change data, including tools that send events, invoke functions, rerun or cancel runs, sync apps, and manage environments or webhooks. Review a tool call before you approve it, especially in production.

Claude Code plugin

The published Inngest plugin bundles Cloud MCP with coding skills and connection recovery. Install it from your terminal:

claude plugin install inngest@anthropic-plugin-directory

Start a new Claude Code session, run /mcp, and select plugin:inngest:inngest-cloud to sign in. See the plugin guide for desktop installation, commands, and recovery steps.

If you use the plugin, Cloud MCP is already configured; skip the standalone Cloud setup below. You can still add the local Dev Server separately.

The Codex plugin is coming soon and is currently in review. Codex users can connect directly with the instructions below.

Connect to Inngest Cloud

Use this standalone setup for MCP clients without the Inngest plugin.

Use OAuth to sign in through your browser and choose the access your coding agent needs. You do not need to create or copy an API key.

1. Add Cloud MCP to your client

claude mcp add --transport http inngest-cloud https://api.inngest.com/mcp

In Claude Code, run /mcp, select inngest-cloud, and authenticate. In Cursor, add the configuration to .cursor/mcp.json or ~/.cursor/mcp.json, reload Cursor, and use its sign-in flow. Cursor uses the static auth.CLIENT_ID above for OAuth.

The Cloud MCP setup page also has client configuration and the live tool list.

2. Approve access

In your browser, choose the Inngest account, environment access, permissions, and session duration. Grant read access for inspection and debugging; add write access only for resources the agent needs to change.

OAuth scopes limit which operations a session can perform. Every tool call must be allowed by both the session's granted permissions and your current account role, within the selected environment access.

If you previously configured an API key, remove the Authorization header or --bearer-token-env-var setting before signing in with OAuth.

3. Try Cloud MCP

Ask your coding agent to complete a task such as:

List my Inngest environments, then show the apps in production.
In production, find recent failed runs for my billing app and explain the first failed step.
In production, show the available Insights tables, then query event volume for the past 24 hours.

Alternative: use an API key

For clients without OAuth support or unattended workflows, create an Inngest API key in the Cloud dashboard, then make it available to your MCP client:

export INNGEST_API_KEY=sk-inn-api-...

For key-based authentication, Cloud MCP accepts API keys, not signing keys. Keep the key out of source control and use the narrowest access that your work needs.

Add the key to your client's configuration:

claude mcp add --transport http inngest-cloud https://api.inngest.com/mcp \
  --header "Authorization: Bearer $INNGEST_API_KEY"

Connect to the Dev Server

1. Start the Dev Server

The local MCP endpoint starts with the Inngest Dev Server:

npx --ignore-scripts=false inngest-cli@latest dev

The default endpoint is http://127.0.0.1:8288/mcp.

2. Add Dev Server MCP to your client

claude mcp add --transport http inngest-dev http://127.0.0.1:8288/mcp

The Dev Server dashboard also has an MCP setup page with client configuration and the live tool list.

3. Try Dev Server MCP

List my local apps, then list the functions in the checkout app.
Send an app/order.created event and inspect every run it triggers.
Inspect the trace for the latest failed run and explain the error.
Search the Inngest docs for rate limiting examples.

Available MCP tools

MCP clients receive the live tool list and each tool's input schema when they connect. The tables below summarize the current tools. Because eligible REST API v2 endpoints become MCP tools automatically, your client's tool list is the source of truth if it differs from this page.

A listed tool may require permissions your session does not have. OAuth sessions cannot access credential-management tools such as fetch_account_event_keys and fetch_account_signing_keys.

Tools available in Cloud and the Dev Server

ToolWhat it does
cancel_runCancel an in-progress function run.
get_appGet one app, including sync metadata and function count.
get_appsList active or archived apps.
get_event_runsList the function runs triggered by an event.
get_functionGet one function's configuration and status.
get_runGet the summary and optional output for one run.
get_run_traceGet the trace tree and optional span output for one run.
healthCheck the API service health.
invoke_functionInvoke a function and return its run details.
list_function_runsList runs for one function.
list_functionsList the functions in one app.
list_runsList runs, with optional app, function, status, and time filters.
rerunRerun a function from the start or from a selected step.
send_eventSend an event and return its event ID.

Cloud-only tools

ToolWhat it does
create_envCreate a custom environment.
create_scoreAdd scores to a run or its steps.
create_webhookCreate an incoming webhook.
fetch_accountGet the authenticated account.
fetch_account_event_keysList account event keys, optionally for one environment.
fetch_account_signing_keysList account signing keys, optionally for one environment.
get_experimentGet run counts and score aggregates for an experiment.
list_envsList custom environments.
list_experimentsList observed experiments.
list_insights_event_schemasList event schemas observed by Insights.
list_insights_tablesList tables available to Insights queries.
list_session_keysList session keys observed in an environment.
list_session_runsList runs for one session.
list_sessionsList session IDs for one session key.
list_webhooksList incoming webhooks.
patch_envArchive or unarchive an environment.
query_insightsRun an Insights SQL query.
query_insights_promptTurn a natural-language prompt into an Insights SQL query.
sync_appSync an app from its Inngest endpoint URL.

Dev Server-only tools

ToolWhat it does
grep_docsSearch the docs embedded in the Dev Server.
list_docsList embedded documentation categories and counts.
read_docRead one embedded documentation file.

For exact parameters and response shapes, inspect the schema shown by your MCP client or use the REST API v2 reference.

Target a Cloud environment

Cloud tools accept an env argument. Your agent sends it when it calls a tool; it is not part of the MCP server setup. If your OAuth session or API key allows all environments, pass an environment slug, such as production, for environment-specific operations. A session or key bound to one environment uses that environment and cannot access another one.

Be explicit in prompts that might affect data:

In the staging environment, send an app/order.created event with orderId test-123.

Common workflows

Inspect a failed run

  1. Use list_runs or list_function_runs with a failed status filter.
  2. Use get_run to inspect the run summary and output.
  3. Use get_run_trace to find the failed step and its error.

Test an event-driven workflow

  1. Use get_apps and list_functions to confirm the app and its triggers.
  2. Use send_event with a test payload.
  3. Use get_event_runs with the returned event ID.
  4. Use get_run and get_run_trace to inspect each run.

Find implementation guidance locally

  1. Use grep_docs in the Dev Server to find a term or API name.
  2. Use read_doc with a matching path to read the full source.
  3. Apply the guidance, send a test event, and inspect the resulting run.

Troubleshooting

Cloud MCP returns 401 Unauthorized

  • For OAuth, sign in again through your MCP client if the session has expired or been revoked.
  • Remove any old API-key configuration if you intend to use OAuth.
  • For API-key authentication, confirm the client sends Authorization: Bearer $INNGEST_API_KEY and restart it after changing environment variables. Signing keys are not supported.

Cloud MCP returns 403 Forbidden or insufficient_scope

  • Check that the session grants the read or write permission needed by the tool.
  • Check your current account role and the session's environment access. Signing in again cannot grant permissions your role does not allow.
  • If you need more access, authenticate again and approve the required permissions.

A tool reports that an environment is required

  • Pass env, such as production or staging, when your session or key allows all environments.

The Dev Server MCP endpoint is not found

  • Confirm the Dev Server is running.
  • Confirm the client uses http://127.0.0.1:8288/mcp, or update the port if you changed it.
  • Restart the client after changing its MCP configuration.

Functions are not listed

  • Call get_apps first and pass the returned app ID to list_functions.
  • Confirm the app has synced to the selected Cloud environment or local Dev Server.
  • Check app and Dev Server logs for registration errors.

Runs or events appear to be missing

  • Confirm the Cloud tool call targeted the expected env.
  • Check that the event name matches the function trigger.
  • Allow a moment for event and run data to become available, then retry the read tool.

Resources