MCP Client Setup
Pathfinder supports both the modern Streamable HTTP transport
(/mcp) and the legacy SSE transport (/sse).
OAuth authentication is automatic — no user accounts needed; clients
register dynamically.
Transport Choices
Two endpoints ship in every Pathfinder instance. Pick the one your client supports:
-
Streamable HTTP (
/mcp) — recommended for modern clients (Claude Code, Cursor HTTP mode, OpenCode). -
SSE (
/sse+/messages) — legacy transport; needed for the claude.ai web connector and older MCP clients.
Both transports share the same tools, sessions, and OAuth flow.
Clients without a bearer token pass through; invalid bearers are
rejected with 401. As of v1.15.1, the
WWW-Authenticate challenge on a 401 includes RFC 9728
resource_metadata="…/.well-known/oauth-protected-resource"
plus error="invalid_token" per RFC 6750 §3.1 — MCP
clients can use the resource_metadata attribute to
discover the authorization server.
Client Configurations
Claude Desktop
Claude Desktop uses its own config file with
mcpServers as the top-level key.
Claude Code
Claude Code uses a separate config file with
mcp-servers as the key.
Claude.ai (Web Connector)
claude.ai uses the legacy SSE transport. Paste your Pathfinder URL into the custom connector dialog, then click Authenticate — the OAuth handshake runs automatically. As of v1.15, the handshake shows a consent screen confirming the connector and its redirect target before issuing the auth code; the screen is single-click for the anonymous DCR flow.
Cursor
Place this in your project root. Cursor picks it up automatically.
OpenAI Codex
Codex supports MCP servers via the --mcp-config flag or
a config file. Pass a JSON file with the server definition:
VS Code (Continue)
Add Pathfinder to the mcpServers section of your
Continue config:
Generic (Streamable HTTP)
Pathfinder exposes a single Streamable HTTP endpoint. Any MCP client that supports this transport can connect with:
Remote Servers
For deployed Pathfinder instances, replace
localhost:3001 with your server's URL:
Pathfinder handles session management automatically. Each MCP connection gets its own session with independent state (working directory, workspace, etc.).
Verifying the Connection
Once connected, your agent should see Pathfinder's tools in its available tools list. The exact tools depend on your configuration — typically a combination of search and bash tools.
Try asking your agent to run a simple command like
find / -name "*.md" | head -5 to verify the bash tool is
working, or ask a question about your docs to test semantic search.
Known Concerns
SSE Parsing Bugs in Some MCP Clients
Some MCP clients have bugs handling SSE-formatted responses from
Streamable HTTP endpoints. This can cause initialization failures,
connection drops, or cryptic errors when connecting to Pathfinder's
/mcp endpoint.
The most notable example is OpenAI Codex CLI, which
uses the rmcp Rust SDK internally. That SDK's SSE parser
does not correctly handle the text/event-stream content
type that MCP servers typically return for single-message exchanges
over Streamable HTTP.
Pathfinder's Mitigation
Pathfinder enables enableJsonResponse: true on its
Streamable HTTP transport. This causes the server to return
Content-Type: application/json instead of SSE-wrapped
responses for single-message exchanges (i.e., requests where the
server sends exactly one response and does not need to stream). This
is fully compliant with the MCP specification, which states that
servers MAY return either format for non-streaming responses.
This setting works around the client-side bugs transparently — no configuration needed on your end.
stdio Bridge Workaround
If you still encounter connection issues with a particular client, you can use mcp-remote as a stdio bridge. This converts the HTTP transport into a local stdio pipe, which every MCP client supports reliably:
Replace the URL with your own Pathfinder instance's
/mcp endpoint. The --http flag tells
mcp-remote to use Streamable HTTP (not SSE), and
--allow-http permits non-TLS connections if you're
running locally.