MCP Server
Inspect and debug Passage sessions from Claude Code, Claude Desktop, or any MCP-compatible client.
Overview
The Passage MCP server exposes session data as Model Context Protocol tools. It provides the same data available in the web dashboard — timeline, commands, network, console, logs, client connections, and state transitions — formatted for LLM consumption.
Claude Code / Desktop
└─ mcp-remote (local proxy)
└─→ MCP Server (mcp.services.getpassage.ai)
└─→ Connect Service (internal)
└─→ Session Service (DO state + events)Authentication
The MCP server uses bearer token authentication. Obtain a token from your Passage account and pass it via the Authorization header.
Setup
Claude Code
Add to your Claude Code MCP configuration (.claude/settings.json or project settings):
{
"mcpServers": {
"passage-sessions": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.services.getpassage.ai/mcp",
"--header",
"Authorization: Bearer YOUR_TOKEN"
]
}
}
}Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"passage-sessions": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.services.getpassage.ai/mcp",
"--header",
"Authorization: Bearer YOUR_TOKEN"
]
}
}
}MCP Inspector
For testing, use the MCP Inspector:
npx @modelcontextprotocol/inspectorConnect to https://mcp.services.getpassage.ai/mcp with the Authorization: Bearer YOUR_TOKEN header.
Tools
list_sessions
List recent sessions with status, provider, and session history.
| Parameter | Type | Description |
|---|---|---|
limit | number (optional) | Max sessions to return. Default: 20 |
get_session_overview
Get a session’s current state: phase, connections, link info, errors, and captured data.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
get_session_timeline
Get the chronological event stream for a session.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
type_filter | string (optional) | Comma-separated event types (e.g. command,yield,phase_transition) |
limit | number (optional) | Max events to return. Default: 100 |
get_session_commands
Get browser commands sent during the session with their results, timing, and status.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
get_session_network
Get HTTP requests and responses captured from the webview.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
url_filter | string (optional) | Regex pattern to filter URLs |
limit | number (optional) | Max entries to return. Default: 50 |
get_session_console
Get browser console entries from the webview.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
level_filter | string (optional) | Comma-separated levels (e.g. error,warn) |
limit | number (optional) | Max entries to return. Default: 100 |
get_session_logs
Get server protocol logs and/or client SDK logs.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
source | server | sdk | all (optional) | Log source filter. Default: all |
get_session_clients
Get client connection history including platform, SDK version, and timing.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
get_session_state_history
Get phase transitions and, for automation sessions, derived automation stages.
| Parameter | Type | Description |
|---|---|---|
session_id | string | Session ID |
Example usage
Once connected, you can ask Claude natural questions like:
- “What sessions have run recently?”
- “What’s happening in session
sess_abc123?” - “Show me the network requests for session
sess_abc123that hit the/api/endpoint” - “Are there any console errors in the latest session?”
- “What commands were sent and did any fail?”
Claude will call the appropriate tools and interpret the results.
Next steps
- Debugging — Other debugging tools (debug WebSocket, event API)
- Protocol: Events — Event type reference
- Concepts: Sessions — Session lifecycle