Koskamo

Trip720 MCP

An official MCP server by Trip720 that allows AI assistants to plan complete trips based on a total budget, retrieve trip details, view day-by-day plans, check entry requirements, and access destination facts. It provides live, estimated, or official prices for flights, stays, transport, activities, and meals.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Trip720 MCP logo, by Trip720Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Trip720
MCP endpoint (Streamable HTTP)
https://trip720.travel/api/mcp
Vendor documentation

What its tools do

8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (2)

8 of 8 have a description · 8 of 8 declare behavior hints · 3 of 8 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to trip720.travel ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Plan a whole trip from a total budget
  • Read a trip already planned
  • Check entry requirements for passports
  • Get destination facts and best months

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
trip720 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
8 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Trip720 plans whole trips, home to home, against a total budget. Every price is labelled live, estimate or official, and each option links to trip720.travel, where it is booked.

Tools

8 advertised

plan_trip — Plan a whole trip with Trip720
Advertised by the server during the last successful anonymous check.
Open-world

For a request to plan a trip with a budget. Plans a whole trip, home to home, against the traveller's total budget: flights, stays, transfers, activities, visas and daily costs. Returns up to six options, each with a Safe Trip Total (the whole trip with a contingency), the route, and every price labelled live (checked with the provider), estimate (Trip720's own, protection margin included) or official (a government fee), with a link to the option on trip720.travel where it is booked. Side effect: the trip is saved on Trip720 (kept 30 days) so it can be opened and booked; nothing is booked or paid. Limits: at most 6 travellers, 60 nights and 5 named places; flight fares are estimates in this quick build. A trip still being built comes back with status 'building' and its trip id.

plan_trip input schema
{
  "type": "object",
  "required": [
    "origin",
    "departDate",
    "returnDate",
    "travellers",
    "budget",
    "destination"
  ],
  "properties": {
    "pace": {
      "enum": [
        "PACKED",
        "BALANCED",
        "RELAXED",
        "SETTLED"
      ],
      "type": "string",
      "description": "PACKED: see as much as possible; RELAXED: take it slowly; SETTLED: one place."
    },
    "budget": {
      "type": "object",
      "required": [
        "amount",
        "currency"
      ],
      "properties": {
        "amount": {
          "type": "number",
          "description": "Total for everyone, home to home, in the currency's main unit (9000 = 9,000 dollars)."
        },
        "currency": {
          "enum": [
            "AUD",
            "CAD",
            "EUR",
            "GBP",
            "JPY",
            "KHR",
            "SGD",
            "THB",
            "USD"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "dining": {
      "enum": [
        "STREET_FOOD_MARKET",
        "BALANCED",
        "MOSTLY_BISTROS",
        "SELF_CATERING"
      ],
      "type": "string"
    },
    "origin": {
      "type": "object",
      "required": [
        "place",
        "country"
      ],
      "properties": {
        "place": {
          "type": "string",
          "description": "Home town, e.g. 'Adelaide'."
        },
        "country": {
          "type": "string",
          "description": "Two-letter country code of the home town, e.g. 'AU'."
        }
      },
      "additionalProperties": false
    },
    "interests": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "description": "Finer interests in words, e.g. 'street art', 'hiking'."
    },
    "tripFocus": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 5,
      "description": "Themes such as 'Culture & heritage', 'Food & wine'."
    },
    "departDate": {
      "type": "string",
      "description": "Departure date, YYYY-MM-DD."
    },
    "returnDate": {
      "type": "string",
      "description": "Return date, YYYY-MM-DD, at most 60 nights later."
    },
    "travellers": {
      "type": "object",
      "required": [
        "adults"
      ],
      "properties": {
        "adults": {
          "type": "integer",
          "maximum": 6,
          "minimum": 1
        },
        "passport": {
          "type": "string",
          "description": "Two-letter passport country, for visa rules. The home country when not given."
        },
        "childrenAges": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 17,
            "minimum": 0
          },
          "description": "Each child's age on departure."
        }
      },
      "description": "At most 6 travellers in all.",
      "additionalProperties": false
    },
    "destination": {
      "anyOf": [
        {
          "enum": [
            "surprise"
          ],
          "type": "string"
        },
        {
          "type": "object",
          "required": [
            "places"
          ],
          "properties": {
            "places": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "country"
                ],
                "properties": {
                  "towns": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Towns to include; empty lets Trip720 choose within the country."
                  },
                  "country": {
                    "type": "string",
                    "description": "Two-letter country code."
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 5,
              "minItems": 1
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "'surprise' to let Trip720 choose, or up to 5 places."
    }
  },
  "additionalProperties": false
}
plan_trip annotations
{
  "title": "Plan a whole trip with Trip720",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_trip — Read a Trip720 trip
Advertised by the server during the last successful anonymous check.
Advertised read-only

Reads a trip already planned on Trip720, by its trip id: its status and, when ready, its options with every labelled price and booking link. Read only; trips are kept 30 days.

get_trip input schema
{
  "type": "object",
  "required": [
    "tripId"
  ],
  "properties": {
    "tripId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_trip annotations
{
  "title": "Read a Trip720 trip",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_day_plan — Day-by-day plan of a Trip720 option
Advertised by the server during the last successful anonymous check.
Advertised read-only

The day-by-day plan of one option of a trip already planned on Trip720 (the recommended option unless optionId is given): times, places and prices for each day. Read only; times marked typical are not from a timetable.

get_day_plan input schema
{
  "type": "object",
  "required": [
    "tripId"
  ],
  "properties": {
    "tripId": {
      "type": "string"
    },
    "optionId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_day_plan annotations
{
  "title": "Day-by-day plan of a Trip720 option",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
trip_alternatives — Other choices for one item of a Trip720 trip
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

For one line of an option in a trip already planned on Trip720 (a stay, a flight, a transfer, an activity), the other choices the providers offer, numbered, each with its price and what it does to the whole trip's Safe Trip Total and budget. Line ids and option ids come from plan_trip or get_trip. Read only; searches the providers again.

trip_alternatives input schema
{
  "type": "object",
  "required": [
    "tripId",
    "optionId",
    "lineId"
  ],
  "properties": {
    "lineId": {
      "type": "string",
      "description": "The line's id, e.g. 'N-STAY-1'."
    },
    "tripId": {
      "type": "string"
    },
    "optionId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
trip_alternatives annotations
{
  "title": "Other choices for one item of a Trip720 trip",
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
swap_trip_item — Swap one item of a Trip720 trip
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

Replaces one line of an option with one of the numbered choices from trip_alternatives, and re-prices the whole trip as the website does. Returns the updated option and its Safe Trip Total before and after. Side effect: the trip saved on Trip720 changes; the previous choice can be chosen again the same way. Nothing is booked or paid.

swap_trip_item input schema
{
  "type": "object",
  "required": [
    "tripId",
    "optionId",
    "lineId",
    "choice"
  ],
  "properties": {
    "choice": {
      "type": "integer",
      "maximum": 10,
      "minimum": 1,
      "description": "The number of the choice from trip_alternatives."
    },
    "lineId": {
      "type": "string"
    },
    "tripId": {
      "type": "string"
    },
    "optionId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
swap_trip_item annotations
{
  "title": "Swap one item of a Trip720 trip",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
destination_facts — What a place really costs, from Trip720
Advertised by the server during the last successful anonymous check.
Advertised read-only

Trip720's checked facts for one destination, for travellers from Australia or the UK: what a day costs a person for food and getting around (street food, balanced, mostly restaurants), local transport and taxi prices, tourist tax, the most pleasant months, the visa for that home country, the sights not to miss with tips, and the total of a sample priced trip. Each figure comes from Trip720's research with its sources, in AUD or GBP. Read only; no booking or search is made. Places not covered say so and list the covered places in that country.

destination_facts input schema
{
  "type": "object",
  "required": [
    "place"
  ],
  "properties": {
    "place": {
      "type": "string",
      "description": "A town, island or country, e.g. 'Kyoto', 'Bali', 'Japan'."
    },
    "homeCountry": {
      "enum": [
        "AU",
        "GB"
      ],
      "type": "string",
      "description": "Where the traveller lives: AU (Australia) or GB (the UK). AU when not given."
    }
  },
  "additionalProperties": false
}
destination_facts annotations
{
  "title": "What a place really costs, from Trip720",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
check_entry_requirements — Visa and entry rules, from Trip720
Advertised by the server during the last successful anonymous check.
Advertised read-only

Whether travellers need a visa or an electronic authorisation for a holiday, for each passport and each destination country: the rule's name, the minimum processing days and its source (official government pages where available). Read only.

check_entry_requirements input schema
{
  "type": "object",
  "required": [
    "passports",
    "countries"
  ],
  "properties": {
    "countries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 6,
      "minItems": 1,
      "description": "Two-letter destination countries, e.g. ['JP', 'VN']."
    },
    "passports": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 6,
      "minItems": 1,
      "description": "Two-letter passport countries, e.g. ['AU']."
    }
  },
  "additionalProperties": false
}
check_entry_requirements annotations
{
  "title": "Visa and entry rules, from Trip720",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
best_time_to_visit — Best time to visit a country, from Trip720
Advertised by the server during the last successful anonymous check.
Advertised read-only

When to go to a country, month by month: the best months overall, each covered place's most pleasant months, and the busy holiday weeks to plan around. From climate data (NASA POWER) and Trip720's research. Read only.

best_time_to_visit input schema
{
  "type": "object",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "type": "string",
      "description": "A country name or two-letter code, e.g. 'Japan' or 'JP'."
    }
  },
  "additionalProperties": false
}
best_time_to_visit annotations
{
  "title": "Best time to visit a country, from Trip720",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1763 ms
95th percentile latency
1763 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1763 ms · metadata changed · 8 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http trip720-mcp https://trip720.travel/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add trip720-mcp --url https://trip720.travel/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable trip720-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "trip720-mcp": {
      "url": "https://trip720.travel/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "trip720-mcp": {
      "type": "streamableHttp",
      "url": "https://trip720.travel/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start trip720-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "trip720-mcp": {
      "type": "http",
      "url": "https://trip720.travel/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http trip720-mcp https://trip720.travel/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://trip720.travel/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "trip720-mcp": {
      "serverUrl": "https://trip720.travel/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Trip720 MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Trip720 MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing