9 days ago
Hi Railway team,
I'm trying to connect the Railway connector in Claude, and it fails every time
at the sign-in step with "Couldn't register with Railway's sign-in service".
Two reference IDs from my attempts:
ofid_68c27e0d9f8f6923
ofid_9ebbe19f1c6a295a
I tried both routes described in your docs — adding https://mcp.railway.com as
a custom connector, and installing from the Railway listing in Claude's
connector directory. Both fail identically, so it doesn't look like something
on my side.
I dug into it a bit further. The step that breaks is the dynamic client
registration, and I reproduced it outside of Claude entirely, from a clean IP,
on the very first request:
POST https://backboard.railway.com/oauth/register
-> 429 {"error":"too_many_requests","error_description":"Rate limit exceeded"}
Since I hadn't made a single prior request from that address, the limit looks
global rather than per-client, which would explain why retrying never helps.
One more thing that may be related. The resource indicator seems inconsistent
between the two documents: /.well-known/oauth-protected-resource on
mcp.railway.com declares resource = "https://mcp.railway.com", while the
authorization_endpoint in backboard's metadata carries
resource=https%3A%2F%2Fbackboard.railway.com. That matches the invalid_client
reports other users hit here:
https://station.railway.com/questions/mcp-o-auth-invalid-client-at-authorize-0f615d9d
Could you either raise the limit on the registration endpoint, or give me a
static OAuth client ID I can paste into the connector settings? Claude has a
field for it, but I couldn't find any way to create an OAuth app on my side.
I'm on the Pro plan and happy to test whatever you need from my end.
Thanks,
Kirill
1 Replies
Status changed to Awaiting Railway Response Railway • 9 days ago
9 days ago
The 429 is on our side, not yours. The registration endpoint's allowance is not scoped per caller the way it should be, so it can be exhausted by unrelated traffic, and a first request from a clean address still gets rejected. Retrying will not clear it.
You do not need dynamic registration to connect. You can create your own OAuth app and use its client ID in the connector's client ID field: open Developer settings in your workspace, add Claude's callback URL as the redirect URI, and the app will issue a static client ID. That path does not touch the rate-limited endpoint.
The resource indicator difference you spotted is not the cause. Our authorization server accepts that origin as an alias for the MCP one and rewrites it before the grant is issued.
Status changed to Awaiting User Response Railway • 9 days ago
2 days ago
This thread has been marked as solved automatically due to a lack of recent activity. Please re-open this thread or create a new one if you require further assistance. Thank you!
Status changed to Solved Railway • 2 days ago