Your MCP server
Hosted MCPJam connects to MCP servers from these IPv4 addresses:
This covers connecting, OAuth discovery and client registration, tool calls,
chat, evals and scheduled runs. Allow all three: any of them may be in use, and
which one changes over time. These connections use IPv4 only.
Your OAuth authorization server
You only need this section if your OAuth authorization server is itself IP-restricted. A hosted identity provider such as Okta, Auth0 or Microsoft Entra ID usually needs no changes. MCPJam’s backend exchanges authorization codes for tokens, refreshes them, and revokes them when needed. It runs on Convex in AWS US East and connects from Convex’s published ranges:
Allow both the IPv4 and the IPv6 ranges. If your server accepts IPv6, token
requests usually arrive over it. These ranges are shared by every Convex
deployment in the region, and
Convex’s networking page is
their source of truth.
Your MCP server does not need these ranges. One exception: when refreshing an
older connection, the backend may first read your MCP server’s OAuth metadata.
If that refresh fails behind your allowlist, reconnect the server once.
Machine-readable list
The same addresses are published as JSON athttps://app.mcpjam.com/egress-ips.json,
in CIDR notation:
Each list has an
ipv4 and an ipv6 array. To keep a firewall rule in sync,
fetch the file on a schedule instead of copying addresses by hand:
Not covered
- Requests from your browser. The hosted app may contact your MCP server directly from your browser, for example to check it before connecting. That request comes from your own network. If your allowlist blocks it, the connection still goes through MCPJam.
- The local inspector and the desktop app. They connect from your machine.
- Computers. Commands and browsing on a Project Computer, or in a harness client’s sandbox, use the sandbox provider’s addresses. Calls to your MCP servers made through MCPJam are covered.
- Private networks. The hosted app doesn’t connect to private, loopback or link-local addresses. Use the local inspector for those.
Changes
When we plan to add an address, we add it here and toegress-ips.json before
any traffic uses it, and announce it in the changelog.
Our providers can occasionally reassign addresses without notice; when that
happens, we update this page as soon as we learn of it. Removing an address
never breaks your allowlist, so we may remove one without notice.

