Skip to main content
Devin is Cognition’s AI software engineer. Add TryPost as a custom MCP server and you can schedule, publish, and manage social posts from Devin Cloud, Devin CLI, or Devin Desktop. This page is for Devin as an MCP client — you point Devin at TryPost. It is not the Devin MCP server at https://mcp.devin.ai/mcp, which exposes Devin itself to other agents. Do not use mcp.devin.ai as the TryPost URL, and do not paste a Devin cog_ API key into the TryPost config.
TryPost is not in Devin’s MCP marketplace. Do not look for a TryPost tile. Add a custom HTTP server with OAuth.

Prerequisites

  • A Devin account
  • A TryPost Cloud account with an active trial or subscription (start a 7-day free trial)
  • On Devin Cloud, the Manage MCP Servers permission — required both to add a custom server and to complete OAuth. If you don’t have it, ask an organization admin or use Suggest MCP Integration.

Server URL

Use this exact URL. Do not add a trailing slash. Do not paste /api, an OAuth authorize URL, or https://mcp.devin.ai/mcp.
Transport is HTTP (Streamable HTTP). Do not pick SSE or STDIO.

Which Devin surface

Devin has three MCP configs. They do not share OAuth tokens. Configure the surface you actually use: Using the wrong field name (url vs serverUrl) makes Devin silently ignore the server.

Setup (Devin Cloud)

1

Open MCP servers

Go to Settings → Connections → MCP servers and click Add a custom MCP.
2

Add the TryPost server

Fill in the form. You do not paste JSON — Devin uses the web form.Leave OAuth credentials (client ID / secret) empty. TryPost uses OAuth 2.1 with Dynamic Client Registration — Devin discovers /.well-known from the URL and registers itself.Set Access to Personal so each Devin member signs in to their own TryPost account. Organization shares one TryPost login across every member’s sessions — only use that if you intend a shared workspace login. Personal is not a security boundary: other org members can still open your Devin sessions.Do not choose Auth Header or None. Do not paste a TryPost API key.
3

Save, then start a session

Click Save.Test listing tools may fail until OAuth completes. That flow runs on the first Devin session, not at save time. Start a new Cloud session (or tag Devin in Slack / Teams) and ask it to use TryPost. Devin opens a browser window. Sign in, review permissions, click Allow.
4

Verify the connection

In that session, ask:
Devin should call TryPost tools. If it answers without tools, tell it to use the TryPost MCP server. See the Tools reference for every tool and the create → attach media → publish workflow.

Authentication

TryPost MCP accepts OAuth only — a browser sign-in with the mcp:use scope. Personal Access Tokens from Settings → API Keys work on the REST API, not on /mcp/trypost.
If Devin offers Auth Header, a bearer token, or a TryPost API key field, leave it blank and choose OAuth. A pasted API key returns 403 MCP OAuth authorization required.
Leave Devin’s OAuth credentials empty. Client ID and secret are only for providers that reject Dynamic Client Registration. TryPost is not one of them. Cloud, CLI, and Cascade each store their own OAuth session. Signing in on Cloud does not sign in the CLI. Manage connected assistants later under workspace Settings → MCP in TryPost.

What you can do

Once authorized, Devin can: Pinterest needs a board_id, Discord needs a channel_id, and TikTok needs a privacy_level before you publish. Ask Devin to list boards or channels first. Details and tool names: Tools reference. On Cloud, the same custom server is available in web sessions and in sessions started from Slack or Microsoft Teams.

Devin CLI and Devin Local

Devin CLI and Devin Local (the default agent in new Devin Desktop tabs) share this config. The URL field is "url", not "serverUrl". Install the CLI if you do not have it:
Unlike Cascade, Devin Local and the CLI prompt before every MCP tool until you allow the server. If TryPost is connected but Devin never calls a tool, approve the prompt or add mcp__trypost__* to permissions.allow.
1

Add the server

Default scope is local: .devin/mcp_config.local.json (gitignored). Change scope with -s:
2

Sign in

Complete the TryPost browser sign-in (Allow). First use can also open this flow. Do not pass --scopes — TryPost needs the mcp:use scope that Devin discovers from the server. A custom scope list will fail.To sign in again later:
To remove the server: devin mcp remove trypost.
3

Verify

Then ask Devin in the CLI or a Devin Local tab:
Equivalent JSON (no Authorization header, no serverUrl):
transport is optional — a URL defaults to Streamable HTTP. Do not set "sse". Do not add headers, oauthClientId, or oauthClientSecret. Before CLI v3000.3 (Local 3.6), MCP servers lived under mcpServers inside the main config.json files. Current versions use the dedicated mcp_config.json files above and migrate the old key on startup. Some Devin Local docs still show .devin/config.json — if that file has mcpServers, the CLI moves it on the next start.

Devin Desktop (Cascade)

New Devin Desktop tabs use Devin Local. Configuring only the Cascade file does not give new tabs TryPost — add the CLI config too. The legacy Cascade agent still uses a separate file and "serverUrl". Enterprise orgs may need an admin to turn MCP on in settings. Cascade can load at most 100 tools across all MCP servers; if other servers fill that budget, disable unused tools on the TryPost MCP settings page.
1

Open the MCP config

In Cascade, click MCPs (top-right of the Cascade panel) or go to Devin Settings → Cascade → MCP Servers, then View raw config. You can also edit the file directly:
  • Desktop Cascade: ~/.codeium/windsurf/mcp_config.json
  • JetBrains Windsurf plugin: Settings → Tools → Windsurf Settings → Add Server, raw file ~/.codeium/mcp_config.json
2

Add TryPost

No headers. No TryPost API key. After saving, refresh MCP / reload the window.
3

Sign in and verify

Trigger a TryPost tool call. Cascade opens a browser window. Click Allow, then ask:
Cascade uses "serverUrl". Devin Local / CLI use "url". The official Devin docs say the wrong field name is ignored with no error.

Self-hosted

Replace the Cloud URL with your instance:
Example: https://trypost.yourdomain.com/mcp/trypost.
Devin Cloud reaches MCP from Cognition’s infrastructure, not from your laptop. localhost, 127.0.0.1, and private LAN addresses fail. The instance must be on the public internet over HTTPS.Devin CLI and Devin Desktop run on your machine, so they can use a private {APP_URL} or http://127.0.0.1:.../mcp/trypost.After you authorize, OAuth still opens the TryPost sign-in on that instance. Do not put a Personal Access Token in the config.

Troubleshooting

That is Devin’s own MCP server (Devin as a tool for other clients). Remove it. TryPost’s URL is https://app.trypost.it/mcp/trypost with OAuth — no Devin API key, no TryPost API key.
You need Manage MCP Servers. Ask an org admin, or use Suggest MCP Integration. The same permission is required to finish OAuth on Cloud.
Expected for OAuth. Devin authenticates on the first session, not at save time. Start a Cloud session, complete the browser Allow step, then try again.
Finish OAuth in the surface you are using (Cloud session, devin mcp login, or Cascade). Tokens are not shared across surfaces. Start a new session and say you want the TryPost MCP server.On Devin Local / CLI, also approve the MCP permission prompt (or allow mcp__trypost__*). Cascade does not prompt the same way. Check the session logs for MCP errors.
Official Devin CLI/Local wording when OAuth is missing or expired. Run devin mcp login trypost, or click Authenticate on the Devin Local MCP card. Cloud: start a new session and complete Allow.
Remove the flag and log in again. --scopes read,write (or any custom list) skips TryPost’s mcp:use scope and the tools never authorize.
You used the wrong URL key. Cascade needs "serverUrl". CLI and Devin Local need "url". The wrong key is ignored with no error. Also check you edited the file for that agent — Cascade does not read .devin/mcp_config.json.
Default scope is local (.devin/mcp_config.local.json), not ~/.config/devin/mcp_config.json. Use -s user or -s project, or edit the local file.
The OAuth grant worked; the TryPost account is not active. Open app.trypost.it, start a trial or pick a plan, then reconnect. Self-hosted instances skip this check. See Introduction.
The OAuth session expired or was revoked. Cloud: start a new session and approve again. CLI: devin mcp logout trypost then devin mcp login trypost. Cascade: trigger a tool call and complete the browser flow.
The request used an API key (Personal Access Token) or an OAuth token without mcp:use. Remove any Authorization header / Auth Header and sign in with OAuth.
Cloud TryPost is already public. A self-hosted URL must be reachable from the internet over HTTPS. localhost works only for CLI and Desktop.
Over SSH or inside a container, devin mcp login prints the authorize URL instead of opening a browser. Copy it into a local browser, complete Allow, and the CLI picks up the callback. If the loopback port is blocked, finish OAuth on a machine that can receive the callback, or use the REST API with an API key.
A Devin admin can disable MCP, require it to be turned on in team settings, or allowlist only certain servers. Cascade on Enterprise is off until an admin enables it. If TryPost never connects on a Teams / Enterprise plan, ask an admin to allow a custom HTTP server at https://app.trypost.it/mcp/trypost (or your {APP_URL}/mcp/trypost).

Example prompts