Tools
This page documents developer tools that are not shipped with Opair; they live in the repo.
mcpprobe
mcpprobe is a diagnostic tool for MCP servers. It connects to a server, runs a full handshake and prints what it finds.
Building
From the repo root:
go build -o mcpprobe ./cmd/mcpprobe
Usage
mcpprobe <url> [tool [argumentsJSON]]
With just a URL,
mcpprobe connects and lists the server's tools.
Read-only tools are marked [read-only].
With a tool name, it calls that tool and prints the full result:
mcpprobe https://api.githubcopilot.com/mcp/ get_me
mcpprobe https://api.githubcopilot.com/mcp/ create_issue '{"owner":"me","repo":"my-repo","title":"Hello"}'
Authentication
mcpprobe reuses Opair's stored tokens.
It reads ./mcp-tokens.json
and, for GitHub URLs, headers from ./mcp/github.json.
Both paths are relative to where you run it.
From the repo root everything lines up:
the Makefile points OPAIR_MCP_DIR at the repo's mcp/ directory,
and tokens are stored next to it.
If it prints no stored token for <url>,
sign in first with opair mcp auth {server}.
Raw modes
For poking at the protocol itself, two extra modes print every byte. Only reach for these when you need to see exactly what goes over the wire.
-raw: send one hand-built request and print the response verbatim. Flags:-ver,-meta,-method,-rpc,-name,-tool.-flow: run a full hand-built handshake (initialize, initialized, tools/list or tools/call) with every byte printed. Flags:-call,-args,-quiet.
Examples:
mcpprobe -raw -ver 2026-07-28 https://mcp.atlassian.com/v1/mcp/authv2
mcpprobe -flow -quiet -call get_me https://api.githubcopilot.com/mcp/