Skip to Content

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/inspector

Connect 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.

ParameterTypeDescription
limitnumber (optional)Max sessions to return. Default: 20

get_session_overview

Get a session’s current state: phase, connections, link info, errors, and captured data.

ParameterTypeDescription
session_idstringSession ID

get_session_timeline

Get the chronological event stream for a session.

ParameterTypeDescription
session_idstringSession ID
type_filterstring (optional)Comma-separated event types (e.g. command,yield,phase_transition)
limitnumber (optional)Max events to return. Default: 100

get_session_commands

Get browser commands sent during the session with their results, timing, and status.

ParameterTypeDescription
session_idstringSession ID

get_session_network

Get HTTP requests and responses captured from the webview.

ParameterTypeDescription
session_idstringSession ID
url_filterstring (optional)Regex pattern to filter URLs
limitnumber (optional)Max entries to return. Default: 50

get_session_console

Get browser console entries from the webview.

ParameterTypeDescription
session_idstringSession ID
level_filterstring (optional)Comma-separated levels (e.g. error,warn)
limitnumber (optional)Max entries to return. Default: 100

get_session_logs

Get server protocol logs and/or client SDK logs.

ParameterTypeDescription
session_idstringSession ID
sourceserver | sdk | all (optional)Log source filter. Default: all

get_session_clients

Get client connection history including platform, SDK version, and timing.

ParameterTypeDescription
session_idstringSession ID

get_session_state_history

Get phase transitions and, for automation sessions, derived automation stages.

ParameterTypeDescription
session_idstringSession 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_abc123 that 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

Last updated on