Instant Roofer MCP

    Data and privacy
    Instant Roofer MCP overview
    Connect your assistant
    Permissions and costs
    Tool reference
    Reading a measurement
    CRM webhooks
Machine-readable: llms.txt

Connect your assistant

All clients use the same server URL: https://mcp.instantroofer.com/mcp. The first time you use a tool, a browser window opens so you can sign in to Instant Roofer and approve what the assistant may do. No account yet? The same window creates one: verify your mobile number, fill in four fields, and approve. Free, about a minute, no card.

Cursor

One click: Add Instant Roofer to Cursor

Or by hand: add this to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global), then open Settings → Tools & MCP and click Connect:

{
  "mcpServers": {
    "instant-roofer": {
      "url": "https://mcp.instantroofer.com/mcp"
    }
  }
}

Claude (claude.ai, Claude Desktop, Claude Code)

  • claude.ai / Desktop: Settings → Connectors → Add custom connector, paste the server URL, then click Connect and sign in.
  • Claude Code:
claude mcp add --transport http instant-roofer https://mcp.instantroofer.com/mcp

OpenAI Codex (CLI and IDE extension)

codex mcp add instant-roofer --url https://mcp.instantroofer.com/mcp
codex mcp login instant-roofer

Or in ~/.codex/config.toml:

[mcp_servers.instant_roofer]
url = "https://mcp.instantroofer.com/mcp"

Grok (grok.com and grok CLI)

  • grok.com: open Connectors → New Connector → Custom, paste the server URL, and complete sign-in.
  • grok CLI:
grok mcp add --transport http instant-roofer https://mcp.instantroofer.com/mcp

ChatGPT

Enable Settings → Connectors → Advanced → Developer mode, choose Create, paste the server URL, and select OAuth authentication.

Hermes Agent

One click: Add Instant Roofer to Hermes (Hermes desktop app)

Or by hand: add this to your Hermes config, then run /reload-mcp or hermes mcp login instant-roofer:

mcp_servers:
  instant-roofer:
    url: "https://mcp.instantroofer.com/mcp"
    auth: oauth

OpenClaw

openclaw mcp add instant-roofer --url https://mcp.instantroofer.com/mcp --transport streamable-http --auth oauth
openclaw mcp login instant-roofer

What happens after you click Allow access

  • Cursor opens itself; the browser tab stays on Instant Roofer and confirms once Cursor has connected.
  • claude.ai, ChatGPT, Grok return you to their own site.
  • Hermes, OpenClaw, Codex CLI, Claude Code, grok CLI and other command-line agents run on your computer, so the browser hands the result to them at a localhost address. You land on a plain page from the agent saying the authorization succeeded. That page is the agent itself, not an error: close it and go back to the agent. If the agent runs on another machine (for example over SSH), that page cannot load; copy the full URL from the address bar and paste it into the agent's prompt, or use its --code option.

"Cannot be completed" after an update

If the sign-in page says the assistant asked us to send the result to an address it never registered, the assistant is holding a registration from before it was updated or reconfigured. Disconnect from Instant Roofer inside the assistant and connect again so it registers afresh, then retry:

  • OpenClaw: openclaw mcp logout instant-roofer, then openclaw mcp login instant-roofer
  • Hermes: hermes mcp login instant-roofer
  • Codex: codex mcp logout instant-roofer, then codex mcp login instant-roofer
  • Cursor, Claude, ChatGPT, Grok: remove the Instant Roofer server or connector and add it again

Building your own client or agent

Any MCP client that supports Streamable HTTP and OAuth 2.1 works. Discovery documents:

  • Protected resource metadata: https://mcp.instantroofer.com/.well-known/oauth-protected-resource
  • Authorization server metadata: https://mcp.instantroofer.com/.well-known/oauth-authorization-server

Clients may register with a Client ID Metadata Document (preferred) or Dynamic Client Registration. Loopback http://127.0.0.1:*, http://localhost:*, http://[::1]:* (interchangeable, any port, same path) and private-use app-scheme redirect URIs are accepted for native clients. There is no client-update endpoint: if your redirect URI changes, register again rather than reusing the old client_id.

Token endpoint authentication: none (public clients with PKCE) or private_key_jwt (a signed client assertion verified against the keys in your jwks/jwks_uri, RS/PS/ES algorithms). Dynamically registered clients may also use client_secret_basic or client_secret_post.