Developer docs: all pages

Developers · MCP server

Clients

Connecting Claude, Claude Code, ChatGPT, the MCP Inspector and your own code to PorchQ.

Any MCP client that supports Streamable HTTP and OAuth sign-in can use PorchQ. The address is always https://porchq.com/mcp; the client finds everything else from the server.

Claude

Free, Pro and Max plans: on claude.ai or in the desktop app, go to Customize → Connectors → Add custom connector. Enter a name and https://porchq.com/mcp. Under Authentication, Claude detects Sign in now; under OAuth client, it detects Use Claude’s published identity. Choose Add, then Connect, and PorchQ’s consent page opens in your browser.

Team and Enterprise plans: an Owner adds it under Organization settings → Connectors → Add → Custom → Web; members then choose Connect under Customize → Connectors.

What PorchQ sees from Claude:

  • Claude identifies itself with its client ID metadata document, https://claude.ai/oauth/mcp-oauth-client-metadata, so the consent page shows “Claude” and where its details came from.
  • Its redirect address is https://claude.ai/api/mcp/auth_callback.
  • Claude asks for server/discover (revision 2026-07-28) first, and falls back to initialize on older servers.
  • Anthropic’s servers call from 160.79.104.0/21, useful if you put PorchQ behind your own proxy.

A connector added on claude.ai also appears in Claude Code when you’re signed in with the same Claude account.

Claude Code

claude mcp add --transport http porchq https://porchq.com/mcp

Run /mcp inside Claude Code and choose porchq to sign in. Claude Code listens on your own computer for the answer, so PorchQ’s consent page notes that the app runs on your computer.

ChatGPT

PorchQ’s app for ChatGPT isn’t listed in ChatGPT yet; see PorchQ in ChatGPT for its status. Until then, connect PorchQ through developer mode.

Developer mode is available on ChatGPT Business, Enterprise and Edu, on the web only. (Pro users can connect apps with read and fetch permissions only.)

  1. Turn it on. Business: an admin or owner turns it on under Settings → Apps → Advanced settings → Developer mode. Enterprise and Edu: an admin grants it under Workspace Settings → Permissions & Roles → Connected Data, then the person turns it on under Settings → Apps → Advanced settings.
  2. Add PorchQ. Under Settings → Apps → Create (or Workspace settings → Apps → Create for admins), enter https://porchq.com/mcp, choose OAuth, choose Scan Tools, complete PorchQ’s sign-in, then Create. PorchQ appears with a “Dev” label.

ChatGPT identifies itself with its client ID metadata document, https://chatgpt.com/oauth/client.json.

ChatGPT reads sign-in requests from inside a tool result as well as from the HTTP header, so every 401 and 403 from a tool call also carries _meta["mcp/www_authenticate"]; see Errors and limits.

MCP Inspector

npx @modelcontextprotocol/inspector

Choose Streamable HTTP, enter https://porchq.com/mcp and connect. The Inspector registers itself (dynamic client registration), runs the sign-in, then lets you list tools and call them one at a time with the raw requests and responses shown.

Your own client

Use an official MCP SDK. The TypeScript and Python SDKs speak Streamable HTTP and run the OAuth flow, given:

  • the server address https://porchq.com/mcp;
  • your client’s identity: the URL of your client ID metadata document, or let the SDK register;
  • a redirect address: https, or a loopback address on any port for a desktop or command-line tool;
  • somewhere to keep tokens.

Then follow these rules, which PorchQ’s tools assume:

  • Pass property_id on every tool call.
  • Send an idempotency_key with every change, and reuse it when you retry.
  • Read scope in the token response and offer only what was granted.
  • On 401, refresh; on 403 with insufficient_scope, ask the person for more.
  • Respect Retry-After on 429.

Without an SDK, Sign-in and tokens and Protocol describe every request and response.

Scripts and servers

Every connection today starts with a person signing in through a browser. A script on a server needs that person to sign in once (for example with a loopback redirect on their computer); it can then refresh for as long as it keeps being used.

This page as Markdown: /developers/mcp/clients.md

Loading PorchQ…