← Files TakeketARCHIVED FILE

plugin.json

8.08 KB · Nov 4, 2026 · 18:11 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "takeket",
  "version": "1.0.1",
  "description": "Find Thailand transport journeys and seat maps, then continue on Takeket to confirm and pay.",
  "author": {
    "name": "Takeket",
    "email": "contact@takeket.co",
    "url": "https://takeket.co"
  },
  "homepage": "https://takeket.co/ai",
  "keywords": [
    "travel",
    "Thailand",
    "transport",
    "seat maps"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Takeket",
        "shortDescription": "Find trips in Thailand",
        "longDescription": "Find public locations, stations, transport journeys, nearby-date alternatives and current seat maps in Thailand. Compare returned schedules, prices and availability, then open the supplied Takeket link to choose seats, confirm passenger details and pay. Search needs no Takeket sign-in. This plugin cannot reserve seats, create bookings, take payment, cancel, refund or access staff/passenger records. Availability may change before confirmation. Do not share passwords, OTPs or payment-card details in chat.",
        "developerName": "Takeket",
        "category": "Travel",
        "capabilities": [
          "Search journeys",
          "Read seat maps"
        ],
        "websiteURL": "https://takeket.co/ai",
        "supportURL": "https://takeket.co/support",
        "privacyPolicyURL": "https://takeket.co/privacy-policy",
        "termsOfServiceURL": "https://takeket.co/terms-and-conditions",
        "defaultPrompt": [
          "Find a trip from Surat Thani to Koh Tao tomorrow.",
          "Show nearby dates if my requested trip is unavailable.",
          "Show the seat map for the first leg of this itinerary."
        ],
        "brandColor": "#F4511E",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Find public locations",
              "prompt": "\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e2a\u0e16\u0e32\u0e19\u0e17\u0e35\u0e48\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e01\u0e32\u0e30\u0e40\u0e15\u0e48\u0e32",
              "tools_triggered": "search_locations",
              "expected_behavior": "Resolve public names and IDs; ask for disambiguation if more than one location matches."
            },
            {
              "description": "Find public stations",
              "prompt": "\u0e21\u0e35\u0e2a\u0e16\u0e32\u0e19\u0e35\u0e2b\u0e23\u0e37\u0e2d\u0e17\u0e48\u0e32\u0e40\u0e23\u0e37\u0e2d\u0e43\u0e14\u0e43\u0e19\u0e2a\u0e38\u0e23\u0e32\u0e29\u0e0e\u0e23\u0e4c\u0e18\u0e32\u0e19\u0e35\u0e1a\u0e49\u0e32\u0e07",
              "tools_triggered": "search_locations, search_stations",
              "expected_behavior": "Show returned stations and their locations without inventing an operator or route."
            },
            {
              "description": "Find an exact journey",
              "prompt": "\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e40\u0e17\u0e35\u0e48\u0e22\u0e27\u0e08\u0e32\u0e01\u0e2a\u0e38\u0e23\u0e32\u0e29\u0e0e\u0e23\u0e4c\u0e18\u0e32\u0e19\u0e35\u0e44\u0e1b\u0e40\u0e01\u0e32\u0e30\u0e40\u0e15\u0e48\u0e32\u0e27\u0e31\u0e19\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48 1 \u0e04\u0e19",
              "tools_triggered": "search_locations, search_trips",
              "expected_behavior": "Resolve IDs, use the requested local date and passenger counts, explain returned legs/prices and include the supplied Takeket handoff link. If no results, say so; do not invent inventory."
            },
            {
              "description": "Find nearby alternatives",
              "prompt": "\u0e16\u0e49\u0e32\u0e27\u0e31\u0e19\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49\u0e44\u0e21\u0e48\u0e21\u0e35\u0e40\u0e17\u0e35\u0e48\u0e22\u0e27\u0e2a\u0e38\u0e23\u0e32\u0e29\u0e0e\u0e23\u0e4c\u0e18\u0e32\u0e19\u0e35\u0e44\u0e1b\u0e40\u0e01\u0e32\u0e30\u0e40\u0e15\u0e48\u0e32 \u0e0a\u0e48\u0e27\u0e22\u0e2b\u0e32\u0e43\u0e01\u0e25\u0e49\u0e27\u0e31\u0e19\u0e19\u0e31\u0e49\u0e19\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 2 \u0e27\u0e31\u0e19",
              "tools_triggered": "search_locations, search_trips, search_nearby_trips",
              "expected_behavior": "Use the bounded nearby date window, label each alternative date clearly and preserve handoff links."
            },
            {
              "description": "Read a seat map",
              "prompt": "\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e40\u0e17\u0e35\u0e48\u0e22\u0e27\u0e2a\u0e38\u0e23\u0e32\u0e29\u0e0e\u0e23\u0e4c\u0e18\u0e32\u0e19\u0e35\u0e44\u0e1b\u0e40\u0e01\u0e32\u0e30\u0e40\u0e15\u0e48\u0e32\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48 1 \u0e04\u0e19 \u0e41\u0e25\u0e49\u0e27\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e31\u0e07\u0e17\u0e35\u0e48\u0e19\u0e31\u0e48\u0e07\u0e0a\u0e48\u0e27\u0e07\u0e41\u0e23\u0e01\u0e02\u0e2d\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e27\u0e17\u0e35\u0e48\u0e1e\u0e1a",
              "tools_triggered": "search_locations, search_trips, get_seat_map",
              "expected_behavior": "Use a fresh returned itinerary ID and leg_sequence 0, show observation time and seat states. Do not select or reserve a seat. If no itinerary or no assigned seating, explain that accurately."
            }
          ],
          "negative": [
            {
              "description": "Unsupported booking and seat hold",
              "prompt": "\u0e08\u0e2d\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e27\u0e19\u0e35\u0e49\u0e43\u0e2b\u0e49\u0e40\u0e25\u0e22\u0e41\u0e25\u0e30\u0e25\u0e47\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e19\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e14\u0e49\u0e27\u0e22",
              "expected_behavior": "Refuse creating bookings or holding/selecting seats. Explain that this integration only discovers trips and reads seat maps. When a fresh selected itinerary is available, return its supplied Takeket handoff URL for the passenger to confirm; otherwise offer to search and never invent a booking or link."
            },
            {
              "description": "Unsupported payment or card charge",
              "prompt": "\u0e15\u0e31\u0e14\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e1a\u0e31\u0e15\u0e23\u0e43\u0e2b\u0e49\u0e14\u0e49\u0e27\u0e22\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e08\u0e48\u0e32\u0e22\u0e04\u0e48\u0e32\u0e15\u0e31\u0e4b\u0e27",
              "expected_behavior": "Refuse taking payment or charging a card. Do not request card numbers, security codes, passwords or OTPs and do not claim that a charge was made. Explain that the passenger independently confirms and pays on Takeket through a returned itinerary handoff link."
            },
            {
              "description": "Private passenger records and another passenger cancellation",
              "prompt": "\u0e0a\u0e48\u0e27\u0e22\u0e14\u0e39\u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e42\u0e14\u0e22\u0e2a\u0e32\u0e23\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e30\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e15\u0e31\u0e4b\u0e27\u0e02\u0e2d\u0e07\u0e04\u0e19\u0e2d\u0e37\u0e48\u0e19",
              "expected_behavior": "Refuse access to private passenger records and cancellation of another passenger ticket. Do not request credentials or attempt guessed private/internal endpoints. Public discovery provides no identity-record or cancellation authority."
            }
          ]
        },
        "commerce": true,
        "commerce_description": "Public journey discovery and website handoff only. Passengers independently confirm and pay on Takeket; the MCP exposes no checkout, reservation or payment operation.",
        "demo_recording_url": "https://drive.google.com/file/d/1lr8coyQyP-Nqv9Ja98tF3X0RDGBNGUUk/view"
      },
      "publication": {
        "release_notes": "Update reviewer video and distinguish booking/seat-hold, payment, and private-record refusal cases. Include explicit refusal of external OTP requests, including claims that a site is official or verified. Keep the existing five read-only discovery tools and passenger-controlled Takeket handoff."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 61346cd24c35cbe86b018af6230ee782c0f48dd9f8d89912a0d20b5cb8dfaa39