Model Context Protocol (MCP) Integration
The Inngest dev server includes a comprehensive Model Context Protocol (MCP) server that provides AI assistants with direct access to your Inngest functions, events, and documentation. This enables powerful AI-assisted development workflows for testing, debugging, and building Inngest applications.
What is MCP?
Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. The Inngest MCP integration provides AI tools like Claude Code and Cursor with:
- Complete function visibility - List and inspect all registered functions
- Event triggering - Send events to test functions and workflows
- Real-time monitoring - Track function execution and debug failures
- Documentation access - Search and read Inngest documentation offline
- Direct function invocation - Execute functions synchronously with immediate results
The Inngest MCP server runs locally with your dev server and requires no external dependencies, API keys, or internet connection to function.
Quick Start
1. Start the Inngest Dev Server
The MCP server is automatically available when you start the Inngest dev server:
npx inngest-cli@latest dev
The MCP endpoint will be available at http://127.0.0.1:8288/mcp
2. Connect Your AI Tool
# Add to your MCP configuration
claude mcp add --transport http inngest-dev http://127.0.0.1:8288/mcp
3. Start Building with AI
Once connected, you can ask your AI assistant to:
List all my Inngest functions and their triggers
Send a test event to trigger the user signup workflow
Monitor the function run and show me any errors
Search the docs for rate limiting examples
Best Practices
Function Testing
- Start simple: Test individual functions before complex workflows
- Use descriptive events: Clear event names help with debugging
- Monitor execution: Always check run status after triggering events
- Test error scenarios: Intentionally trigger failures to test error handling
Debugging Workflows
- Check step details: Use
get_run_statusto see step-by-step execution - Review error context: Error messages include stack traces and context
- Verify data flow: Check inputs and outputs at each step
- Use polling for async: Monitor long-running workflows with
poll_run_status
Documentation Usage
- Search before building: Use
grep_docsto find relevant examples - Reference patterns: Look for similar use cases in the documentation
- Cross-reference APIs: Use
read_docfor complete API documentation
Available MCP Tools
The Inngest MCP server provides 8 powerful tools organized into three categories:
Event Management Tools
send_event
Send an event to trigger functions and get immediate feedback on which runs were created.
Parameters:
name(string, required): Event name (e.g., 'app/user.created')data(object, optional): Event payload datauser(object, optional): User context informationeventIdSeed(string, optional): Seed for deterministic event IDs
Example usage:
Send a test event called 'app/user.signup' with user email 'test@example.com'
list_functions
Discover all registered functions with their names, IDs, and trigger information.
Returns: Complete function inventory with trigger details (events, crons, etc.)
invoke_function
Directly execute a function and wait for its complete result - perfect for testing specific functions.
Parameters:
functionId(string, required): Function slug, ID, or namedata(object, optional): Input data for the functionuser(object, optional): User contexttimeout(int, optional): Wait timeout in seconds (default: 30)
Example usage:
> "Invoke the 'process-payment' function with amount 100 and currency USD"
Execution Monitoring Tools
get_run_status
Get detailed information about a specific function run, including step-by-step execution details.
Parameters:
runId(string, required): The run ID from send_event or logs
Returns: Complete run information including status, steps, outputs, and error details
poll_run_status
Monitor multiple function runs until completion - essential for integration testing workflows.
Parameters:
runIds(array, required): Array of run IDs to monitortimeout(int, optional): Total polling timeout in seconds (default: 30)pollInterval(int, optional): Milliseconds between polls (default: 1000)
Example usage:
Poll these 3 runs until they complete and show me a summary
Documentation Tools
grep_docs
Search through embedded Inngest documentation using pattern matching.
Parameters:
pattern(string, required): Search pattern (regex supported)limit(int, optional): Maximum results (default: 10)
Example usage:
Search the docs for 'rate limiting' examples
read_doc
Read the complete content of a specific documentation file.
Parameters:
path(string, required): Document path relative to docs directory
list_docs
Get an overview of all available documentation with category breakdown.
Returns: Documentation structure with counts by category and SDK
Usage Examples
Testing a User Signup Workflow
// Your function
export const handleSignup = inngest.createFunction(
{ id: "handle-signup" },
{ event: "app/user.signup" },
async ({ event, step }) => {
const user = await step.run("create-user", async () => {
return createUser(event.data.email);
});
await step.run("send-welcome-email", async () => {
return sendWelcomeEmail(user.email);
});
return { success: true, userId: user.id };
}
);
With MCP, you can test this workflow by asking your AI assistant:
Send a test signup event with email 'alice@example.com' and monitor the function execution
The AI will:
- Use
send_eventto trigger the function - Use
poll_run_statusto monitor execution - Show you step-by-step progress and final results
- Report any errors with detailed context
Debugging Failed Functions
Get the status of run 01J5QH90... and explain what went wrong
The AI will use get_run_status to retrieve:
- Complete execution trace
- Step-by-step status
- Error messages and stack traces
- Function outputs and intermediate results
Integration Testing
Send events to trigger the complete order processing workflow and verify all steps complete successfully
The AI can:
- Send multiple coordinated events
- Monitor all resulting function runs
- Verify the entire workflow completes
- Report any failures or timeouts
Troubleshooting
Common Issues
MCP server not found
- Ensure the Inngest dev server is running:
npx inngest-cli@latest dev - Verify the MCP endpoint is accessible:
curl http://127.0.0.1:8288/mcp - Check your MCP client configuration
Functions not listed
- Confirm functions are properly registered with the dev server
- Check the dev server logs for registration errors
- Verify your app is correctly synced with the dev server
Runs not found after sending events
- Wait a moment for event processing (500ms delay is built-in)
- Check if the event name matches your function triggers exactly
- Verify the function is actually registered and listening
Polling timeouts
- Increase timeout values for long-running functions
- Check function logs for hanging operations
- Verify functions are actually completing vs. hanging indefinitely
Advanced Configuration
Custom timeouts: The default polling timeout is 30 seconds. For longer-running functions:
Poll this run with a 60-second timeout instead of the default
Event ID seeding: For deterministic testing, you can provide event ID seeds:
Send a test event with seed 'test-123' for reproducible testing
Documentation search: Use regex patterns for advanced documentation searches:
Search docs for 'step\\.run.*retry' to find step retry examples
Resources
Related Concepts
- Inngest Functions: Learn how to create and configure functions
- Event Triggers: Understanding event-driven architectures
- Local Development: Setting up your development environment
- Testing Functions: Comprehensive testing strategies
- Dev Server: Complete dev server documentation
- Error Handling: Debugging and error recovery patterns