Use your preferred assistant to find saved work, develop content, and manage your Indoo brand. Indoo keeps the conversations, content, jobs, and approval records so you can pick up where you left off.
Prepare your workspace. Sign in to Indoo, create a brand, and make sure you have permission to manage it. Generation needs available credits; publishing also needs a connected social account.
Add Indoo to your assistant. Choose a remote MCP server using Streamable HTTP and paste the URL below. Use OAuth when offered.
Choose access on Indoo. Select brands and permissions, then return to your assistant. Start with: “Use Indoo to list my connected brands and show my recent conversations.”
https://indoo.ai/v1/assistant/mcp
What carries across assistants? Your saved Indoo conversations, notes, jobs, and content. Your assistant’s private chat history, hidden reasoning, attachments, and personal memory do not automatically synchronize. Ask it to save a summary using save_context when you want to carry that context forward.
Each person signs in with their own Indoo account. Each connection has its own permissions and can be revoked separately. A connection can cover several brands in one workspace. If your client cannot use OAuth, create a personal token in Connected assistants and put it in the client’s bearer-token secret setting. Never paste tokens into a chat.
Choose your assistant
Claude and Claude Desktop
Open Settings → Connectors and add a custom remote connector named Indoo. Paste the MCP URL, connect, and complete the Indoo consent screen. Enable the connector for your conversation when needed.
Cloud connectors need a publicly reachable HTTPS endpoint; localhost is only useful to a local client. Organization administrators may need to allow custom connectors.
Open the available Plugins, Apps, or connector settings and choose the option to add a custom MCP server. Enter the URL above, choose OAuth, and finish consent in Indoo. Add or enable Indoo in the conversation.
Labels and availability vary by client version, plan, region, and workspace policy. A custom connection does not mean Indoo is listed in a public app directory.
Add a remote MCP server in Codex’s MCP settings, or use the CLI below. Select the permissions you need on Indoo’s consent screen. Restart or refresh the client’s tools if the connection does not appear.
Download the Indoo plugin package for Codex or Claude Code hosts that support local plugins. It bundles the remote MCP connection and reusable workspace instructions, with no credentials. Unzip it and use your client’s supported local-plugin loader. For Claude Code: claude --plugin-dir /absolute/path/to/indoo. Complete OAuth after loading. The package targets indoo.ai; self-hosted users must update its MCP URL.
If your desktop client only supports local stdio servers, download the Python bridge. It needs Python 3.12+ and uv. Set INDOO_API_URL to your API origin and INDOO_TOKEN through the client’s secret environment settings, then use uv as the command with arguments ["run", "/absolute/path/indoo_stdio.py"]. The bridge installs its declared MCP/HTTP dependencies and forwards calls to the same authenticated API. Do not put a token in a shared configuration file.
Other MCP clients
For Cursor, VS Code, compatible desktop chat apps, or a personal-agent runtime, use its remote HTTP MCP setup and the same URL. Choose OAuth or a bearer token according to its supported authentication methods. Gemini and Perplexity availability varies; use a custom MCP connection only where that product currently offers one. A model API supporting tools does not by itself mean its consumer chat app supports custom connectors.
This example is for clients that use an mcpServers configuration. Client formats differ; VS Code, for example, uses a servers map. Prefer the client’s setup interface when available.
In Claude: “Create an Indoo conversation called October launch and save a summary of our decisions.” The assistant creates a conversation, waits for its job to complete, and calls save_context with that conversation ID.
In Codex or ChatGPT, connect the same Indoo account and brand. Ask: “Find my October launch conversation in Indoo, read it, and continue the campaign.”
For Indoo’s own specialist agent: “Ask the Indoo brand agent to draft a campaign in that conversation.” The assistant calls ask_brand_agent and polls get_job.
To publish: ask the assistant to describe publish_or_schedule, prepare the exact request, and give you its review link. Review the request in Indoo. A separate content approval or calendar approval may be required by your workspace.
Ask for the final saved result and delivery status. An accepted request or approved draft is not proof that a social provider published it.
Conversations belong to the signed-in person. Connecting the same brand as a different person does not expose someone else’s private chat history. Shared brand content follows your workspace permissions.
Use list_operations and describe_operation to discover the currently available product operations and their exact input schemas. The gateway exposes an explicit set of brand operations, rather than administrative, billing, or arbitrary HTTP access.
Every write needs a unique idempotency_key. Retry an identical request with the same key after a network failure. Reusing the key for different arguments returns a conflict. Writes return a job receipt immediately; poll get_job until the status changes from queued or running.
Consequential jobs wait at awaiting_approval. Open their approval_url and approve or reject while signed in as the requesting user. Content reviews bind the submitted arguments and content snapshot; changed content needs a new request. Review requests expire after one hour. Existing product rules, credit limits, and provider validations still apply.
Use cancel_job to stop work. Cancellation and revocation cannot undo effects already completed. An interrupted job is not automatically replayed. For an interrupted agent conversation, recover_job retrieves or reconstructs saved progress without repeating provider actions; inspect partial work before requesting anything again.
Connections expire after 30 days. OAuth access tokens last 15 minutes and refresh tokens rotate within that 30-day connection lifetime. Personal tokens and request receipts last up to 30 days. Reconnect to renew access. Revoking a connection does not delete content or disable a recurring schedule you previously approved; manage those schedules separately.
API, GPT Actions, and workflow tools
The same tools are available over REST. Create a personal token with only the permissions you need. Set INDOO_TOKEN in your shell or workflow’s secret store, then make this first request:
Read the catalog with GET /v1/assistant/tools. Call tools with POST /v1/assistant/tools/TOOL_NAME and a JSON body containing {"arguments": {...}}. Send the token in the Authorization bearer header on every request. The API returns the same saved job IDs, approvals, and results as MCP.
Import an OpenAPI schema
https://indoo.ai/v1/assistant/openapi.json
Import this schema into a compatible custom GPT Action or workflow tool and configure bearer authentication. A personal token authorizes its owner’s account; do not publish a shared GPT with one user’s token. For access by many users, use the per-user OAuth MCP connection. Importing an OpenAPI schema alone does not create per-user authentication.
n8n, Make, Zapier, and personal agents
Use an HTTP request step with the token stored as a credential. Read the operation schema, submit a request with a stable unique key for that workflow run, then poll get_job with a delay. Stop on failed, interrupted, rejected, or cancelled; route awaiting_approval to a person. Keep the job ID in your workflow state across restarts. Use the platform’s recurring schedules for work that should continue after the chat closes.
A developer can also load the tool catalog into a model’s function-calling interface, execute selected calls on their backend, and return results to the model. The host application controls the model and conversation; Indoo remains responsible for brand access and saved work. Do not expose credentials to the model or to untrusted client-side code.
Which integration should you choose?
Option
Best use and advantages
Tradeoffs
Remote MCP + OAuth
Recommended for individual users across compatible assistants. One URL, explicit consent, independent revocation.
Client support, organization policy, and public HTTPS connectivity are required.
Remote MCP + personal token
Simple for developer tools and personal agents that accept bearer authentication.
Manual secret handling and renewal. Not a substitute for per-user OAuth in a public directory app.
REST / OpenAPI / function calling
Workflow builders, custom applications, and hosts without MCP. Uses the same tool contracts and jobs.
You supply orchestration, model calls, credential storage, and polling.
Plugin or app packaging
Can package the MCP connection and reusable instructions for easier installation and discovery.
Host-specific packaging, review, and distribution. A package is not a separate permission system or a public listing.
Indoo’s own agent
Delegate to existing brand-aware workflows through ask_brand_agent; results stay in Indoo.
Uses Indoo’s model configuration and credits in addition to any host subscription.
Browser automation
Useful for a user-approved UI step when no tool exists.
Fragile selectors and session handling. Prefer the available product operations for repeatable workflows.
A2A and interactive MCP apps
Possible future adapters for agent delegation and rich embedded views over these saved jobs.
Not endpoints provided by this release. Client support and explicit permission semantics need their own implementation.
Indoo currently provides MCP, OAuth, personal tokens, REST/OpenAPI, saved context, and durable job receipts. Public marketplace listings, a standard A2A endpoint, real-time push into third-party chats, and automatic native-chat migration are separate capabilities. No integration can add custom tools to a chat product that does not allow them.
When something does not connect
The assistant cannot reach the server
Confirm the deployment is live on HTTPS and the URL ends in /v1/assistant/mcp. Cloud assistants cannot reach your laptop’s localhost. A browser GET is not an MCP handshake; test by adding the connector and calling list_brands.
OAuth loops or says the resource is invalid
Use the same canonical origin for discovery and the MCP URL. On self-hosted deployments, PUBLIC_API_URL must match the public origin; the consent page must be reachable at that origin in production. Route /.well-known/oauth-* to the API along with /v1/*.
No tools, a 401, or a 403
Reconnect after expiration or revocation. Check selected brands, granted permissions, your workspace role, and the host’s connector policy. A brand connection never grants permissions beyond your own membership.
A request timed out
Find its job with list_jobs or the connection manager. Check its saved status; do not repeat a write with a new key just because the host stopped waiting.
A job is waiting for review or failed to publish
Open its review link. After approval, check the final job and provider delivery status. Stale content, missing account connections, workspace approvals, unavailable credits, and provider errors still need resolution.
I already use the old MCP integration
The older /v1/integrations/mcp endpoint remains available for existing connections. Create a new connection here to use separate assistant grants, multi-brand selection, saved jobs, and reviewable actions. Old tokens do not authenticate the new endpoint.
Client-specific setup references were checked on October 10, 2026. Interfaces and availability can change; follow the linked official guides for your installed client.