We would like to offer Shiphero integration to our product via MCP. I created a CIMD URL already but when I try to connect I get this error: invalid_request: Unknown client: {CIMD URL}
Can you detail what’s the process for us to connect since the documentation about this isn’t very detailed.
If you’re not using a traditional AI agent like ChatGPT or Claude, and you’re building your own custom integration instead, here’s what you need to know.
The ShipHero MCP server (https://mcp.shiphero.com/mcp) requires OAuth and, where available, supports Client ID Metadata Documents (CIMD). That’s the mechanism used by clients like ChatGPT. If your CIMD setup isn’t being recognized, you don’t need to debug that path. We provide a generic, pre-registered OAuth client for exactly this case, meant for any client that isn’t Claude or ChatGPT/Codex:
This works for clients that can run a local OAuth callback listener. If your integration doesn’t have OAuth logic built in yet, you can proxy through mcp-remote instead:
That seems like it would only work for software running locally on the user’s machine. In our case access is through the browser, so it looks like CIMD would be the way to go since we need our server to connect to shiphero. How do I use CIMD? Is it something I can just configure on my side, or do I need to contact support to enable it?
Using the pre-registered OAuth client on port 41592 is the most straightforward route when custom CIMD endpoints aren’t resolving properly. If your custom service cannot spin up a local callback listener, wrapping it with mcp-remote handles the token handshake cleanly without needing a custom OAuth implementation.