RateDeed MCP
An MCP server for the US contractor marketplace that allows AI agents to search for licensed local professionals, plan home improvement projects with cost tiers, and manage quote requests. It supports public tools for discovery and account-linked tools for submitting and tracking quote statuses with escrow-enabled pros.
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.
https://www.ratedeed.com/mcpWhat its tools do
7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Can change data (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for licensed contractors by job type and ZIP code
- Plan home remodel projects with cost tier estimates
- Submit quote requests to escrow-enabled professionals
- Track the status of submitted quote requests
Source and maintenance
Protocol and capabilities
- Server
- ratedeed 1.1.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 7 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
7 advertised
search_contractors — Find local contractors
Find contractors near a US ZIP code for a job described in plain English (e.g. "water stain on my ceiling", "replace old carpet with hardwood"). Returns ranked local pros with ratings, distance, license verification and escrow_enabled (whether RateDeed can send them a quote request). Read-only.
{
"type": "object",
"required": [
"request",
"zip"
],
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code of the property."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1
},
"trade": {
"enum": [
"Plumbers",
"Electricians",
"HVAC",
"Roofers",
"Painters",
"Landscapers",
"Cleaners",
"Handymen",
"Carpenters",
"General Contractors",
"Concrete",
"Flooring",
"Masons",
"Drywall",
"Insulation",
"Framing"
],
"type": "string",
"description": "Optional: restrict to one trade if already known."
},
"request": {
"type": "string",
"maxLength": 300,
"description": "What the homeowner needs done, in their own words."
}
},
"additionalProperties": false
}{
"title": "Find local contractors",
"readOnlyHint": true,
"openWorldHint": true
}get_contractor — Get contractor details
Get a contractor's RateDeed profile by slug (from search_contractors): services, service area, rating, review summary, license verification, contact details and escrow_enabled. Read-only.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"description": "Contractor slug from search results."
}
},
"additionalProperties": false
}{
"title": "Get contractor details",
"readOnlyHint": true,
"openWorldHint": true
}plan_project — Plan a home project
Suggest remodel and repair projects for a space in the home, ranked for the homeowner's goals and budget, with rough US cost tiers and the trades that do the work. For a photo-based plan, the homeowner can use the remodel_ideas_url. Read-only.
{
"type": "object",
"required": [
"space"
],
"properties": {
"goals": {
"type": "array",
"items": {
"enum": [
"refresh",
"repair",
"light",
"storage",
"value",
"efficiency",
"outdoor"
],
"type": "string"
},
"description": "What the homeowner wants to improve."
},
"space": {
"enum": [
"kitchen",
"bathroom",
"living_room",
"bedroom",
"dining_room",
"home_office",
"laundry",
"basement",
"attic",
"garage",
"entry",
"exterior",
"backyard",
"under_construction",
"utility"
],
"type": "string",
"description": "Which part of the home."
},
"budget": {
"enum": [
"any",
"low",
"mid",
"high"
],
"type": "string",
"default": "any",
"description": "low = under $2.5k, mid = $2.5k-$15k, high = $15k+."
},
"condition": {
"enum": [
"worn",
"fresh",
"unknown"
],
"type": "string",
"default": "unknown",
"description": "worn = dated or damaged; fresh = recently updated."
}
},
"additionalProperties": false
}{
"title": "Plan a home project",
"readOnlyHint": true,
"openWorldHint": false
}start_hire — Find escrow-enabled pros for a job
Read-only. With contractor_slug, checks whether that pro can receive a quote request; otherwise picks up to 3 escrow-enabled pros near the ZIP for the job. Returns each pro with a prefilled RateDeed link for homeowners without a linked account. With a linked account, send the request directly with submit_quote_request. Nothing is sent or charged by this tool.
{
"type": "object",
"required": [
"zip",
"project_title",
"project_description"
],
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code of the property."
},
"trade": {
"enum": [
"Plumbers",
"Electricians",
"HVAC",
"Roofers",
"Painters",
"Landscapers",
"Cleaners",
"Handymen",
"Carpenters",
"General Contractors",
"Concrete",
"Flooring",
"Masons",
"Drywall",
"Insulation",
"Framing"
],
"type": "string",
"description": "Trade for the job, if known."
},
"project_title": {
"type": "string",
"maxLength": 100,
"description": "Short title, e.g. \"Replace leaking kitchen faucet\"."
},
"contractor_slug": {
"type": "string",
"maxLength": 200,
"description": "Optional: a specific contractor from search_contractors."
},
"project_description": {
"type": "string",
"maxLength": 1000,
"description": "Details the contractor needs: what, where, size, timing."
}
},
"additionalProperties": false
}{
"title": "Find escrow-enabled pros for a job",
"readOnlyHint": true,
"openWorldHint": true
}submit_quote_request — Send a quote request
Sends a quote request from the signed-in homeowner to one escrow-enabled contractor and returns a request_id. This shares the homeowner's name and the project details (title, description, ZIP, timeline, budget) with that contractor and starts a RateDeed conversation with them. It does not charge anything or commit the homeowner to hire. Before calling, show the homeowner the contractor and every field that will be sent, and get their approval; ask again if any detail changes. Only contractors with escrow_enabled=true can receive requests. Use a new idempotency_key for each new request and reuse it when retrying the same one; after a timeout or error, call get_request_status without request_id to check whether it was sent before retrying. Requires a linked RateDeed account (scope quotes:write).
{
"type": "object",
"required": [
"contractor_slug",
"project_title",
"project_description",
"zip"
],
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code of the property."
},
"budget": {
"enum": [
"under-1k",
"1k-3k",
"3k-5k",
"5k-10k",
"10k-25k",
"25k-plus",
"not-sure"
],
"type": "string",
"description": "The homeowner's target budget range, if they gave one."
},
"category": {
"enum": [
"Plumbing",
"Electrical",
"HVAC & Heating",
"Roofing",
"Painting",
"Remodeling",
"Flooring",
"Landscaping",
"Carpentry",
"Handyman",
"Masonry",
"General Contracting"
],
"type": "string",
"description": "Project category, if known."
},
"timeline": {
"enum": [
"asap",
"1-2-weeks",
"1-month",
"flexible"
],
"type": "string",
"description": "When the homeowner wants it done: asap (24-48 hours), 1-2-weeks, 1-month, flexible."
},
"project_title": {
"type": "string",
"maxLength": 100,
"minLength": 3,
"description": "Short title, e.g. \"Replace leaking kitchen faucet\"."
},
"contractor_slug": {
"type": "string",
"maxLength": 200,
"description": "Slug of an escrow_enabled contractor from search_contractors."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 200,
"minLength": 8,
"description": "Unique per request (e.g. a UUID). Retrying with the same key never sends a second request."
},
"project_description": {
"type": "string",
"maxLength": 1000,
"minLength": 15,
"description": "What needs doing: the problem, rooms or areas, sizes, materials. Do not include phone numbers, emails or payment details."
}
},
"additionalProperties": false
}{
"title": "Send a quote request",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_request_status — Check quote requests
Shows the status of the homeowner's quote requests: pending (waiting for the contractor), quoted (with the quote total, card processing fee, payment schedule and expiry), accepted (with job and escrow status), quote_declined, quote_expired or cancelled. Pass request_id for one request, or omit it to list the most recent ones. Read-only. Requires a linked RateDeed account (scope quotes:read).
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "How many recent requests to list when request_id is omitted."
},
"request_id": {
"type": "string",
"pattern": "^[Qq][Rr]-[0-9A-Za-z]{10}$",
"description": "Request ID from submit_quote_request, e.g. QR-7K2M9QXD4T."
}
},
"additionalProperties": false
}{
"title": "Check quote requests",
"readOnlyHint": true,
"openWorldHint": false
}cancel_request — Cancel a quote request
Cancels one of the homeowner's quote requests and notifies the contractor. If the contractor already sent a quote that is still open, that quote is declined. Requests whose quote was accepted are jobs and cannot be cancelled here. Confirm with the homeowner first. Calling it again for a cancelled request changes nothing. Requires a linked RateDeed account (scope quotes:write).
{
"type": "object",
"required": [
"request_id"
],
"properties": {
"request_id": {
"type": "string",
"pattern": "^[Qq][Rr]-[0-9A-Za-z]{10}$",
"description": "Request ID to cancel, e.g. QR-7K2M9QXD4T."
}
},
"additionalProperties": false
}{
"title": "Cancel a quote request",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}Prompts
Not advertised
Resources
Not advertised
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.
- 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
- 437 ms
- 95th percentile latency
- 437 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 437 ms · metadata changed · 7 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http ratedeed-mcp https://www.ratedeed.com/mcpCodex
codex mcp add ratedeed-mcp --url https://www.ratedeed.com/mcpCursor
{
"mcpServers": {
"ratedeed-mcp": {
"url": "https://www.ratedeed.com/mcp"
}
}
}Cline
{
"mcpServers": {
"ratedeed-mcp": {
"type": "streamableHttp",
"url": "https://www.ratedeed.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"ratedeed-mcp": {
"type": "http",
"url": "https://www.ratedeed.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http ratedeed-mcp https://www.ratedeed.com/mcpClaude Desktop
https://www.ratedeed.com/mcpWindsurf
{
"mcpServers": {
"ratedeed-mcp": {
"serverUrl": "https://www.ratedeed.com/mcp"
}
}
}Let your agent find its tools
Find servers like RateDeed MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.