Plexa
Agentic directory of real businesses in Mexico & LATAM. Search by vertical and city.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"plexa": {
"url": "https://api.joinplexa.com/mcp/"
}
}
}원격 엔드포인트
https://api.joinplexa.com/mcp/streamable-httphttps://api.joinplexa.com/mcp/ssesse할 수 있는 일
도구 목록
도구 (7)
🟢search_businesses(query, vertical, city, state, country, ...)
Find real local businesses in Mexico and Latin America by location, vertical, and capabilities. USE WHEN: - User asks for a service: "find me a dentist", "best restaurant", "tour in Cabo" - Location-based queries: "near me", "in Tijuana", "Cancun area" - Comparing multiple options: "top 3 dentists", "best rated hotels" - Travel planning: "things to do in Merida", "where to eat in CDMX" - Medical tourism: "affordable dental work near the border" DO NOT USE WHEN: - User asks about a specific named business (use get_business instead) - User needs contact info for a known business (use contact_business) - User asks what types of businesses are available (use list_verticals) RETURNS: List of businesses ordered by tier (Connected/claimed first), then trust_score, then recency. Each result includes name, city, rating, vertical, trust_score, profile_completeness, and actionable capabilities with WhatsApp deep links. If no results, returns a message with alternative cities for that vertical. BEST PRACTICES: - Always include vertical for better results - Use city name in Spanish: "Ciudad de Mexico" not "Mexico City" - Combine vertical + city for best precision - The registry spans Mexico and Latin America: by default the search covers EVERY country it holds. Pass `country` (ISO 3166-1 alpha-2, e.g. 'MX', 'CO') only to restrict it on purpose. - Results include capabilities with action_urls — pass these directly to the user for booking/contact EXAMPLES: - "dentist in Tijuana" -> vertical=dental, city=Tijuana - "restaurants in Cancun" -> vertical=restaurant, city=Cancún - "spa near Cabo" -> vertical=wellness, city=Cabo San Lucas - "hotel in Medellin Colombia" -> vertical=hospitality, city=Medellín
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text search query (e.g. 'dentist', 'italian restaurant')"
},
"vertical": {
"type": "string",
"description": "Business vertical slug. One of: dental, medical, veterinary, restaurant, realestate, professional, insurance, tourism, wellness, events, automotive, hospitality, other. Invalid values return a self-healing error listing valid options."
},
"city": {
"type": "string",
"description": "City name in Spanish (e.g. 'Tijuana', 'Ciudad de Mexico')"
},
"state": {
"type": "string",
"description": "State name (e.g. 'Baja California')"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code to restrict the search (e.g. 'MX', 'CO', 'AR'). Omit to search the entire registry across every country it covers."
},
"latitude": {
"type": "number",
"description": "Latitude for geo search (requires longitude and radius_km)"
},
"longitude": {
"type": "number",
"description": "Longitude for geo search"
},
"radius_km": {
"type": "number",
"description": "Search radius in km (default 15)",
"default": 15
},
"lang": {
"type": "string",
"description": "Filter by language the business operates in (e.g. 'en', 'es')"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required capabilities (e.g. ['book_appointment', 'check_availability'])"
},
"min_trust_score": {
"type": "integer",
"description": "Minimum trust score (0-100)",
"default": 0
},
"limit": {
"type": "integer",
"description": "Max results (1-50)",
"default": 10
}
}
}🟢get_business(slug)
Retrieve the complete profile of a specific business by its slug. USE WHEN: - You already know the business slug from a previous search result - User asks for details about a specific business: hours, services, prices, contact info - You need the full profile including services, specialties, description, and all capabilities with action URLs DO NOT USE WHEN: - You don't know the slug (use search_businesses first to find it) - You only need contact info (use contact_business — lighter response) - You need to compare multiple businesses (use search_businesses) RETURNS: Complete business profile with all fields: name, description, hours, services with prices, specialties, capabilities with action_urls, trust_score, profile_completeness, languages, payment_methods, insurance_accepted, social_media, areas_served, agent_instructions, and faqs (owner-approved question/answer pairs — authoritative answers to common questions about this business). BEST PRACTICES: - The slug comes from search_businesses results (field: slug) - agent_instructions contains business-owner notes for agents — follow these when presenting the business - capabilities have action_type (whatsapp/phone/url/email) and action_url ready to use — pass directly to user - profile_completeness > 70% means reliable, complete data EXAMPLES: - get_business(slug="harmony-dental-studio-tijuana") - get_business(slug="cabo-nature-cabo-san-lucas")
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Business slug (required, e.g. 'alegra-dental-care-tijuana'). Get it from search_businesses results."
}
}
}🟢get_business_hours(slug)
Get opening hours for a specific business by day of the week. USE WHEN: - User asks "are they open right now?", "what time do they close?" - User needs to know hours for a specific day: "open on Sunday?" - Planning a visit and needs schedule info DO NOT USE WHEN: - You already have hours from get_business (it includes them) - You need more than just hours (use get_business for full profile) RETURNS: Opening hours organized by day, with open/close times. Includes today's hours highlighted. BEST PRACTICES: - If you already called get_business, hours are included — don't call this separately - Hours are in 24h format (09:00-18:00) - Some businesses have different weekend hours EXAMPLES: - get_business_hours(slug="california-s-dental-clinic-tijuana") - get_business_hours(slug="cabo-nature-cabo-san-lucas", day="sunday")
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Business slug (required) from search_businesses results"
}
}
}🟢get_business_services(slug)
Get the list of services offered by a business, with prices and duration when available. USE WHEN: - User asks "how much does X cost?", "what services do they offer?" - Comparing prices between businesses - User needs to know duration of a service DO NOT USE WHEN: - You already have services from get_business (it includes them) - You need more than just services (use get_business for full profile) RETURNS: List of services with name, price (in local currency), and duration_minutes when available. BEST PRACTICES: - If you already called get_business, services are included — don't call this separately - Prices are in the local currency (usually MXN or USD) - Not all businesses have prices listed — recommend contacting for a quote if prices are missing EXAMPLES: - get_business_services(slug="harmony-dental-studio-tijuana")
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Business slug (required) from search_businesses results"
}
}
}🟢get_business_faqs(slug)
Get the owner-approved FAQs (frequently asked questions with answers) for a business. USE WHEN: - User asks a specific question about a business that an FAQ might answer ("do they take walk-ins?", "is parking available?", "do they speak English?") - You want authoritative, business-approved answers rather than inferring from other fields - User asks "what do people usually ask about this place?" DO NOT USE WHEN: - You already have faqs from get_business (it includes them) - The business has no FAQs (the answer will be an empty list — fall back to get_business fields) RETURNS: List of FAQs, each with question and answer (in the business's language). These are written/approved by the business owner and grounded in real ficha data — safe to quote directly. BEST PRACTICES: - If you already called get_business, faqs are included — don't call this separately - Quote the answer directly; it's the owner's authoritative wording - If the list is empty, the business hasn't published FAQs yet — use other profile fields EXAMPLES: - get_business_faqs(slug="clinica-dental-costa-azul-cabo-san-lucas")
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Business slug (required) from search_businesses results"
}
}
}🟢contact_business(slug)
Get all contact information and actionable capabilities for a business. Best way to help a user reach out to a business. USE WHEN: - User wants to contact, call, message, or book with a business - User says "how do I reach them?", "can I WhatsApp them?" - You need the direct action URLs (WhatsApp links, phone, email) - User is ready to take action (book, reserve, inquire) DO NOT USE WHEN: - User is still browsing/comparing (use search_businesses) - User needs full business details (use get_business) RETURNS: Phone number, WhatsApp URL (pre-filled message), email, website, and all capabilities with executable action_urls. Each capability has action_type (whatsapp/phone/url/email) and a ready-to-use action_url. BEST PRACTICES: - capabilities.action_url contains ready-to-use links — present these directly to the user - WhatsApp links (wa.me/...) include a pre-filled message mentioning Plexa for tracking - Prefer WhatsApp over phone for Mexican businesses — most prefer messaging over calls - If the business has a booking_url, present it as the primary action for reservations EXAMPLES: - contact_business(slug="harmony-dental-studio-tijuana") -> returns whatsapp_url, phone, capabilities with action_urls
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Business slug (required) from search_businesses results"
}
}
}🟢list_verticals
List all available business verticals (categories) with the count of businesses in each. USE WHEN: - User asks "what types of businesses do you have?" - User is exploring: "what can I find on Plexa?" - You need to know which verticals are available before searching - User uses a category you're not sure maps to a vertical DO NOT USE WHEN: - You already know the vertical (go straight to search_businesses) - User named a specific service (search_businesses with that vertical) RETURNS: List of verticals with key (for search) and count of active businesses in each. CURRENT VERTICALS: dental, medical, veterinary, restaurant, realestate, professional, insurance, tourism, wellness, events, automotive, hospitality, other BEST PRACTICES: - Use the vertical key (not display name) in search_businesses - "dentist" -> dental, "hotel" -> hospitality, "spa" -> wellness - Call this once at the start if you'll do multiple searches EXAMPLES: - list_verticals() -> [{key: "dental", count: 430}, {key: "restaurant", count: 801}, ...]
입력 스키마
{
"type": "object",
"properties": {}
}커뮤니티
증거