GitHub
The
POST endpoints take a JSON body; send {} when there are no inputs.
To connect, call connect, open the returned url in a browser and approve access on GitHub, then call getConnection to confirm. If a write returns outcome_unknown, check the connection before you retry. The status response also has an installUrl, where you choose which repositories Itoflow can see.
listRepositories takes page and perPage and returns items and nextPage. Keep perPage the same while you follow nextPage.
Remote MCP servers
You can connect any MCP server that has a public HTTPS URL and supports Streamable HTTP.GET /integrations/remote-mcp/availability to check the feature is on for you; POST /integrations/remote-mcp/list lists your connections. Then:
POST /integrations/remote-mcp/addwithendpointand an optionalname. It returns the newconnection, including its ID andversion.POST /integrations/remote-mcp/connectwithconnectionIdandexpectedVersion. If the server uses OAuth, open the returnedauthorizationUrland sign in.POST /integrations/remote-mcp/getStatuswithconnectionIdand the returnedattemptIduntil the connection is ready.
SERVER_URL with the MCP server’s HTTPS URL.
Other endpoints rename a connection, list its tools, disconnect it, or remove it. Removing also deletes the saved credential. Each change takes the connection’s current expectedVersion; if another change got there first, you get connection_changed. Read the list again and retry with the new version.
If a connect response is lost, call getStatus before you try again.
Servers that use a bearer token
If the server gives you a token instead of OAuth, pass it asbearerToken to add or connect, or paste it in the app. Send only the token, without the Bearer prefix: at most 8,192 characters, with no spaces or control characters. Itoflow keeps the token exactly as issued, including punctuation, and stores it encrypted. It is sent only to that server, and Itoflow never passes on your own Itoflow credentials.
When you use MCP, your assistant’s inputs can end up in its conversation history. Don’t paste server tokens into a chat; add them in the app or with the API instead.
If connecting fails
- After a failed OAuth sign-in, choose Connect again to start a fresh one.
- If a server changes its OAuth sign-in settings, connecting again deletes the old saved sign-in and starts a new one. You don’t need to disconnect or remove the server first.
- If Itoflow says the server rejected the OAuth discovery request, Itoflow couldn’t fetch the server’s sign-in details. Try again; if it keeps failing, email support@itoflow.ai.
POST /integrations/remote-mcp/listToolsshows every tool a connected server offers.- A connected server can be temporarily absent from a research turn when catalog discovery fails. Missing tools alone do not mean your OAuth sign-in expired; reconnect when the connection reports that sign-in is required.