Model Context Protocol (MCP)
Indite MCP lets any MCP-compatible AI client — Claude, Cursor, Windsurf, and more — directly discover, build, publish, and execute your automation workflows through natural language.
Instead of switching to the Indite dashboard, you simply ask your AI assistant:
"Create a workflow that sends a Slack alert whenever a new lead is added to HubSpot, then run it."
The AI handles the rest.
MCP Access requires a Professional or Enterprise plan. Upgrade your plan (opens in a new tab) to get started.
How It Works
Your AI Client (Claude / Cursor / ...)
│
│ MCP Protocol (SSE)
▼
Indite MCP Server ──▶ Indite Platform
mcp.indite.io portal.indite.io
│
└── Tools: list_workspaces, create_workflow,
update_workflow, execute_workflow, ...The MCP server exposes your Indite account as a set of tools. Your AI client calls these tools to manage and run workflows on your behalf, authenticated by your MCP token.
Quick Setup
Claude Connector (OAuth — No Token Needed)
The easiest way to connect. Uses OAuth so you never copy or paste a token.
Open Claude Integrations
Go to claude.ai (opens in a new tab) → Settings → Integrations
Find Indite
Search for Indite in the connector directory and click Add.
Authorize
You'll be redirected to your Indite account to review permissions. Click Authorize.
Start using it
Ask Claude anything about your workflows:
Which workspaces do I have access to?Once connected, Claude remembers the connection — no setup needed for future sessions.
Available Tools
Your AI client can use any of the following tools once connected:
| Tool | What it does |
|---|---|
list_workspaces | Returns all workspaces accessible with your token |
list_workflows | Lists workflows in a workspace with IDs, names, and status |
create_workflow | Creates a new DRAFT workflow in a workspace |
update_workflow | Updates a workflow's blocks, edges, variables, and settings |
publish_workflow | Publishes a workflow so it can be executed |
set_workflow_active | Enables or disables a workflow's active state |
execute_workflow | Triggers a published workflow with optional input values |
get_execution_status | Polls the status and output of a workflow run |
get_workflow_block_schemas | Returns the full schema for all block types |
submit_human_input | Resumes a paused (human-in-the-loop) execution |
Examples
Example 1 — Build a Telegram Notification Bot
Ask Claude to build an end-to-end Telegram alert workflow in one conversation:
You:
I want a workflow that listens for incoming Telegram messages and replies with
an AI-generated response using Gemini. I have a Telegram bot credential saved
as "my-telegram-bot" and a Gemini credential as "gemini-prod" in my workspace.
Create this in my "Production" workspace, publish it, and activate it.
Claude:
Sure! Let me start by listing your workspaces to find the workspace ID...
[calls list_workspaces]
Found "Production" → ID: ws_abc123.
Now I'll create the workflow...
[calls create_workflow]
[calls get_workflow_block_schemas]
[calls update_workflow with telegram trigger → gemini block → telegram reply]
[calls publish_workflow]
[calls set_workflow_active]
✅ Done! Your Telegram bot is live. Send a message to your bot to try it.What happened behind the scenes:
list_workspaces— found the workspace IDcreate_workflow— created "Telegram AI Bot" (DRAFT)get_workflow_block_schemas— retrieved schemas forchatTriggerandgeminiblocksupdate_workflow— added a Telegram Chat Trigger → Gemini block → Telegram reply, auto-compiledpublish_workflow— set status to PUBLISHEDset_workflow_active— enabled real-time listening
Example 2 — Execute a Workflow and Get Results
Ask Claude to run an existing published workflow and wait for the output:
You:
Run the "Fraud Detection" workflow in my "Analytics" workspace
with these values: order_id = "ORD-5021", amount = 3200, country = "NG".
Tell me the result.
Claude:
[calls list_workspaces → finds "Analytics" workspace]
[calls list_workflows → finds "Fraud Detection" → ID: wf_xyz789]
[calls execute_workflow with contextVariables]
Execution started — ID: exec_001. Polling for result...
[calls get_execution_status every few seconds]
✅ Result: FLAGGED
- Risk score: 0.91
- Reason: Unusual amount for this country/card combination
- Recommended action: Manual reviewUseful for:
- Running batch checks from a chat interface
- Integrating Indite workflows into AI agent pipelines
- Testing workflows with real data before scheduling them
Example 3 — Create a Daily Report Workflow
Ask Claude to build a scheduled workflow that compiles and emails a daily summary:
You:
Build a workflow that runs every day at 8 AM UTC. It should:
1. Call https://api.myapp.com/stats (GET, Authorization: Bearer {{apiKey}})
2. Send the JSON response to GPT-4o to write a human-friendly summary
3. Email the summary to reports@mycompany.com
Use my "openai-prod" credential. Workspace: "Operations".
Claude:
[calls list_workspaces → finds "Operations"]
[calls create_workflow → "Daily Stats Report"]
[calls get_workflow_block_schemas]
[calls update_workflow with:
- schedule trigger (cron: 0 8 * * *)
- httpRequest block → POST to stats API
- openai block with GPT-4o to summarize
- sendEmail block → reports@mycompany.com
]
[calls publish_workflow]
✅ Workflow created and published! It will run daily at 08:00 UTC.
I also added an {{apiKey}} variable — set its value in the workflow
variables panel if it isn't already configured.What you can customize in the prompt:
- Frequency: "every Monday at 9 AM", "every hour", "on the 1st of each month"
- Multiple recipients: "CC finance@mycompany.com"
- Conditional sends: "only email if revenue dropped more than 10%"
Example 4 — Human-in-the-Loop Approval Flow
Build and run a workflow that pauses for human review before taking an irreversible action:
You:
I need a workflow that:
1. Triggers via webhook with a refund request payload
2. Uses GPT-4o to evaluate whether the refund is valid (policy: orders < 30 days)
3. Pauses and asks for human approval if the amount > $500
4. If approved, calls https://api.payments.com/refund
5. Sends a Slack notification either way
Create it in "Customer Success" workspace.
Claude:
[creates workflow with webhook trigger → openai → condition (amount > 500) →
human-input block → httpRequest → slack notification]
[publishes workflow]
✅ Done! The workflow is published. Here's the webhook URL to send refund requests to:
https://portal.indite.io/api/v1/webhook/wf_refund123
When a refund > $500 is received, the workflow will pause and notify your team.
Use this to resume it after review:
[calls get_execution_status to show how to check for PAUSED state]
To approve from Claude later, just say:
"Resume execution exec_abc with approved = true"Resuming a paused execution:
You:
Resume execution exec_refund_001 — approved = true, reviewed by "Sarah".
Claude:
[calls submit_human_input with blockId, output: { approved: true, reviewer: "Sarah" }]
✅ Execution resumed. The refund was processed and Slack was notified.Token & Security
One token per user
Your MCP token is user-scoped — it works across all workspaces you have access to. You can find and revoke it at any time in Settings → MCP Access (opens in a new tab) or Settings → API Keys (opens in a new tab).
Rotating your token
If you suspect your token was exposed:
- Go to Settings → MCP Access (opens in a new tab)
- Click Rotate Token
- Update any clients that use the old token
- The old token is immediately invalidated
Exposed Workflows
By default, MCP clients with a valid token can manage all workflows in your workspaces but can only execute workflows you have explicitly toggled on in the Exposed Workflows section of the MCP settings page.
This gives you fine-grained control over which workflows AI clients can trigger.
Never commit your MCP token to version control. Use environment variables or a secrets manager.
OAuth for Claude Connector
When connecting via Claude Connector (claude.ai/integrations), Indite uses OAuth 2.0 with PKCE — no manual token handling required.
| Endpoint | URL |
|---|---|
| Discovery | https://mcp.indite.io/.well-known/oauth-authorization-server |
| Authorization | https://portal.indite.io/oauth/mcp-authorize |
| Token exchange | https://portal.indite.io/api/oauth/mcp-token |
| Client registration | https://portal.indite.io/api/oauth/mcp-register |
Flow:
- Claude registers itself via dynamic client registration
- You're redirected to Indite to log in and review permissions
- On authorization, a signed short-lived code is issued (10-minute TTL, PKCE-protected)
- Claude exchanges the code for your MCP token
- The token is used as a Bearer token on all subsequent MCP calls
Troubleshooting
| Problem | Solution |
|---|---|
Missing token error | Ensure ?token=YOUR_MCP_TOKEN is in the SSE URL |
| Tools not showing in Claude | Restart Claude Desktop / reopen the chat session |
401 Unauthorized from API | Token may be expired or revoked — rotate it in Settings |
Workflow execution stuck at RUNNING | Check the workflow for a human-input block that needs submit_human_input |
Workflow not found | Confirm the workflow is in a workspace your token has access to |
| Claude Connector authorization fails | Make sure you're logged in to the same Indite account in both tabs |
Listing on MCP Registries
Indite MCP is available on: