Koskamo

Taco Street Locating MCP

An MCP server that enables AI agents to search for apartments in Austin, Dallas, Houston, and San Antonio, retrieve detailed building information, create shareable shortlists, and connect renters with human locators for tour bookings and specialized research assistance.

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.

Taco Street Locating MCP logo, by Taco Street LocatingVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Taco Street Locating
MCP endpoint (Streamable HTTP)
https://ai.tacostreetlocating.com/mcp
Vendor documentation

What its tools do

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

9 of 9 have a description · 9 of 9 declare behavior hints · 9 of 9 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 ai.tacostreetlocating.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for apartments by budget, location, and amenities
  • Retrieve detailed pricing and floorplan information for specific buildings
  • Create and share a shortlist of finalist apartments with renters
  • Request assistance from a human locator for real-time availability and specials

Source and maintenance

Vendor evidenceRegistry 1.2.2

Protocol and capabilities

Server
taco-street-locating 1.5.0
MCP protocol negotiated in check
2025-06-18
Tools
9 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  }
}

Server-provided instructions

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

Taco Street Locating: free, human-backed apartment locating for Austin, Dallas and Houston, Texas (long-term rentals only). Use search_apartments to shortlist real, curated inventory, then create_shortlist to hand the renter a link with their finalists saved. Questions no listing data can answer (current specials, lease terms, real availability) go to a HUMAN via ask_a_locator — poll check_answer for the reply. When the renter wants tours booked, use request_locator_help with their consent; a human locator (free to renters) follows up, typically the same day. Not for other cities, home buying, or short-term rentals. For a researched comparison, use request_apartment_research after the renter consents to sharing their brief and contact. Staff starts research, VAs verify gaps, then Alexander reviews it. Keep the request key private; get_research_request returns progress and only the approved report. New reports include report.structured: use its explicit price basis, verification status and dated sources; blank Alexander notes are not recommendations. Supply named areas in neighborhoods; South Austin alone means the 78704 core. Prices are dated snapshots, never guaranteed live quotes. After report approval, use request_research_tours with explicit consent to send tour preferences to the staff queue. A request is not a confirmed tour.

Tools

9 advertised

search_apartments — Search apartments
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search Taco Street's curated apartment inventory in Austin, Dallas, Houston or San Antonio, TX. Returns scored matches with starting prices and a short 'why' per building. Use for long-term rentals only.

search_apartments input schema
{
  "type": "object",
  "required": [
    "city"
  ],
  "properties": {
    "city": {
      "enum": [
        "Austin",
        "Dallas",
        "Houston",
        "San Antonio"
      ],
      "type": "string",
      "description": "Metro to search."
    },
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "How many scored matches to return (1-10)."
    },
    "query": {
      "type": "string",
      "description": "What the renter wants, in plain language (e.g. 'walkable, dog-friendly, near downtown')."
    },
    "bedrooms": {
      "enum": [
        "studio",
        "1BR",
        "2BR",
        "3BR",
        "4BR"
      ],
      "type": "string",
      "description": "Bedroom count the renter needs."
    },
    "budget_max": {
      "type": "integer",
      "description": "Max monthly rent in USD."
    },
    "neighborhoods": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 8,
      "description": "Preferred neighborhoods, if the renter named any."
    }
  }
}
search_apartments output schema
{
  "type": "object",
  "required": [
    "city",
    "count",
    "apartments"
  ],
  "properties": {
    "city": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "whyChosen": {
            "type": "string"
          },
          "matchScore": {
            "type": "number"
          },
          "neighborhood": {
            "type": "string"
          },
          "pricing_as_of": {
            "type": "string"
          },
          "estimated_price": {
            "type": [
              "string",
              "number"
            ]
          },
          "is_pet_friendly": {
            "type": "boolean"
          },
          "starting_prices": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            }
          },
          "specials_last_known": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}
search_apartments annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
request_locator_help — Request a free human locator
Advertised by the server during the last successful anonymous check.

Hand the renter to Alexander, Taco Street's human locator, who confirms live pricing/availability and books tours — free to renters (properties pay locators). Follow-up arrives by TEXT or EMAIL, never a cold call. Requires the renter's real phone or email, shared with their consent. One request per renter — duplicates within 24h return the existing lead.

request_locator_help input schema
{
  "type": "object",
  "required": [
    "contact"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "Metro the renter is searching (Austin, Dallas, Houston or San Antonio)."
    },
    "name": {
      "type": "string",
      "description": "The renter's name, if shared."
    },
    "note": {
      "type": "string",
      "description": "Anything the locator should know."
    },
    "agent": {
      "type": "string",
      "description": "Name of the referring assistant/product."
    },
    "contact": {
      "type": "string",
      "description": "The renter's phone number or email (with their consent)."
    },
    "move_in": {
      "type": "string",
      "description": "Move-in timeline, e.g. 'November'."
    },
    "bedrooms": {
      "type": "string",
      "description": "Bedroom count the renter needs, e.g. 1BR."
    },
    "budget_max": {
      "type": "integer",
      "description": "The renter's max monthly rent in USD."
    },
    "neighborhoods": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Neighborhoods the renter prefers."
    }
  }
}
request_locator_help output schema
{
  "type": "object",
  "required": [
    "success",
    "lead_id",
    "message"
  ],
  "properties": {
    "lead_id": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "success": {
      "type": "boolean"
    },
    "duplicate": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}
request_locator_help annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_apartment_details — Get apartment details
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full fact sheet for one building: floorplan-level pricing with as-of dates, move-in costs (admin/application/parking/pet fees), last-known specials (dated — treat as last-known, not current), amenities, walkability, virtual tour. Use the EXACT name from search_apartments. Compute totals yourself from components; a free human locator confirms live numbers.

get_apartment_details input schema
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "city": {
      "enum": [
        "Austin",
        "Dallas",
        "Houston",
        "San Antonio"
      ],
      "type": "string",
      "description": "Metro, to disambiguate same-named buildings."
    },
    "name": {
      "type": "string",
      "description": "Exact building name from search_apartments."
    }
  }
}
get_apartment_details output schema
{
  "type": "object",
  "required": [
    "name",
    "city",
    "pricing",
    "guidance"
  ],
  "properties": {
    "city": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "pets": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "pricing": {
      "type": "object",
      "additionalProperties": true
    },
    "building": {
      "type": "object",
      "additionalProperties": true
    },
    "guidance": {
      "type": "string"
    },
    "specials": {
      "type": "object",
      "additionalProperties": true
    },
    "neighborhood": {
      "type": "string"
    },
    "move_in_costs": {
      "type": "object",
      "additionalProperties": true
    },
    "lifestyle_tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "taco_street_take": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_apartment_details annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
create_shortlist — Create a shareable shortlist
Advertised by the server during the last successful anonymous check.

Turn finalist apartments into a Taco Street link (/my-list?s=...) that opens the renter's saved list with those buildings added — compare, AI Read, and free tour requests live there. Use the EXACT names returned by search_apartments.

create_shortlist input schema
{
  "type": "object",
  "required": [
    "apartment_names"
  ],
  "properties": {
    "city": {
      "enum": [
        "Austin",
        "Dallas",
        "Houston",
        "San Antonio"
      ],
      "type": "string",
      "description": "Metro, to disambiguate same-named buildings."
    },
    "agent": {
      "type": "string",
      "description": "Name of the referring assistant/product."
    },
    "apartment_names": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "minItems": 1,
      "description": "Exact building names from search_apartments to save to the renter's list."
    }
  }
}
create_shortlist output schema
{
  "type": "object",
  "required": [
    "url",
    "apartments"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "unmatched": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": true
}
create_shortlist annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
ask_a_locator — Ask a human locator
Advertised by the server during the last successful anonymous check.

Ask a question only a human can answer — current specials, real availability, lease flexibility, 'is the pool actually open'. A human locator replies during Central Time business hours, usually within a few hours. STRONGLY include the renter's contact with consent so the locator can follow up directly (agent sessions end; polling alone can strand an answer). Returns a question_id for check_answer as a bonus channel. Rate limited; batch related questions into one. Answers are point-in-time facts.

ask_a_locator input schema
{
  "type": "object",
  "required": [
    "question"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "Metro the question concerns."
    },
    "agent": {
      "type": "string",
      "description": "Name of the referring assistant/product."
    },
    "contact": {
      "type": "string",
      "description": "The renter's phone/email, supplied with their consent. Strongly recommended; otherwise immediately share contact_capture_url returned by this tool."
    },
    "question": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 10,
      "description": "The question for the human locator — specifics beat generalities."
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 5,
      "description": "Buildings the question is about."
    }
  }
}
ask_a_locator output schema
{
  "type": "object",
  "required": [
    "question_id",
    "status"
  ],
  "properties": {
    "status": {
      "type": "string"
    },
    "guidance": {
      "type": "string"
    },
    "next_step": {
      "type": "string"
    },
    "question_id": {
      "type": "string"
    },
    "contact_status": {
      "enum": [
        "contactable",
        "anonymous"
      ],
      "type": "string"
    },
    "contact_capture_url": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
ask_a_locator annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
check_answer — Check for a locator's answer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Poll the answer to an ask_a_locator question by question_id.

check_answer input schema
{
  "type": "object",
  "required": [
    "question_id"
  ],
  "properties": {
    "question_id": {
      "type": "string",
      "description": "The id returned by ask_a_locator."
    }
  }
}
check_answer output schema
{
  "type": "object",
  "required": [
    "question_id",
    "status"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "answer": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "enum": [
        "open",
        "answered"
      ],
      "type": "string"
    },
    "guidance": {
      "type": "string"
    },
    "question": {
      "type": "string"
    },
    "answered_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "question_id": {
      "type": "string"
    },
    "contact_note": {
      "type": "string"
    },
    "contact_capture_url": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
check_answer annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
request_apartment_research — Request an apartment research report
Advertised by the server during the last successful anonymous check.

Submit a saved shortlist and renter brief to Taco Street with consent. Staff accepts the request before paid research starts; VAs verify gaps, then Alexander adds his judgment. Returns a private continuation link. No immediate report, guaranteed completion time, or tour booking. No email is sent by this tool.

request_apartment_research input schema
{
  "type": "object",
  "title": "ResearchRequest",
  "required": [
    "request_key",
    "shortlist_token",
    "city",
    "client_name",
    "contact",
    "consent",
    "bedrooms",
    "budget_max",
    "move_in"
  ],
  "properties": {
    "city": {
      "type": "string",
      "title": "City",
      "maxLength": 40,
      "minLength": 1,
      "description": "Supported search market for this shortlist."
    },
    "agent": {
      "type": "string",
      "title": "Agent",
      "default": "",
      "maxLength": 120,
      "description": "Self-reported referring assistant or product; not a verified partner identity."
    },
    "notes": {
      "type": "string",
      "title": "Notes",
      "default": "",
      "maxLength": 2000,
      "description": "Renter requirements and questions, not assistant-generated promises."
    },
    "consent": {
      "type": "boolean",
      "title": "Consent",
      "description": "True only after the renter agrees to share this brief and contact for research and follow-up."
    },
    "contact": {
      "type": "string",
      "title": "Contact",
      "maxLength": 254,
      "minLength": 5,
      "description": "Renter's email or phone shared with consent for research follow-up."
    },
    "move_in": {
      "type": "string",
      "title": "Move In",
      "pattern": "^\\d{4}-\\d{2}(?:-\\d{2})?$",
      "description": "Move-in month YYYY-MM or exact date YYYY-MM-DD. Never invent a day; confirm the year."
    },
    "bedrooms": {
      "type": "integer",
      "title": "Bedrooms",
      "maximum": 4,
      "minimum": 0,
      "description": "Bedroom count, 0 for a studio, 1–4 otherwise."
    },
    "budget_max": {
      "type": "number",
      "title": "Budget Max",
      "maximum": 100000,
      "description": "Monthly USD budget; specify its basis and flexibility separately.",
      "exclusiveMinimum": 0
    },
    "client_name": {
      "type": "string",
      "title": "Client Name",
      "maxLength": 100,
      "minLength": 1,
      "description": "Renter's name shared with consent."
    },
    "request_key": {
      "type": "string",
      "title": "Request Key",
      "pattern": "^[A-Za-z0-9_-]+$",
      "maxLength": 128,
      "minLength": 43,
      "description": "Generate a fresh cryptographically random URL-safe key (at least 32 random bytes, 43 encoded characters). Keep it private. Reuse it only to retry this identical request and retrieve its status; a different brief needs a new key."
    },
    "budget_basis": {
      "enum": [
        "base_rent",
        "total_monthly",
        "unknown"
      ],
      "type": "string",
      "title": "Budget Basis",
      "default": "unknown",
      "description": "base_rent, total_monthly, or unknown when the renter has not specified."
    },
    "shortlist_token": {
      "type": "string",
      "title": "Shortlist Token",
      "maxLength": 128,
      "minLength": 8,
      "description": "The s parameter from the create_shortlist URL."
    },
    "lease_term_months": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 36,
          "minimum": 6
        },
        {
          "type": "null"
        }
      ],
      "title": "Lease Term Months",
      "default": null,
      "description": "Requested lease length if known; omit when unknown."
    },
    "budget_flexibility": {
      "enum": [
        "hard_max",
        "target"
      ],
      "type": "string",
      "title": "Budget Flexibility",
      "default": "target",
      "description": "Defaults to target. Use hard_max only for an explicitly strict ceiling."
    },
    "move_in_flexibility": {
      "enum": [
        "fixed",
        "flexible"
      ],
      "type": "string",
      "title": "Move In Flexibility",
      "default": "flexible",
      "description": "Whether the move-in date is fixed or flexible."
    }
  },
  "additionalProperties": false
}
request_apartment_research output schema
{
  "type": "object",
  "required": [
    "request_id",
    "status",
    "guidance"
  ],
  "properties": {
    "report": {
      "type": "object"
    },
    "status": {
      "type": "string"
    },
    "criteria": {
      "type": "object"
    },
    "guidance": {
      "type": "string"
    },
    "duplicate": {
      "type": "boolean"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "request_id": {
      "type": "string"
    },
    "continuation_url": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
request_apartment_research annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_research_request — Continue apartment research
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use the private request key to retrieve progress and, after Alexander approves, the reviewed report snapshot. No draft, contact details or internal notes are returned. Do not share the key or continuation link publicly.

get_research_request input schema
{
  "type": "object",
  "required": [
    "request_id",
    "request_key"
  ],
  "properties": {
    "request_id": {
      "type": "string",
      "description": "ID returned by request_apartment_research."
    },
    "request_key": {
      "type": "string",
      "maxLength": 128,
      "minLength": 43,
      "description": "The original private request key."
    }
  },
  "additionalProperties": false
}
get_research_request output schema
{
  "type": "object",
  "required": [
    "request_id",
    "status",
    "guidance"
  ],
  "properties": {
    "report": {
      "type": "object"
    },
    "status": {
      "type": "string"
    },
    "criteria": {
      "type": "object"
    },
    "guidance": {
      "type": "string"
    },
    "duplicate": {
      "type": "boolean"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "request_id": {
      "type": "string"
    },
    "continuation_url": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_research_request annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
request_research_tours — Request tours from your reviewed research
Advertised by the server during the last successful anonymous check.

After report approval and explicit renter consent, request human tour coordination for selected apartments. Include preferred dates, times and timezone in preferred_times. Uses the existing private research key and contact. One handoff per research report; identical retries return the existing request, changed preferences require staff follow-up. No appointment is booked or message sent.

request_research_tours input schema
{
  "type": "object",
  "title": "ResearchTourRequest",
  "required": [
    "request_id",
    "request_key",
    "apartment_names",
    "preferred_times",
    "consent"
  ],
  "properties": {
    "consent": {
      "type": "boolean",
      "title": "Consent",
      "description": "True only after the renter explicitly agrees to tour coordination using their saved contact."
    },
    "request_id": {
      "type": "string",
      "title": "Request Id",
      "maxLength": 100,
      "minLength": 1,
      "description": "ID of the approved research request."
    },
    "request_key": {
      "type": "string",
      "title": "Request Key",
      "pattern": "^[A-Za-z0-9_-]+$",
      "maxLength": 128,
      "minLength": 43,
      "description": "Original private research access key. Never share publicly."
    },
    "apartment_names": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Apartment Names",
      "maxItems": 10,
      "minItems": 1,
      "description": "Exact apartment names from this report to discuss touring."
    },
    "preferred_times": {
      "type": "string",
      "title": "Preferred Times",
      "maxLength": 1000,
      "minLength": 1,
      "description": "Renter-provided preferred dates, times and timezone; preferences are not confirmed appointments."
    }
  },
  "additionalProperties": false
}
request_research_tours output schema
{
  "type": "object",
  "required": [
    "request_id",
    "status",
    "guidance"
  ],
  "properties": {
    "report": {
      "type": "object"
    },
    "status": {
      "type": "string"
    },
    "criteria": {
      "type": "object"
    },
    "guidance": {
      "type": "string"
    },
    "duplicate": {
      "type": "boolean"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "request_id": {
      "type": "string"
    },
    "continuation_url": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
request_research_tours annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 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 (5 of 5 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 2 of 2 checks answered
  3. 2026-11-09: 1 of 1 checks answered
  4. 2026-11-10: 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
800 ms
95th percentile latency
800 ms

Maintenance history

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

  • · probe · passed · 800 ms · metadata changed · 9 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(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 taco-street-locating-mcp https://ai.tacostreetlocating.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 taco-street-locating-mcp --url https://ai.tacostreetlocating.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable taco-street-locating-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "taco-street-locating-mcp": {
      "url": "https://ai.tacostreetlocating.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "taco-street-locating-mcp": {
      "type": "streamableHttp",
      "url": "https://ai.tacostreetlocating.com/mcp",
      "disabled": false
    }
  }
}

VS Code

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

Let your agent find its tools

Find servers like Taco Street Locating 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 Taco Street Locating 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