Killbottleneck
Free-to-self-host goal and process maps for humans and AI agents, with REST API and MCP.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Book real travel from your agent — flights, hotels & activities behind a price-gated checkout.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
VOYAGIER_TOKEN, VOYAGIER_API_URLค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"cli": {
"command": "npx",
"args": [
"-y",
"@voyagier/cli",
"mcp"
],
"env": {
"VOYAGIER_TOKEN": "ใส่ค่าของคุณ",
"VOYAGIER_API_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add cli --env VOYAGIER_TOKEN='ใส่ค่าของคุณ' --env VOYAGIER_API_URL='ใส่ค่าของคุณ' -- npx -y @voyagier/cli mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"cli": {
"command": "npx",
"args": [
"-y",
"@voyagier/cli",
"mcp"
],
"env": {
"VOYAGIER_TOKEN": "ใส่ค่าของคุณ",
"VOYAGIER_API_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@voyagier/cli",
"mcp"
],
"env": {
"VOYAGIER_TOKEN": "ใส่ค่าของคุณ",
"VOYAGIER_API_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
VOYAGIER_API_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน voyagier.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: VOYAGIER_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.14.0) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Killbottleneck, topo^alpin, Agent Data Tools: Everyday data
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Free-to-self-host goal and process maps for humans and AI agents, with REST API and MCP.
Avalanche bulletins, mountain weather, stations, huts, ski and snowshoe tours in the Alps.
25 tools: weather, time zones, sun and moon, earthquakes, countries. 25 free calls.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Plan, price and book real trips from your terminal. Everything syncs to voyagier.com.
The CLI is a shell for the Voyagier MCP server: one command per tool. Every trip-planning command is one MCP tool — voyagier -- — built at runtime from the server's tool list at https://mcp.voyagier.com/api/mcp. The same tools power claude.ai, Claude Desktop and every other MCP client, so there is one implementation of every verb and a tool published on the server shows up in your terminal without an upgrade. For hosts that only speak stdio, voyagier mcp is a proxy for the same server.
npm install -g voyagier # or the canonical package: @voyagier/cli
voyagier auth login # browser flow; keeps the token out of shell history voyagier doctor # credentials, MCP connection, tool count, version voyagier mcp install claude-code # point an MCP client at the hosted server (also: cursor, claude-desktop) voyagier update # later: bring a global install to the latest release
voyagier is a convenience alias that tracks the latest compatible @voyagier/cli release. Pinning an exact version? Use the canonical package: npm install -g @voyagier/cli@ .
No install permissions (sandboxed agent, CI)? Every command works zero-install via npx:
VOYAGIER_TOKEN=<your-token> npx @voyagier/cli doctor --json
A trip plan is a goal graph: the plan ships with goals (flights, hotel, dates, destination, travellers) and you compose the trip by exploring inventory, promoting a search onto a goal, and selecting options. Searches are asynchronous — poll until the status is terminal.
# 1) Find or create the client
voyagier list_clients --query "Doe" --json voyagier create_client --name "Doe Family" --client_type Individual --email "doe@example.com" --json
voyagier search_destinations --query "Lisbon" --json voyagier create_plan --client_id --title "Doe — Lisbon" \ --travel_destination_id --start_date 2026-11-20 --end_date 2026-11-27 \ --travellers '[{"first_name":"Jane","last_name":"Doe","type":"Adult"}]' --json
voyagier search_flights --from BWI --to LIS --date 2026-11-20 --return 2026-11-27 voyagier get_search_status --search_id voyagier promote_search --plan_id --search_id --goal_id --json
voyagier get_options --selection_id voyagier select_option --option_id --json
voyagier get_plan_status --plan_id voyagier get_plan_quote --plan_id voyagier book_plan --plan_id --expect_total_cents --item_ids --json
voyagier search_tools --query "hotel dates" --json voyagier get_tool_details --name set_hotel_dates --json
voyagier --help prints the server's description of the tool and one flag per input, with types and required-ness.
plan_id is --plan_id; required inputs are required flags. Strings, integers, numbers, booleans (--force / --force false), enums (allowed values in --help), arrays (--item_ids a b, or repeat the flag) and JSON literals for objects (--travellers '[…]'; --help lists the object's keys, required ones starred, with their types and descriptions). Flags whose schema allows null (marked (pass null to clear) in --help) also take the literal null, sent as JSON null: voyagier update_plan --plan_id --cover_media_id null clears the cover photo. Every repeatable array flag has a --no- companion that sends the empty list [] — the server's own "pass an empty list to clear" where a tool defines it: voyagier get_search_status --search_id --no-airlines reads the stored search with its airline filter cleared. Property or item schemas written as a local $ref into the tool's own schema are resolved before the flag is typed, so they behave like their target.--json prints the tool's result as JSON: the payload object itself, with no wrapper key. Without it, get_plan_status, search_flights / search_hotels / search_activities / get_search_status / promote_search, get_options, get_plan_itinerary and get_plan_quote render a compact human view; every other tool (including search_destinations, search_tools and refresh_options) pretty-prints the JSON.{ "error": true, "code", "message", "details"? }, exit 1. AUTH_FAILED, PERMISSION_DENIED, RATE_LIMITED (with details.retryAfterSeconds), VALIDATION, NOT_FOUND (unknown command or tool), API_ERROR (the tool's own error text), NETWORK, COMMAND_REMOVED, STATE_CORRUPT (mcp install found an unreadable client config). The table with recovery steps is in AGENT.md.~/.voyagier/tools-cache.json for one hour; the next tool command after that refreshes it, and so do voyagier doctor and running a tool name the cache does not know yet (voyagier --help alone prints the cached list without a fetch). doctor and --verbose report a stable hash of the tool surface (names + input schemas) so scripts can detect a contract change.--json stdout carries exactly one JSON document (diagnostics, spinners and warnings go to stderr); stable exit codes (0 / 1 handled / 2 unexpected); absolute timestamps in rendered output.| Command | Description |
|---|---|
voyagier | One command per MCP tool, for example list_plans, search_destinations, create_plan, search_flights, promote_search, get_options, select_option, get_plan_status, get_plan_quote, book_plan. voyagier --help lists the server's current set; search_tools and get_tool_details find and describe tools from inside the CLI |
voyagier doctor | Self-check: credentials, MCP server connection + tool list, identity, version |
voyagier update | Update a global npm install to the latest release (alias upgrade; --check reports without installing, --json for scripts) |
voyagier auth | Manage the Personal Access Token (login, set-token, status, logout). status reads your identity, roles and home base from the server's whoami tool; traveller details (passport, frequent-flyer, hotel loyalty) are managed on your web profile or with the update_traveller / add_traveller_document tools (auth setup prints the pointer) |
voyagier mcp install | Point an MCP client (Claude Code, Cursor, Claude Desktop) at the Voyagier MCP server |
voyagier mcp | Run a stdio MCP server that proxies the hosted Voyagier MCP server |
voyagier agent-docs | Print the server's agent guidance, then the CLI usage notes (AGENT.md) |
voyagier telemetry | Anonymous usage telemetry (status, on, off) |
Every 3.x trip-planning command (plan-trip, search flights, select, plans …, clients …, …) is replaced by a tool. Running one prints the replacement and exits 1; the full table is in the CHANGELOG.
voyagier agent-docs # the MCP server's guidance, then the CLI usage notes (AGENT.md)
npx @voyagier/cli agent-docs # zero-install variant
The first part is the server's own instructions (the trip-planning guidance: tool order, how searches complete, how booking is gated), the same text every MCP client receives. The second part is AGENT.md: the tool model, flag typing, JSON shapes, the error code table and the 3.x migration.
Voyagier runs a hosted MCP server at https://mcp.voyagier.com/api/mcp. It is the recommended way for AI agents and assistants to use Voyagier: the client connects over HTTP with your Personal Access Token and gets the whole tool surface, with no local install to manage. The CLI itself is the same surface for command-line workflows, scripting and CI.
voyagier mcp install sets this up in one step:
voyagier mcp install claude-code # writes ./.mcp.json (--global writes ~/.claude.json)
voyagier mcp install cursor # writes ~/.cursor/mcp.json (--project writes ./.cursor/mcp.json) voyagier mcp install claude-desktop # writes claude_desktop_config.json
It uses your saved token (voyagier login), merges a voyagier entry into the client's existing config, and leaves every other server in that file untouched. Pass --dry-run to see the resolved path and the exact entry before anything is written, or --token to install a specific token. The token is masked in all output and is only ever written into the config file. Restart the client afterwards to pick up the change.
Claude Desktop's config format describes stdio servers only, so that client is pointed at the CLI's local server (voyagier mcp) instead. Voyagier can also be added through the remote connectors section of the app settings, which uses the hosted endpoint directly.
For hosts that only speak stdio, the CLI ships an MCP stdio server that is a proxy for the hosted server:
voyagier mcp # stdio proxy (JSON-RPC on stdout)
It has no tool table of its own. tools/list and tools/call are forwarded to https://mcp.voyagier.com/api/mcp (or VOYAGIER_MCP_URL) with the token from VOYAGIER_TOKEN or the saved credentials, and the results are returned exactly as the server sent them, so the proxy always exposes the server's current tools. The server's instructions are passed through on initialize. When the server cannot be reached, the proxy still completes the local handshake and explains the problem in instructions; each request then returns a JSON-RPC error that names the fix (set VOYAGIER_TOKEN on 401, wait Retry-After on 429) and retries the server, so fixing the environment needs no restart. Prefer the hosted endpoint directly wherever your client supports remote MCP servers.
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "voyagier": { "command": "npx", "args": ["-y", "@voyagier/cli", "mcp"], "env": { "VOYAGIER_TOKEN": "voy_pat_xxxxx" } } } }
| Variable | Description |
|---|---|
VOYAGIER_TOKEN | Personal access token (overrides the saved one) |
VOYAGIER_MCP_URL | MCP endpoint every tool command, the stdio proxy and the extension call (default: https://mcp.voyagier.com/api/mcp). Must be https://; plain http:// is accepted only for localhost / 127.0.0.1 / ::1 during local development |
| VOYAGIER_CONFIG_DIR | Directory for t
ตัดมาแค่ช่วงต้น อ่านต่อใน repo