Meadley Bros. MCP
An official MCP server provided by Meadley Bros. that allows AI agents to count households matching specific trade criteria (e.g., tree service, roofing) based on property signals, preview market availability, and initiate checkout for purchasing mailing lists.
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://api.meadleybrothers.com/mcpWhat you can do with it
- Count households fitting a trade in a service area
- Preview market signals and matching rules
- Start checkout for mailing list purchase
Source and maintenance
Protocol and capabilities
- Server
- meadley-bros 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 3 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
3 advertised
count_homes — Count matching homes
How many households in a service area fit a contractor's trade, judged from property signals (tree canopy, slope, lot size, pool) rather than just addresses. Free, no key needed. Returns the count, the price to buy, and a link where the user can buy the list in one step.
{
"type": "object",
"required": [
"radiusMiles",
"trade"
],
"properties": {
"lat": {
"type": "number",
"description": "Latitude of the center of the service area (alternative to zip)"
},
"lng": {
"type": "number",
"description": "Longitude of the center of the service area (alternative to zip)"
},
"zip": {
"type": "string",
"pattern": "^[0-9]{5}$",
"description": "Five-digit US ZIP code at the center of the service area. Easiest way to say where. Send this, OR city and state, OR lat and lng."
},
"city": {
"type": "string",
"description": "City name at the center of the service area, with state. Alternative to zip."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter state, required with city."
},
"trade": {
"enum": [
"tree-services",
"forestry-mulching",
"land-services",
"lawn-care",
"landscaping",
"hardscaping",
"roofing",
"pest-control",
"pool-services",
"generic-other"
],
"type": "string",
"description": "The contractor's trade. One of: tree-services, forestry-mulching, land-services, lawn-care, landscaping, hardscaping, roofing, pest-control, pool-services. For any other home or property service use generic-other."
},
"radiusMiles": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "Service radius in miles, 0.5 to 50. A typical contractor uses 15 to 25."
},
"recipientMode": {
"enum": [
"owner_property",
"owner",
"resident"
],
"type": "string",
"default": "owner_property",
"description": "Who the mail is addressed to. \"owner_property\" (default for most trades) uses the owner's name and mails it to the property. \"owner\" uses the owner's name and mails it to the owner's own address, which reaches absentee and out-of-state landlords. \"resident\" addresses Current Resident at the property. Forestry mulching and land clearing default to \"owner\". Leave it out unless the user says what they want."
}
}
}{
"title": "Count matching homes",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}preview_market — Preview the market
The measured count for a trade and area, plus every strategy card the trade offers (id, name, whether it is the widest) so the user can narrow by sending strategyIds, and which property signals are measured there. Needs a Meadley Bros. API key. Members create keys in Profile and billing under Advanced integrations.
{
"type": "object",
"required": [
"radiusMiles",
"trade"
],
"properties": {
"lat": {
"type": "number",
"description": "Latitude of the center of the service area (alternative to zip)"
},
"lng": {
"type": "number",
"description": "Longitude of the center of the service area (alternative to zip)"
},
"zip": {
"type": "string",
"pattern": "^[0-9]{5}$",
"description": "Five-digit US ZIP code at the center of the service area. Easiest way to say where. Send this, OR city and state, OR lat and lng."
},
"city": {
"type": "string",
"description": "City name at the center of the service area, with state. Alternative to zip."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter state, required with city."
},
"trade": {
"enum": [
"tree-services",
"forestry-mulching",
"land-services",
"lawn-care",
"landscaping",
"hardscaping",
"roofing",
"pest-control",
"pool-services",
"generic-other"
],
"type": "string",
"description": "The contractor's trade. One of: tree-services, forestry-mulching, land-services, lawn-care, landscaping, hardscaping, roofing, pest-control, pool-services. For any other home or property service use generic-other."
},
"radiusMiles": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "Service radius in miles, 0.5 to 50. A typical contractor uses 15 to 25."
},
"strategyIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional card ids from a previous preview_market answer; cards OR together."
},
"recipientMode": {
"enum": [
"owner_property",
"owner",
"resident"
],
"type": "string",
"default": "owner_property",
"description": "Who the mail is addressed to. \"owner_property\" (default for most trades) uses the owner's name and mails it to the property. \"owner\" uses the owner's name and mails it to the owner's own address, which reaches absentee and out-of-state landlords. \"resident\" addresses Current Resident at the property. Forestry mulching and land clearing default to \"owner\". Leave it out unless the user says what they want."
}
}
}{
"title": "Preview the market",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}start_checkout — Start a purchase
Start buying a mailing list of the matching homes: owner names and mailing addresses delivered as an Excel file plus a CSV. Returns a Stripe Checkout URL; the user opens it and pays there (this tool never handles card details). Minimum 1000 addresses ($349). Needs a Meadley Bros. API key. Members create keys in Profile and billing under Advanced integrations. Only call this when the user has clearly asked to buy.
{
"type": "object",
"required": [
"radiusMiles",
"trade",
"quantity"
],
"properties": {
"lat": {
"type": "number",
"description": "Latitude of the center of the service area (alternative to zip)"
},
"lng": {
"type": "number",
"description": "Longitude of the center of the service area (alternative to zip)"
},
"zip": {
"type": "string",
"pattern": "^[0-9]{5}$",
"description": "Five-digit US ZIP code at the center of the service area. Easiest way to say where. Send this, OR city and state, OR lat and lng."
},
"city": {
"type": "string",
"description": "City name at the center of the service area, with state. Alternative to zip."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter state, required with city."
},
"trade": {
"enum": [
"tree-services",
"forestry-mulching",
"land-services",
"lawn-care",
"landscaping",
"hardscaping",
"roofing",
"pest-control",
"pool-services",
"generic-other"
],
"type": "string",
"description": "The contractor's trade. One of: tree-services, forestry-mulching, land-services, lawn-care, landscaping, hardscaping, roofing, pest-control, pool-services. For any other home or property service use generic-other."
},
"listName": {
"type": "string",
"description": "Optional name for the list in the user's account"
},
"quantity": {
"type": "integer",
"minimum": 1000,
"description": "Addresses to buy, 1000 minimum, up to the count"
},
"cancelUrl": {
"type": "string",
"description": "Optional https URL if the user cancels. Defaults to the Meadley Bros. buy page."
},
"successUrl": {
"type": "string",
"description": "Optional https URL to send the user to after paying. Defaults to the Meadley Bros. thank-you page."
},
"radiusMiles": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "Service radius in miles, 0.5 to 50. A typical contractor uses 15 to 25."
},
"recipientMode": {
"enum": [
"owner_property",
"owner",
"resident"
],
"type": "string",
"default": "owner_property",
"description": "Who the mail is addressed to. \"owner_property\" (default for most trades) uses the owner's name and mails it to the property. \"owner\" uses the owner's name and mails it to the owner's own address, which reaches absentee and out-of-state landlords. \"resident\" addresses Current Resident at the property. Forestry mulching and land clearing default to \"owner\". Leave it out unless the user says what they want."
}
}
}{
"title": "Start a purchase",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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
- 295 ms
- 95th percentile latency
- 295 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 295 ms · metadata changed · 3 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http meadley-bros-mcp https://api.meadleybrothers.com/mcpCodex
codex mcp add meadley-bros-mcp --url https://api.meadleybrothers.com/mcpCursor
{
"mcpServers": {
"meadley-bros-mcp": {
"url": "https://api.meadleybrothers.com/mcp"
}
}
}Cline
{
"mcpServers": {
"meadley-bros-mcp": {
"type": "streamableHttp",
"url": "https://api.meadleybrothers.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"meadley-bros-mcp": {
"type": "http",
"url": "https://api.meadleybrothers.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http meadley-bros-mcp https://api.meadleybrothers.com/mcpClaude Desktop
{
"mcpServers": {
"meadley-bros-mcp": {
"url": "https://api.meadleybrothers.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"meadley-bros-mcp": {
"serverUrl": "https://api.meadleybrothers.com/mcp"
}
}
}Let your agent find its tools
Find servers like Meadley Bros. MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other crm, sales, and marketing servers
Do you run Meadley Bros. 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.