Requirements for your MCP server
- Served over HTTPS and reachable from the public internet — servers on private networks cannot be connected.
- Speaks the MCP streamable HTTP transport.
- If you use OAuth, the server must implement the MCP authorization
specification:
- It advertises its protected-resource metadata (RFC 9728) — either via a
WWW-Authenticateheader on unauthenticated requests or at/.well-known/oauth-protected-resource. - Its authorization server publishes standard discovery metadata (RFC 8414 or OpenID Connect discovery).
- Its authorization server supports Dynamic Client Registration (RFC 7591) — Semji registers itself automatically; manually pre-registered client IDs are not supported.
- It accepts the redirect URI
https://app.semji.com/integrations/mcp/callback.
- It advertises its protected-resource metadata (RFC 9728) — either via a
- If you use an API key, the server must accept it as
Authorization: Bearer <key>on every request.
Add the server
1
Open the MCP integrations
In Semji, go to Settings → Integrations, open the MCP tab, and
click Add server. You must be a workspace owner.
2
Describe the server
Fill in the form:
- Name — a display name; agents see it as the server’s name.
- Description — optional.
- URL — the HTTPS URL of your MCP server, e.g.
https://mcp.example.com. The URL cannot be changed after creation. - Authentication method — OAuth (sign in through the provider’s consent screen) or API key (paste a token). With API key, paste it into the API key field.
3
Connect
Click Connect.
- OAuth: a new tab opens on your provider’s consent screen — sign in and approve within 10 minutes.
- API key: the key is stored immediately, without a live test against your server.
4
Enable it on your agents
Open the agent’s configuration, go to Enhancements → Custom MCP
Servers, and toggle your server on. The agent discovers the server’s
tools at run time.
Depending on your Semji configuration, connections are shared by the whole
workspace or made per user (“Each team member connects their own
account.”). With per-user connections, each teammate connects from the MCP
tab or from their profile settings; agents silently skip servers the
current user hasn’t connected, and the chat shows “You are not connected
to …. Connect it to let this agent use it.”
Manage the server
From the MCP tab, each server row offers:- Connect / Disconnect — manage the stored credentials.
- Edit — change the name and description (the URL is immutable; to change it, delete the server and add it again).
- Delete — permanently removes the server from the workspace; every connected member loses access.
Firewalls and IP allowlisting
Your MCP server must be reachable from the public internet. Semji’s own servers call it for connection and OAuth flows (discovery, client registration, token exchange): Semji’s servers reach the internet through a fixed set of outbound IP addresses. If a firewall, WAF, or anti-bot protection (Cloudflare, Akamai, Sucuri, …) sits in front of your site, it can block Semji’s requests — typically with a403 Forbidden — before they ever reach your CMS, even when your credentials are correct.
Allow the following Semji IP addresses:
Troubleshooting
OAuth connection fails immediately
OAuth connection fails immediately
Semji discovers your server’s OAuth configuration live. Frequent causes,
surfaced with explicit error messages:
- The server does not support Dynamic Client Registration (RFC 7591) — pre-registered clients are not supported.
- The protected-resource metadata is missing or declares no authorization servers.
- The authorization-server metadata lacks an
authorization_endpointortoken_endpoint, or is not served over HTTPS. - Discovery requests time out (10-second limit per request).
"The popup was blocked by your browser. Allow popups to connect to the MCP server."
"The popup was blocked by your browser. Allow popups to connect to the MCP server."
Allow popups for the Semji app domain and connect again.
The status shows Expired
The status shows Expired
The server’s authorization stopped accepting Semji’s stored credentials
(for OAuth, the refresh token was rejected). Click Connect to
re-authenticate; API-key servers ask for the key again.
Agents don't see the server's tools
Agents don't see the server's tools
- The server isn’t enabled on the agent (Enhancements → Custom MCP Servers).
- The server isn’t connected for the current user (per-user mode) or the workspace.
- The API key is wrong — it is stored without a live test, so a bad key only surfaces at run time.
- A firewall blocks tool calls (see the firewall section above).
"An MCP server with URL … already exists in this workspace"
"An MCP server with URL … already exists in this workspace"
Each URL can only be registered once per workspace. Reuse the existing
server, or delete it first if you need to recreate it.
Related
- Semji’s own MCP server — the reverse direction: use Semji’s tools from Claude and other assistants.