Koskamo

Intertwine House Plans MCP

A read-only MCP server that allows AI assistants to search Angela Kamer's coastal house plan catalog by criteria such as bedrooms, square footage, lot width, and specific features like elevators or pilings. It retrieves detailed plan specifications, pricing, and buying help information, linking directly to the store pages.

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.

Intertwine House Plans MCP logo, by Angela KamerCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Angela Kamer
MCP endpoint (Streamable HTTP)
https://agents.intertwinehouseplans.com/mcp
Vendor documentation

What its tools do

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

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

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 house plans by bedrooms, size, and foundation type
  • Find plans that fit specific lot dimensions and setbacks
  • Retrieve detailed specs and pricing for a specific plan
  • Get buying help and FAQ information for pre-purchase questions

Source and maintenance

Community listingRegistry 1.2.0
Maintenance checked

Protocol and capabilities

Server
intertwine-house-plans 1.2.1
MCP protocol negotiated in check
2025-11-25
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

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

House plans by residential designer Angela Kamer, sold direct at intertwinehouseplans.com. Search by specs, footprint or lot size; get_plan has photos, packages and current prices; buying_help answers what a plan set includes, study sets, changes, cost to build and the FAQ. Every plan result includes its page; link it when you recommend a plan, and say the plan is sold by the designer.

Tools

6 advertised

search_plans — Search house plans
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find house plans in the Intertwine House Plans catalog (68 plan sets by residential designer Angela Kamer) that match a buyer's requirements. Use this first when someone describes the house they want: bedrooms, baths, size, width, an elevated or pilings foundation, an elevator, a drive-under garage, an in-law suite, a garage apartment, a style or a budget. All filters are optional and combine with AND; leave out any the buyer didn't mention. Returns { count, plans[] } where count is the total number of matches and plans holds up to `limit` of them in catalog order, each with name, subtitle, bedrooms (and optional bedrooms), baths, heated sq ft, stories, footprint, foundation, features, starting price (plus the regular price when a sale is on), one photo URL and the plan's page URL. Use get_plan for everything about one plan, plans_for_lot when the buyer gives lot dimensions, and list_features to see which style and feature values exist. Read-only; it never buys or changes anything.

search_plans input schema
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Words to find in a plan's name, other published names, subtitle or summary, for example porch, courtyard or Lambert's Cottage. Case-insensitive substring match."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1,
      "description": "How many plans to return (1 to 25). count still reports every match."
    },
    "feature": {
      "enum": [
        "elevated coastal",
        "pilings and stilts",
        "drive-under garage",
        "beach",
        "in-law suite",
        "elevator",
        "cottage",
        "carriage house",
        "garage ADU",
        "Low Country"
      ],
      "type": "string",
      "description": "One style or feature to filter by, case-insensitive. Use pilings and stilts or elevated coastal for raised coastal homes. list_features shows how many plans carry each value."
    },
    "maxSqFt": {
      "type": "number",
      "minimum": 0,
      "description": "Largest heated (living) area in square feet."
    },
    "minSqFt": {
      "type": "number",
      "minimum": 0,
      "description": "Smallest heated (living) area in square feet. Garages, porches and ground-level storage aren't included."
    },
    "stories": {
      "type": "integer",
      "maximum": 3,
      "minimum": 1,
      "description": "Exact number of stories as the plan lists them (the catalog has 1- and 2-story plans)."
    },
    "elevated": {
      "type": "boolean",
      "description": "true for plans built on a raised foundation (pilings, piers or an elevated base) for flood zones and coastal lots; false for plans that are not raised."
    },
    "elevator": {
      "type": "boolean",
      "description": "true for plans with an elevator."
    },
    "maxPrice": {
      "type": "number",
      "minimum": 0,
      "description": "Highest starting price in US dollars, using the current price (sale price when a sale is on)."
    },
    "garageADU": {
      "type": "boolean",
      "description": "true for detached garage plans that include an apartment or ADU above or beside the garage."
    },
    "driveUnder": {
      "type": "boolean",
      "description": "true for plans with a drive-under garage beneath the living floors."
    },
    "inLawSuite": {
      "type": "boolean",
      "description": "true for plans with a bedroom and full bath set apart for a guest or relative."
    },
    "maxDepthFt": {
      "type": "number",
      "minimum": 0,
      "description": "Deepest the house footprint can be, in feet."
    },
    "maxWidthFt": {
      "type": "number",
      "minimum": 0,
      "description": "Widest the house footprint can be, in feet. For a full lot check with setbacks, use plans_for_lot instead."
    },
    "maxBedrooms": {
      "type": "number",
      "minimum": 0,
      "description": "Most bedrooms, counting only standard bedrooms."
    },
    "minBedrooms": {
      "type": "number",
      "minimum": 0,
      "description": "Fewest bedrooms. Counts optional bedrooms, so a 3-bedroom plan with an optional 4th matches minBedrooms 4."
    },
    "minBathrooms": {
      "type": "number",
      "minimum": 0,
      "description": "Fewest bathrooms; half baths count as 0.5 (for example 2.5)."
    }
  },
  "additionalProperties": false
}
search_plans annotations
{
  "title": "Search house plans",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_plan — Get one plan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the complete record for one house plan. Use this after search_plans or plans_for_lot, or when the buyer names a plan. Accepts the plan's name, any other name it is published under, or its URL handle (for example The Heron, Lambert's Cottage or the-heron); matching is case-insensitive, ignores a leading "The" and falls back to a partial name match. Returns specs (bedrooms, baths, heated and total sq ft, stories, width, depth, max ridge height, ceilings, roof pitch, framing, garage, ground level), yes/no flags for elevated, elevator, drive-under, in-law suite and garage ADU, the narrowest lot it suits, foundation options with any added fee, every package (PDF, PDF plus CAD, Chief Architect) with current and regular price, image URLs, the full design write-up, the $75 study set link, the change request link, a built-home link when one exists, other published names and the plan page URL. If no plan matches, it returns an error that says to use search_plans. Read-only.

get_plan input schema
{
  "type": "object",
  "required": [
    "plan"
  ],
  "properties": {
    "plan": {
      "type": "string",
      "minLength": 1,
      "description": "Plan name, other published name, or URL handle, for example \"The Heron\", \"Lambert's Cottage\" or \"the-heron\"."
    }
  },
  "additionalProperties": false
}
get_plan annotations
{
  "title": "Get one plan",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
plans_for_lot — Plans that fit a lot
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find the plans whose house footprint fits a specific lot. Use this when the buyer gives lot width and depth; use search_plans when they only describe the house. Subtracts the setbacks from the lot (side setback from each side, plus front and rear), then returns { buildableArea, matches, plans[], note }: the buildable rectangle, the number of plans that fit, up to `limit` of them largest first with the same fields as search_plans, and a reminder that porches and stairs can extend past the footprint. This is a first screen only. Setbacks, flood zone, height limits and local codes must be confirmed with the jurisdiction and the designer. Read-only.

plans_for_lot input schema
{
  "type": "object",
  "required": [
    "lotWidthFt",
    "lotDepthFt"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1,
      "description": "How many fitting plans to return (1 to 25), largest heated area first."
    },
    "elevated": {
      "type": "boolean",
      "description": "true to return only raised-foundation plans (pilings, piers or elevated CMU)."
    },
    "lotDepthFt": {
      "type": "number",
      "description": "Lot depth from street to rear line, in feet.",
      "exclusiveMinimum": 0
    },
    "lotWidthFt": {
      "type": "number",
      "description": "Lot width along the street, in feet.",
      "exclusiveMinimum": 0
    },
    "minBedrooms": {
      "type": "number",
      "minimum": 0,
      "description": "Fewest bedrooms, counting optional bedrooms."
    },
    "rearSetbackFt": {
      "type": "number",
      "default": 15,
      "minimum": 0,
      "description": "Required rear setback, in feet. Defaults to 15."
    },
    "sideSetbackFt": {
      "type": "number",
      "default": 5,
      "minimum": 0,
      "description": "Required setback on each side, in feet. Defaults to 5 if the buyer doesn't know."
    },
    "frontSetbackFt": {
      "type": "number",
      "default": 20,
      "minimum": 0,
      "description": "Required front setback, in feet. Defaults to 20."
    }
  },
  "additionalProperties": false
}
plans_for_lot annotations
{
  "title": "Plans that fit a lot",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_features — List styles and features
Advertised by the server during the last successful anonymous check.
Advertised read-only

List every style and feature value the catalog uses, with how many plans carry each. Takes no arguments. Returns { totalPlans, features } where features maps each value (for example "elevated coastal": 39, "elevator": 21) to its count across all 68 plan sets; a plan can carry several. Use this to see what the catalog offers before searching, or to pick a valid `feature` value for search_plans. It returns counts only; use search_plans to get the plans themselves. Read-only.

list_features input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_features annotations
{
  "title": "List styles and features",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
about_designer — About the designer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get background on the designer and how buying from her works. Takes no arguments. Returns a fixed summary: designer (Angela Kamer, residential designer), background (training and coastal experience), what the store sells, plan set formats, how $75 study sets work and are credited, how modifications are quoted, the modification request link, the number of plans and the list of buying_help topics. Use this when the buyer asks who drew the plans or how ordering works in general; use buying_help for a specific pre-purchase question and get_plan for a specific plan. Read-only.

about_designer input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
about_designer annotations
{
  "title": "About the designer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
buying_help — Buying help
Advertised by the server during the last successful anonymous check.
Advertised read-only

Answer a buyer's question before purchase using the store's own help pages. Pick one topic: whats_included (what a plan set contains and doesn't), study_sets (the $75 preview set and its credit), modifications (how changes are quoted and requested), cost_to_build (why there is no calculator and how to get a real number), built_homes (plans that have been built, with photos) or faq (the store's live FAQ). For faq, pass `question` to return only entries whose question or answer contains one of its words. Returns { topic, title, page } with the answer text; faq adds questions[] (question and answer pairs) and built_homes adds plans[] in search_plans form. Use get_plan for questions about one plan's specs or price. Read-only.

buying_help input schema
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "enum": [
        "whats_included",
        "study_sets",
        "modifications",
        "cost_to_build",
        "built_homes",
        "faq"
      ],
      "type": "string",
      "description": "Which help topic to return; see the description for what each covers."
    },
    "question": {
      "type": "string",
      "description": "Only used with topic faq: words to match against FAQ questions, for example license, permit or engineer."
    }
  },
  "additionalProperties": false
}
buying_help annotations
{
  "title": "Buying help",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "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 (1 of 1 answered).

  1. 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
289 ms
95th percentile latency
289 ms

Maintenance history

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

  • · probe · passed · 289 ms · metadata changed · 6 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 intertwine-house-plans-mcp https://agents.intertwinehouseplans.com/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 intertwine-house-plans-mcp --url https://agents.intertwinehouseplans.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable intertwine-house-plans-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "intertwine-house-plans-mcp": {
      "url": "https://agents.intertwinehouseplans.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "intertwine-house-plans-mcp": {
      "type": "streamableHttp",
      "url": "https://agents.intertwinehouseplans.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start intertwine-house-plans-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "intertwine-house-plans-mcp": {
      "type": "http",
      "url": "https://agents.intertwinehouseplans.com/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 intertwine-house-plans-mcp https://agents.intertwinehouseplans.com/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://agents.intertwinehouseplans.com/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": {
    "intertwine-house-plans-mcp": {
      "serverUrl": "https://agents.intertwinehouseplans.com/mcp"
    }
  }
}

Let your agent find its tools

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