Mcp

com.trip1v1.0.2更新于 Sep 30, 2026

Book hotels over MCP. Pay over x402. 3M+ properties in 200+ countries, USDC on Base.

已验证Streamable HTTP可网页运行Other

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

README

[trip1 logo]

trip1 agent skills and MCP server

[smithery badge]

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

Install

Claude Code

bash
/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:

json
{  "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):

json
{  "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

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

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

bash
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

bash
git clone https://github.com/trivial-corp/agentscd agentsclaude --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:

bash
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:

ts
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.

Links

License

MIT

来源:README.md,提交 62867ab

工具

0
工具元数据尚未被收录。

版本历史

2
  1. v1.0.2最新Sep 29, 2026
  2. v1.0.0Sep 16, 2026