Koskamo

Garage Doorman MCP

An official MCP server for Garage Doorman, a residential garage door repair and installation company. It allows AI agents to retrieve business facts, search for information, fetch content, and submit real service quotes to the business on behalf of customers.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Garage Doorman MCP logo, by Garage DoormanVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Garage Doorman
MCP endpoint (Streamable HTTP)
https://www.garagedoorman.ca/mcp
Vendor documentation

What its tools do

4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (1)

4 of 4 have a description · 4 of 4 declare behavior hints · 3 of 3 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to garagedoorman.ca ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Retrieve business facts like phone, hours, and service areas
  • Search for garage door repair information and guides
  • Submit a real service quote request to the business

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
ca.garagedoorman/site 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Garage Doorman repairs and installs residential garage doors and openers from Grimsby, Ontario, across Hamilton, Burlington and Niagara. Call get_business_facts first. No prices are published and you must not estimate one: the customer gets a written price before any work starts. A door stuck open, a snapped spring or a car trapped inside is urgent: give the phone number rather than sending a request. Use search and fetch to quote the site accurately and cite the page URL. Use request_quote only when the customer has asked to be contacted. Commercial and industrial doors belong to a separate division, Commercial Garage Doorman (https://www.commercialgaragedoorman.ca).

Tools

4 advertised

get_business_facts — Garage Doorman: business facts
Advertised by the server during the last successful anonymous check.
Advertised read-only

The published facts about Garage Doorman: what it does, the phone number, opening hours, the towns it serves, its services, and how it handles pricing. Every fact here also appears on the public website. Call this first.

get_business_facts input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_business_facts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
search — Search Garage Doorman
Advertised by the server during the last successful anonymous check.
Advertised read-only

Keyword search over the pages of the Garage Doorman website. Returns page ids, titles and canonical URLs. Use fetch with an id to read a page.

search input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Plain words to look for, for example \"broken spring\" or \"vinyl plank basement\"."
    }
  },
  "additionalProperties": false
}
search output schema
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    }
  }
}
search annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
fetch — Read a page from Garage Doorman
Advertised by the server during the last successful anonymous check.
Advertised read-only

The full text of one page of the Garage Doorman website, as Markdown, with its canonical URL for citation. The id comes from search.

fetch input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "A page id returned by search."
    }
  },
  "additionalProperties": false
}
fetch output schema
{
  "type": "object",
  "required": [
    "id",
    "title",
    "text",
    "url"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    }
  }
}
fetch annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
request_quote — Ask Garage Doorman for a quote or a callback
Advertised by the server during the last successful anonymous check.
Open-world

Ask Garage Doorman to contact a homeowner about a garage door repair, a new door, an opener or a tune-up. This sends a REAL message to a real small business, so call it only when the person has clearly asked to be contacted by Garage Doorman and has given you their own name and their own phone number or email. Never guess or invent contact details. Plain words only, no links. One request per person per day. If it is urgent, give them the phone number instead: (905) 536-5369.

request_quote input schema
{
  "type": "object",
  "required": [
    "name",
    "details",
    "consent_to_contact"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The customer's own name."
    },
    "town": {
      "type": "string",
      "description": "Town or postal code where the work is."
    },
    "email": {
      "type": "string",
      "description": "The customer's email address. Give this or phone."
    },
    "phone": {
      "type": "string",
      "description": "The customer's phone number, ten digits. Give this or email."
    },
    "details": {
      "type": "string",
      "description": "What they need, in the customer's own terms. Plain text, no links, 800 characters at most."
    },
    "service": {
      "enum": [
        "repair",
        "new-door",
        "opener",
        "tune-up",
        "other"
      ],
      "type": "string",
      "description": "What they need: repair = a repair; new-door = a new garage door; opener = opener work; tune-up = a tune-up or service; other = something else."
    },
    "preferred_time": {
      "type": "string",
      "description": "When they would like to be contacted or visited, if they said."
    },
    "consent_to_contact": {
      "type": "boolean",
      "description": "Must be true: the customer has asked to be contacted by this business about this request."
    }
  },
  "additionalProperties": false
}
request_quote annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
333 ms
95th percentile latency
333 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 333 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http garage-doorman-mcp https://www.garagedoorman.ca/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add garage-doorman-mcp --url https://www.garagedoorman.ca/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable garage-doorman-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "garage-doorman-mcp": {
      "url": "https://www.garagedoorman.ca/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "garage-doorman-mcp": {
      "type": "streamableHttp",
      "url": "https://www.garagedoorman.ca/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start garage-doorman-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "garage-doorman-mcp": {
      "type": "http",
      "url": "https://www.garagedoorman.ca/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http garage-doorman-mcp https://www.garagedoorman.ca/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://www.garagedoorman.ca/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "garage-doorman-mcp": {
      "serverUrl": "https://www.garagedoorman.ca/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Garage Doorman MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Garage Doorman MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing