Developer docs: all pages

Developers · MCP server

Changelog

What changed in PorchQ's MCP server, newest first.

The server’s version is in serverInfo (initialize) and _meta["io.modelcontextprotocol/serverInfo"] (2026-07-28). Today it is 1.5.0.

1.5.0: October 2026

  • Confirming changes: creating or changing a calendar event residents can see now waits for the person who asked to confirm it on a PorchQ page. The tool answers with status: "awaiting_confirmation" and the page’s link. A staff-only event still happens at once. See Confirming changes.
  • event_create is marked destructiveHint, since it can reach residents.
  • All 14 tools now run on PorchQ’s shared tool layer.

1.4.0: October 2026

  • The tools run on PorchQ’s shared tool layer, the one PorchQ’s own assistant uses, with the same role checks.
  • Every tool declares an outputSchema, and its structuredContent follows it.
  • Which community: a call without property_id from a connection that reaches more than one community is refused with property_required and the list of communities. It used to pick one.
  • Management companies: their owners and managers reach the communities the company runs, with a manager’s view, and can tick them on the consent page.
  • A membership with no role reaches nothing. It used to read as a resident.
  • Refusals carry a code in structuredContent.error (property_required, not_found, forbidden_role, conflict, unavailable).
  • property_id is optional in every input schema; read tools are marked idempotentHint.

1.3.0: October 2026

Protocol

  • MCP revision 2026-07-28 alongside 2025-11-25, 2025-06-18 and 2025-03-26: server/discover, per-request _meta, the MCP-Protocol-Version, Mcp-Method and Mcp-Name headers, resultType, and cache hints on the tool list.
  • GET and DELETE on /mcp answer 405; notifications answer 202.
  • An unknown tool is a protocol error (-32602).

Sign-in

  • Every request to /mcp needs a token, initialize and tools/list included, so clients know at once that PorchQ needs sign-in.
  • Apps identify themselves with client ID metadata documents, or register at /oauth/register.
  • PorchQ’s own consent page: the person chooses communities and whether the app may make changes.
  • Scopes by area, reading and changing separate. read and write keep working.
  • PKCE S256 only; tokens stored hashed; bound to https://porchq.com/mcp; iss on every redirect.
  • Access tokens last 60 minutes; refresh tokens rotate, and reuse ends the connection.
  • 401 and 403 at the HTTP level with WWW-Authenticate.
  • After signing in, a person sent from an app returns to the consent page.

Tools

  • maintenance_request_create goes through the same path as PorchQ’s website and apps: a resident’s request notifies staff.
  • event_update is marked destructive and idempotent.
  • Every tool that changes something accepts idempotency_key.
  • Every call is recorded; changes are limited per person.

Before 1.3.0

The server served PorchQ’s app in ChatGPT, with one hand-registered client and the scopes read and write.

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

Loading PorchQ…