Connections and data
Add a custom API or MCP server for a specific workflow
Add an owner-managed connection when the service you need is not in Otto's integration catalog. You can add either an API or an MCP server from Settings > Integrations. This is an advanced option: you are responsible for choosing a trustworthy endpoint, understanding its access, and keeping its credentials and server configuration safe.
Choose the right connection type
- API — connect a REST or GraphQL API by its base URL and the credential details Otto requests. Use this when you want an agent to call the service's API directly.
- MCP server — connect a server that publishes tools through MCP. Use this when the service's documentation tells you to use an MCP endpoint.
An API connection is a single owner-managed credential for that API. An MCP server can offer more than one account only when the server can identify the account that signed in; otherwise a second connection would replace the first one. Do not add duplicate connections to try to create separate accounts.
Before you begin
- Confirm that you trust the service, server operator, and endpoint. Check the provider's documentation rather than accepting an endpoint from an untrusted message.
- Decide what the connection should be able to do. Once added it is available to every agent on this Otto, not to one agent.
- Review the authentication method, requested permissions, data handling, and cancellation or revocation process.
- Create a narrowly scoped credential where the provider supports one. Never paste a password, access token, or API key into an agent conversation.
Add the connection
- Open Settings, then choose Integrations.
- Tap +, then choose API or MCP server.
- For an API, enter the requested name, base URL, API type, and credential details. Choose REST or GraphQL when Otto asks.
- For an MCP server, enter its server URL and follow the authentication flow Otto shows. A server with no authentication can connect immediately; an OAuth server opens a sign-in and consent flow.
- Review the endpoint and access, then finish adding the connection.
- Return to the connected-app list and confirm that the new connection is present. Start with a read-only or no-op request before allowing changes.
Otto validates the endpoint before it can use the connection. Connecting an API does not run a request to an external service, and it does not give the agent a shell or arbitrary network access. The connection exposes only the API or MCP tools provided through that connection.
Use it safely with an agent
Tell the agent which custom service and account to use, and describe the intended outcome. Keep the agent's instructions narrow while you test the workflow. If a tool can send, publish, delete, or otherwise change external data, leave Approvals & safety on Always ask or Ask to change until you understand the result. A connected account and an approval setting are separate controls: connecting makes the service available; it does not by itself approve every consequential action.
For an automation, finish and test the connection before saving the automation. An unattended run cannot stop to ask you to add a missing custom connection or complete its sign-in.
Change or remove it
Open the connection from Settings > Integrations to review or edit its endpoint or credential, or choose Disconnect when it is no longer needed. Rotate or revoke the credential at the service as well when appropriate. Review agents and automations that depended on the connection after changing it.
Troubleshooting
- The endpoint is rejected: check that you entered the service's base URL, that it uses a supported REST, GraphQL, or MCP endpoint, and that the URL is reachable. Do not work around a validation warning by using an untrusted URL.
- The connection is present but a tool fails: confirm the credential is still valid and has the required provider permission. Retry with a small, read-only request and inspect the error before changing access.
- MCP sign-in does not return to Otto: start Connect again and complete the provider's consent page. If Otto says the sign-in requires desktop, repeat it in the desktop app; see Connect an app.
- The agent asks to connect it again: confirm the connection's name and account in Integrations, then check that the agent or automation is using that exact service. Reconnect if the provider requires a fresh sign-in.
- You no longer trust the service: disconnect it in Otto and revoke its credential or authorization with the service.