Drop trailing slash from PostHog MCP URL - #9
Merged
Conversation
PostHog's MCP endpoint returns HTTP 404 with a JSON-RPC "Not found" error when given https://mcp.posthog.com/mcp/ — the trailing slash hits a path the application layer doesn't route. Without it, the endpoint responds with valid JSON-RPC errors (auth + protocol-aware), confirming the no-slash form is the correct URL. Live config.yaml on the volume was patched in-place via sed; this keeps future cold deploys from re-injecting the bad URL. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The PostHog MCP URL baked into `docker/entrypoint.sh` had a trailing slash (`https://mcp.posthog.com/mcp/\`) which routes to a 404 at the application layer. Same URL without the slash reaches the JSON-RPC endpoint correctly.
Verification
From a live Railway shell against the running PostHog MCP endpoint:
The no-slash form is the correct route.
Hermes was logging the failure as `MCP server 'posthog' initial connection failed ... unhandled errors in a TaskGroup (1 sub-exception)` — the underlying HTTPStatusError is wrapped inside an anyio TaskGroup and the WARNING-level log doesn't unwrap it. Worth a separate Hermes-upstream fix later to surface `BaseExceptionGroup.exceptions[0]` in MCP connection-failure warnings.
Out of scope
Test plan
🤖 Generated with Claude Code
Summary by cubic
Dropped the trailing slash from the PostHog MCP URL in
docker/entrypoint.shso it points to the JSON-RPC endpoint instead of a 404. Fixes startup connection failures and ensures future deploys inject the correct URL.Written for commit 6c3f8da. Summary will update on new commits.