Taco Street Locating

Free human-backed apartment locating for Austin, Dallas & Houston, TX. A free locator books tours.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
94%
Integridad del esquema
100%
Calidad de los nombres
91%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'check_answer' description lacks action verben check_answer

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,370Tokens (definiciones de herramientas)
~3.5 KBTamaño de respuesta típico
Impacto significativo en la atención (2.63% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "taco-street-locating": {
      "url": "https://ai.tacostreetlocating.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://ai.tacostreetlocating.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_apartments(city, query, budget_max, bedrooms, neighborhoods, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "enum": [
        "Austin",
        "Dallas",
        "Houston"
      ],
      "description": "Metro to search."
    },
    "query": {
      "type": "string",
      "description": "What the renter wants, in plain language (e.g. 'walkable, dog-friendly, near downtown')."
    },
    "budget_max": {
      "type": "integer",
      "description": "Max monthly rent in USD."
    },
    "bedrooms": {
      "type": "string",
      "enum": [
        "studio",
        "1BR",
        "2BR",
        "3BR",
        "4BR"
      ],
      "description": "Bedroom count the renter needs."
    },
    "neighborhoods": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 8,
      "description": "Preferred neighborhoods, if the renter named any."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 5,
      "description": "How many scored matches to return (1-10)."
    }
  },
  "required": [
    "city"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "neighborhood": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "matchScore": {
            "type": "number"
          },
          "whyChosen": {
            "type": "string"
          },
          "starting_prices": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            }
          },
          "pricing_as_of": {
            "type": "string"
          },
          "specials_last_known": {
            "type": "string"
          },
          "is_pet_friendly": {
            "type": "boolean"
          },
          "estimated_price": {
            "type": [
              "string",
              "number"
            ]
          },
          "website": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "city",
    "count",
    "apartments"
  ],
  "additionalProperties": true
}
⚪request_locator_help(contact, name, city, budget_max, bedrooms, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "contact": {
      "type": "string",
      "description": "The renter's phone number or email (with their consent)."
    },
    "name": {
      "type": "string",
      "description": "The renter's name, if shared."
    },
    "city": {
      "type": "string",
      "description": "Metro the renter is searching (Austin, Dallas or Houston)."
    },
    "budget_max": {
      "type": "integer",
      "description": "The renter's max monthly rent in USD."
    },
    "bedrooms": {
      "type": "string",
      "description": "Bedroom count the renter needs, e.g. 1BR."
    },
    "neighborhoods": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Neighborhoods the renter prefers."
    },
    "move_in": {
      "type": "string",
      "description": "Move-in timeline, e.g. 'November'."
    },
    "note": {
      "type": "string",
      "description": "Anything the locator should know."
    },
    "agent": {
      "type": "string",
      "description": "Name of the referring assistant/product."
    }
  },
  "required": [
    "contact"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "lead_id": {
      "type": "string"
    },
    "duplicate": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "success",
    "lead_id",
    "message"
  ],
  "additionalProperties": true
}
🟢get_apartment_details(name, city)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Exact building name from search_apartments."
    },
    "city": {
      "type": "string",
      "enum": [
        "Austin",
        "Dallas",
        "Houston"
      ],
      "description": "Metro, to disambiguate same-named buildings."
    }
  },
  "required": [
    "name"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "neighborhood": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "pricing": {
      "type": "object",
      "additionalProperties": true
    },
    "move_in_costs": {
      "type": "object",
      "additionalProperties": true
    },
    "pets": {
      "type": "string"
    },
    "specials": {
      "type": "object",
      "additionalProperties": true
    },
    "building": {
      "type": "object",
      "additionalProperties": true
    },
    "lifestyle_tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "taco_street_take": {
      "type": "string"
    },
    "guidance": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "city",
    "pricing",
    "guidance"
  ],
  "additionalProperties": true
}
🟡create_shortlist(apartment_names, city, agent)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "apartment_names": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 10,
      "description": "Exact building names from search_apartments to save to the renter's list."
    },
    "city": {
      "type": "string",
      "enum": [
        "Austin",
        "Dallas",
        "Houston"
      ],
      "description": "Metro, to disambiguate same-named buildings."
    },
    "agent": {
      "type": "string",
      "description": "Name of the referring assistant/product."
    }
  },
  "required": [
    "apartment_names"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "unmatched": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "url",
    "apartments"
  ],
  "additionalProperties": true
}
🟢ask_a_locator(question, city, apartments, contact, agent)

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: the answer is texted/emailed to them 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "minLength": 10,
      "maxLength": 1000,
      "description": "The question for the human locator — specifics beat generalities."
    },
    "city": {
      "type": "string",
      "description": "Metro the question concerns."
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 5,
      "description": "Buildings the question is about."
    },
    "contact": {
      "type": "string",
      "description": "The renter's phone/email — strongly recommended: the answer is texted/emailed to them directly, and polling alone can strand it."
    },
    "agent": {
      "type": "string",
      "description": "Name of the referring assistant/product."
    }
  },
  "required": [
    "question"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "question_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "guidance": {
      "type": "string"
    }
  },
  "required": [
    "question_id",
    "status"
  ],
  "additionalProperties": true
}
🟢check_answer(question_id)

Poll the answer to an ask_a_locator question by question_id.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "question_id": {
      "type": "string",
      "description": "The id returned by ask_a_locator."
    }
  },
  "required": [
    "question_id"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "question_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "answered"
      ]
    },
    "question": {
      "type": "string"
    },
    "answer": {
      "type": [
        "string",
        "null"
      ]
    },
    "answered_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "guidance": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "question_id",
    "status"
  ],
  "additionalProperties": true
}
🟡request_apartment_research(request_key, shortlist_token, city, client_name, contact, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "request_key": {
      "maxLength": 128,
      "minLength": 43,
      "pattern": "^[A-Za-z0-9_-]+$",
      "title": "Request Key",
      "type": "string",
      "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."
    },
    "shortlist_token": {
      "maxLength": 128,
      "minLength": 8,
      "title": "Shortlist Token",
      "type": "string",
      "description": "The s parameter from the create_shortlist URL."
    },
    "city": {
      "enum": [
        "Austin",
        "Dallas",
        "Houston"
      ],
      "title": "City",
      "type": "string",
      "description": "Supported search market for this shortlist."
    },
    "client_name": {
      "maxLength": 100,
      "minLength": 1,
      "title": "Client Name",
      "type": "string",
      "description": "Renter's name shared with consent."
    },
    "contact": {
      "maxLength": 254,
      "minLength": 5,
      "title": "Contact",
      "type": "string",
      "description": "Renter's email or phone shared with consent for research follow-up."
    },
    "consent": {
      "title": "Consent",
      "type": "boolean",
      "description": "True only after the renter agrees to share this brief and contact for research and follow-up."
    },
    "bedrooms": {
      "maximum": 4,
      "minimum": 0,
      "title": "Bedrooms",
      "type": "integer",
      "description": "Bedroom count, 0 for a studio, 1–4 otherwise."
    },
    "budget_max": {
      "exclusiveMinimum": 0,
      "maximum": 100000,
      "title": "Budget Max",
      "type": "number",
      "description": "Monthly USD budget; specify its basis and flexibility separately."
    },
    "budget_basis": {
      "default": "unknown",
      "enum": [
        "base_rent",
        "total_monthly",
        "unknown"
      ],
      "title": "Budget Basis",
      "type": "string",
      "description": "base_rent, total_monthly, or unknown when the renter has not specified."
    },
    "budget_flexibility": {
      "default": "target",
      "enum": [
        "hard_max",
        "target"
      ],
      "title": "Budget Flexibility",
      "type": "string",
      "description": "Defaults to target. Use hard_max only for an explicitly strict ceiling."
    },
    "move_in": {
      "pattern": "^\\d{4}-\\d{2}(?:-\\d{2})?$",
      "title": "Move In",
      "type": "string",
      "description": "Move-in month YYYY-MM or exact date YYYY-MM-DD. Never invent a day; confirm the year."
    },
    "move_in_flexibility": {
      "default": "flexible",
      "enum": [
        "fixed",
        "flexible"
      ],
      "title": "Move In Flexibility",
      "type": "string",
      "description": "Whether the move-in date is fixed or flexible."
    },
    "lease_term_months": {
      "anyOf": [
        {
          "maximum": 36,
          "minimum": 6,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lease Term Months",
      "description": "Requested lease length if known; omit when unknown."
    },
    "notes": {
      "default": "",
      "maxLength": 2000,
      "title": "Notes",
      "type": "string",
      "description": "Renter requirements and questions, not assistant-generated promises."
    },
    "agent": {
      "default": "",
      "maxLength": 120,
      "title": "Agent",
      "type": "string",
      "description": "Self-reported referring assistant or product; not a verified partner identity."
    }
  },
  "required": [
    "request_key",
    "shortlist_token",
    "city",
    "client_name",
    "contact",
    "consent",
    "bedrooms",
    "budget_max",
    "move_in"
  ],
  "additionalProperties": false,
  "title": "ResearchRequest"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "guidance": {
      "type": "string"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "criteria": {
      "type": "object"
    },
    "continuation_url": {
      "type": "string"
    },
    "duplicate": {
      "type": "boolean"
    },
    "report": {
      "type": "object"
    }
  },
  "required": [
    "request_id",
    "status",
    "guidance"
  ],
  "additionalProperties": true
}
🟢get_research_request(request_id, request_key)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string",
      "description": "ID returned by request_apartment_research."
    },
    "request_key": {
      "type": "string",
      "minLength": 43,
      "maxLength": 128,
      "description": "The original private request key."
    }
  },
  "required": [
    "request_id",
    "request_key"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "guidance": {
      "type": "string"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "criteria": {
      "type": "object"
    },
    "continuation_url": {
      "type": "string"
    },
    "duplicate": {
      "type": "boolean"
    },
    "report": {
      "type": "object"
    }
  },
  "required": [
    "request_id",
    "status",
    "guidance"
  ],
  "additionalProperties": true
}
⚪request_research_tours(request_id, request_key, apartment_names, preferred_times, consent)

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.

Esquema de entrada

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

Esquema de salida

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "guidance": {
      "type": "string"
    },
    "apartments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "criteria": {
      "type": "object"
    },
    "continuation_url": {
      "type": "string"
    },
    "duplicate": {
      "type": "boolean"
    },
    "report": {
      "type": "object"
    }
  },
  "required": [
    "request_id",
    "status",
    "guidance"
  ],
  "additionalProperties": true
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas