Skip to main content
Glama

trip1 agent skills and MCP server

A plugin that lets agents book hotels on trip1 through the trip1 MCP server: about 3 million properties in 200+ countries, paid in USDC on Base over x402.

  • Endpoint: https://trip1.com/api/mcp (Streamable HTTP)

  • Auth: none, no account, API key or OAuth

  • Docs: https://trip1.com/agents

  • MCP Registry: com.trip1/mcp

Ships one skill, hotel-booking, which activates when the user wants to find, compare, or book a hotel.

What's in the box

  • .claude-plugin/plugin.json — Claude Code / Claude Desktop plugin manifest

  • .mcp.json — wires the trip1 remote MCP server so the plugin is self-contained

  • plugin.json and mcp.json — the same plugin in the Agent Plugins format, for Cursor and other compatible clients

  • skills/hotel-booking/SKILL.md — the skill that orchestrates the full booking flow

  • server.json — the official MCP Registry entry

  • llms-install.md — install instructions for agents such as Cline that set servers up themselves

Related MCP server: 1Stay Hotel Booking

Install

Claude Code

/plugin marketplace add trivial-corp/agents
/plugin install trip1@trivial-corp/agents

The MCP server and the skill come in together. Restart the session so Claude Code picks up the new MCP connection.

Claude Desktop

Two options.

As a local plugin. Download agents.zip from the latest release, then in Claude Desktop go to Customize → Personal plugins → Upload local plugin and drop the zip in.

As a connector. If you only want the MCP server without the skill, add the connector directly:

{
  "mcpServers": {
    "trip1": {
      "type": "http",
      "url": "https://trip1.com/api/mcp"
    }
  }
}

Cursor, Windsurf, Cline

Add the server to the client's MCP config (~/.cursor/mcp.json for Cursor; MCP Servers → Configure → Remote Servers in Cline):

{
  "mcpServers": {
    "trip1": {
      "type": "streamable-http",
      "url": "https://trip1.com/api/mcp"
    }
  }
}

Cursor also loads this repo as a plugin through plugin.json and mcp.json. Clients that only speak stdio can bridge with npx -y mcp-remote https://trip1.com/api/mcp.

VS Code

code --add-mcp '{"name":"trip1","type":"http","url":"https://trip1.com/api/mcp"}'

Codex CLI, Gemini CLI, any SKILL.md-compatible agent

npx skills add trivial-corp/agents

This installs the skill. Add the MCP server separately via your client's MCP config (same JSON as above).

ChatGPT

Search for trip1 in the ChatGPT apps directory. Or add it as a custom connector in Settings → Connectors → Add, pointing at:

https://trip1.com/api/mcp

The skill doesn't apply here; ChatGPT doesn't load SKILL.md files. The tool descriptions in the MCP server carry enough intent for ChatGPT to drive the flow on its own.

Cowork and other MCP-aware clients

Any client that speaks remote MCP (Streamable HTTP) can add trip1 as a connector. Paste the same mcpServers block above, or the bare URL https://trip1.com/api/mcp if the client accepts URLs directly.

Local development

git clone https://github.com/trivial-corp/agents
cd agents
claude --plugin-dir .

What the skill does

The skill is instructions, not code. It tells the agent:

  • when a hotel-booking intent is present and the skill should activate

  • which trip1 MCP tools to call, in what order, with which arguments

  • how to handle the x402 payment handshake and the CoinGate fallback

  • how to report results and recover from rate drops, payment failures, and polling timeouts

Paying on the agent's behalf

For fully hands-off agent payments, load an x402-capable wallet MCP alongside trip1. The simplest option:

npx @coinbase/payments-mcp

Paying from code with the x402 SDK

@x402/fetch refuses any payment above $1 by default, and a hotel booking always costs more, so raise the cap. Pin the recipient too, so the client only ever pays trip1:

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const TRIP1_PAY_TO = "0x4eD818663D9040461Ee1f6E8f618Df1770dddDc1"; // see https://trip1.com/.well-known/x402.json

const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(process.env.EVM_PRIVATE_KEY)) }],
  spendControls: { maxAmountPerPayment: "$2000" },
  policies: [(_version, reqs) => reqs.filter((r) => r.payTo.toLowerCase() === TRIP1_PAY_TO.toLowerCase())],
});

const response = await fetchWithPayment(paymentUrl); // payment_url from purchase_hotel

Then poll get_order_details until ready is true.

Without a wallet

Call purchase_hotel with payment_service: "coingate". It returns a CoinGate checkout URL that a human finishes in a browser. CoinGate takes 120+ cryptocurrencies, including USDC.

Publishing to the MCP Registry

Bump version in server.json, then run mcp-publisher publish after mcp-publisher login dns --domain trip1.com. The DNS key lives with the trip1 team.

Releasing

Bump version in .claude-plugin/plugin.json and merge to main. The release.yml workflow tags vX.Y.Z, packages agents.zip (full plugin bundle) plus one zip per skill under skills/, and publishes them to a GitHub release.

To cut a release from an existing commit instead, push a tag manually: git tag -a vX.Y.Z -m "..." && git push origin vX.Y.Z. The same workflow handles it.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to search, browse, and book hotels from a database of 2 million properties worldwide. Provides comprehensive hotel search capabilities with location lookup, filtering by amenities, detailed property information, and integrated booking functionality.
    6
    13 npm
    1
    ISC
  • A
    license
    A
    quality
    C
    maintenance
    Hotel booking MCP server — the first transaction-complete hotel booking integration for AI agents. Search 300K+ properties in 140+ countries, get live rates and room details, and generate secure checkout URLs. No payment in the AI conversation — guests complete booking at a hosted checkout page and receive a real hotel confirmation number. Set your own booking fee via Stripe Connect.
    8
    33 npm
    3
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search, compare, and book hotels with real-time pricing and availability, supporting multiple location types, star ratings, and price filters.
    10
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Travala Travel MCP is the first end-to-end agentic AI travel protocol. It lets AI/ MCP clients search live hotel inventory on 2.2M+ properties, compare room packages and complete bookings, with payment settled on-chain in USDC on the Base network via x402 protocol. OAuth-secured; booking & cancellation are identity- & OTP-protected. Developers earn rewards on bookings driven through their agents.
    4
    -