net.pifini/pifini
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Real events, reviewed places, and ticket checkout across the Caribbean and Latin America.
| Author | net.pifini |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2365 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"pifini": {
"url": "https://pifini.net/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (6)
search_eventsread-onlySearch upcoming events (festivals, carnivals, concerts, food + cultural events) across the Caribbean, Latin America, and beyond. Returns event names, dates, locations, category, price (when known), and page URLs. Strongest coverage: Barbados, Trinidad, Jamaica, Bahamas, Mexico.
Parameters:
city— string — City name filterlimit— number — Max results, 1-50 (default 10)query— string — Free-text search over title and descriptionoffset— number — Skip this many matching results (for paging past the limit)country— string — ISO-3166 alpha-2 country code, e.g. BB, TT, JMcategory— string — Filter by event categorynear_lat— number — Latitude to search near (pair with near_lng)near_lng— number — Longitude to search near (pair with near_lat)radius_km— number — Search radius in km around near_lat/near_lng (default 25, max 500)entry_model— string — Filter by how someone gets in: 'free' = confirmed free entry, 'ticketed' = Pifini sells tickets, 'external' = paid but sold elsewhere, 'mixed' = umbrella event with both free and paid components, 'unknown' = not yet confirmed either way.include_past— boolean — Include past events (default false)starts_after— string — Earliest start. A bare date ('2026-08-01') matches the event's LOCAL calendar date in its own timezone and is inclusive — this is what you want for 'what's on this weekend'. A full ISO timestamp ('2026-08-01T18:00:00Z') is compared as an exact UTC instant instead.starts_before— string — Latest start, same rules as starts_after. A bare date is inclusive of that whole local day, so starts_after='2026-08-13' with starts_before='2026-08-13' returns everything happening on the 13th where it happens.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_eventread-onlyFull details for one event by slug: description, venue, date/time, and available ticket types with prices and remaining stock. Use the slug from search_events.
Parameters:
slug(required) — string — Event slug from search_events
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_placesread-onlySearch Pifini's places directory across the Caribbean and Latin America — restaurants, bars, beaches, attractions, venues, hotels, tour operators, professionals, and services. Every result carries listing_type: 'curated' is a small, editorially reviewed set of flagship entries; 'directory' is the much larger set sourced from open map data (name, category, location, contact info) that has no reviews yet — say so rather than implying a recommendation the data doesn't back up. Category is a specific Overture taxonomy value (e.g. caribbean_restaurant, church_cathedral), not a broad bucket — call list_categories first if unsure of the exact value. Results marked is_sponsored are paid placements — disclose that when recommending.
Parameters:
city— string — City name filterlimit— number — Max results, 1-50 (default 10)query— string — Free-text search over name and summaryoffset— number — Skip this many matching results (for paging past the limit)country— string — ISO-3166 alpha-2 country codecategory— string — Filter by exact category value (e.g. 'caribbean_restaurant'). Use list_categories to discover valid values — there are 1,000+, not a small fixed set.near_lat— number — Latitude to search near (pair with near_lng)near_lng— number — Longitude to search near (pair with near_lat)radius_km— number — Search radius in km around near_lat/near_lng (default 25, max 500)entity_type— string — Filter by broad type of place
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_placeread-onlyFull details for one place by slug, including its most recent published reviews if any exist. listing_type distinguishes a curated entry from an unreviewed directory listing (see search_places) — recent_reviews is often an empty array, which means no reviews yet, not a low-quality place. Use the slug from search_places.
Parameters:
slug(required) — string — Place slug from search_places
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_categoriesread-onlyDiscover valid category values for search_places. Pifini's places directory uses Overture Maps' taxonomy — over 1,000 specific values like caribbean_restaurant, church_cathedral, landmark_and_historical_building — rather than broad buckets, so guessing a category string will usually miss. Call this first with a rough query (e.g. 'coffee' or 'beach') to find the exact value, then pass it to search_places' category parameter.
Parameters:
limit— number — Max results, 1-100 (default 30)query— string — Rough term to match against category values, e.g. 'coffee', 'beach'country— string — ISO-3166 alpha-2 country code — only return categories present in that country
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_ticket_checkoutCreate a secure Stripe-hosted payment link for event tickets. Returns a checkout URL — give it to the human to complete payment themselves; each ticket is then emailed with its QR code and its own link, which opens on any phone and can be saved to WhatsApp. Get ticket_type_id values from get_event. Always confirm the exact tickets and total with the human before calling this.
Parameters:
event_slug(required) — string — Event slugitems(required) — array — Ticket selectionsbuyer_email(required) — string — Email to deliver tickets to (required — ask the human)buyer_name— string — Buyer's name (optional)
Hints: read-only no · destructive no · idempotent no · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.