@vayapin/mcp · v0.1.0

Tool reference

Every tool exposed by the VayaCore MCP server — input schema, output shape, and an example prompt for each. See the developer landing for install and the system-prompt snippet.

pins

VayaPin identity

resolve_pin

Get the full delivery payload for a VayaPin ID — GPS coordinates, structured street address, contact info, photos, delivery hours, and preferred drop-off instructions.

Input
FieldTypeNotes
vayapin_idstringrequiredCOUNTRY:NAME, both upper-case, e.g. BB:TAPAS887 (pattern ^[A-Z]{2}:[A-Z0-9]+$).
Output
response
{
  "data_set": {
    "pin_data_location": { "latitude": 13.0975, "longitude": -59.6105 },
    "address": { "street": "...", "city": "..." },
    "contact": { }, "photos": [ ], "delivery_hours": "..."
  }
}
Example prompt
“My VayaPin is BB:TAPAS887 — where exactly should the courier drop the package?”

preview_pin

Suggest available VayaPin names for a user based on their name. Call before confirm_pin.

Input
FieldTypeNotes
namestringrequiredProposed name to check (1–64 chars).
country_codestringrequiredISO-3166-1 alpha-2, upper-case, e.g. BB.
Output
response
{ "requested_name": "TAPAS", "is_available": false,
  "suggestions": ["TAPAS887", "TAPASBAR", "TAPAS246"] }
Example prompt
“Suggest a VayaPin name for my restaurant 'Tapas Bar' in Barbados.”

confirm_pin

Reserve a VayaPin name and send the signup link to the user via WhatsApp, SMS, or email. Returns a reservation that expires in 24h. The link goes to the user, never back to the agent.

Input
FieldTypeNotes
namestringrequiredUpper-case letters and digits (^[A-Z0-9]+$).
country_codestringrequiredISO-3166-1 alpha-2. A name is unique per country.
identifierstringrequiredPhone in E.164 (sms/whatsapp) or email address.
channelenumrequiredwhatsapp · sms · email
callback_urlstringrequiredHTTPS URL for the pin_created webhook after signup.
Output
response
{ "reservation_id": "...", "expires_at": "2026-06-21T12:00:00Z" }
Example prompt
“Reserve TAPAS887 in BB and text the signup link to +12465551234.”
maps · BYOK

Google Maps

geocode

Convert a text address to GPS coordinates (latitude/longitude). Wraps the Google Geocoding API using the brand's own Google Maps key.

Input
FieldTypeNotes
addressstringrequiredAddress or place name, e.g. 1600 Amphitheatre Pkwy, Mountain View, CA.
country_codestringoptionalISO 3166-1 region bias, e.g. us, bb.
Output
response
{ "results": [{ "geometry": { "location": { "lat": 37.4221, "lng": -122.0841 } } }],
  "status": "OK" }
Example prompt
“Geocode 1600 Amphitheatre Pkwy, Mountain View, CA.”

reverse_geocode

Convert GPS coordinates to a human-readable street address. Wraps the Google Geocoding API using the brand's own Google Maps key.

Input
FieldTypeNotes
latnumberrequiredLatitude in decimal degrees (−90 to 90), e.g. 13.0975.
lngnumberrequiredLongitude in decimal degrees (−180 to 180), e.g. -59.6105.
Output
response
{ "results": [{ "formatted_address": "Bridgetown, Barbados" }], "status": "OK" }
Example prompt
“What's the street address at 13.0975, -59.6105?”

place_search

near accepts a VayaPin ID (resolved to GPS automatically) or a lat,lng string; omit it for a free-text search. Wraps the Google Places Text/Nearby Search API.

Input
FieldTypeNotes
querystringrequiredWhat to search for, e.g. coffee shop.
nearstringoptionalA VayaPin ID (BB:TAPAS887) or a lat,lng string.
radius_kmnumberoptionalRadius in km (used only with near; max 50).
Output
response
{ "results": [{ "name": "...", "place_id": "ChIJ...", "vicinity": "..." }],
  "status": "OK" }
Example prompt
“Find coffee shops within 2 km of BB:TAPAS887.”

place_details

Get full details for a specific place (opening hours, photos, rating, phone, website, formatted address) by its Google place_id, as returned by place_search.

Input
FieldTypeNotes
place_idstringrequiredGoogle place_id, e.g. ChIJN1t_tDeuEmsRUsoyG83frY4.
Output
response
{ "result": { "name": "...", "formatted_phone_number": "...",
    "opening_hours": { }, "rating": 4.5 }, "status": "OK" }
Example prompt
“Get the opening hours and phone number for that place_id.”
shipping · BYOK

Shipping

track_package

Get real-time tracking status for a shipment. Normalised across 1,200+ carriers via AfterShip. The carrier is auto-detected from the tracking number when omitted.

Input
FieldTypeNotes
tracking_numberstringrequiredThe carrier tracking number.
carrierstringoptionalAfterShip courier slug (usps, dhl, fedex). Auto-detected if omitted.
Output
response
{ "data": { "tracking": { "tag": "InTransit", "checkpoints": [ ] } } }
Example prompt
“Track package 9400111899223817 — where is it now?”
system

System

system_health

Check VayaCore API liveness. Returns the service status and version.

Input

No arguments.

Output
response
{ "status": "healthy", "version": "0.1.0" }
Example prompt
“Is the VayaCore API up?”