Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Group flight quotes for parties of 10 or more passengers.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://mcp.easygroupflights.com/mcpターミナルでこれを実行します
claude mcp add --transport http easygroupflights https://mcp.easygroupflights.com/mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"easygroupflights": {
"url": "https://mcp.easygroupflights.com/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"easygroupflights": {
"type": "http",
"url": "https://mcp.easygroupflights.com/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://mcp.easygroupflights.com/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名はドメイン easygroupflights.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(2.1.0)がレジストリに届いたのは24 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, FOGA node
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
A Finch OG Agent cell as an MCP server: read the world, dry-run and take ERC-8414 tenders by policy.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol server for easygroupflights.com — IATA-accredited group air travel, with negotiated fares from 500+ airlines.
It lets an AI assistant do what the website does: work out whether a trip is a group booking, gather what an agent needs to price it, and put the enquiry in front of a human — or, for a party too small to be a group, find ordinary bookable fares.
A group fare is negotiated directly with the airline. It is not sold through any public booking engine, so no search API can return a price for one. What this server does instead is submit a complete, structured enquiry and tell the traveller honestly what happens next: a specialist replies by email in about two hours, up to 24 for complex routings.
The dividing line is 10 seated travellers. Lap infants under two don't occupy a seat and don't count.
| Tool | What it does |
|---|---|
egf_get_service_info | How group booking works, what the threshold is, what a quote costs and how long it takes. Submits nothing. |
egf_prepare_group_quote | 10+ travellers. Checks the brief and returns exactly what would be sent, with a confirmation token. Sends nothing. |
egf_request_group_quote | Sends a prepared brief to a group specialist. Takes only the token. Returns a confirmation, not a price. |
egf_search_flights | 9 or fewer. Live fares with carriers and stops, each with an offer_id. |
egf_get_offer | One fare by offer_id: price, flights, a booking link and valid_until. |
The two fare tools are withheld from tools/list unless PELIKAN_MCP_URL is set — an advertised tool that cannot run is worse than one that isn't there.
egf_get_service_info ends with each market's human contacts — website, email, phone and WhatsApp — so an agent can hand a user to a person.
Every tool:
readOnlyHint, destructiveHint, idempotentHint, openWorldHint) explicitly. Only egf_request_group_quote is a write, and nothing is destructive.outputSchema and returns structuredContent alongside the text.The write comes as a pair, because not every client asks the user before a write. The prepare tool returns the summary and a confirmation_token, which is signed with CONFIRM_SECRET and valid for 15 minutes. The write takes only that token, so it cannot send anything the summary did not show.
It accepts an optional idempotency_key. Without one, the token itself is the key, so a prepared write is carried out at most once. Keys are kept for 24 hours, per Cloudflare data centre.
Callers presenting GATEWAY_TOKEN as a bearer token are the Tripdesk gateway:
utm_source=mcp.Every tool call answers within 28 seconds.
egf_search_flights pages with limit (default 10, at most 20) and cursor. Each fare carries one opaque offer_id, valid for 30 minutes. It is all egf_get_offer needs. Search results carry no booking links, and no session or trip ids.
egf_prepare_flight_offer and egf_send_flight_offer (1.x send_flight_offer) are gone. They passed through the fare service's agent-facing offer email, which sent a branded email, with the caller's own text, to any address. The directory review flagged that; egf_get_offer returns the booking link instead.
2.0 renamed the tools with the egf_ prefix and the inputs to snake_case. Most of what worked in 1.x still does:
request_group_quote, …) are still answered, though no longer listed.departureDate, fareId, …) are read as their snake_case names.What the server receives, where it goes and how long it is kept: easygroupflights.com/mcp-privacy/. The controller is pelicantravel.com s.r.o.; privacy questions go to dpo@pelikan.sk.
Guided briefs. In Claude Desktop and claude.ai they are under + → Connectors → Add from Easygroupflights; in Claude Code they are /mcp__easygroupflights__ . Each one walks the user through what the desk needs, plus the questions only that kind of trip raises, and submits only once the user confirms.
| Prompt | For |
|---|---|
school-trip | Schools and universities: pupils and staff separately, ages for supervision ratios, consent forms still coming in |
wedding-guests | Destination weddings: guests from several cities, latest arrival, who pays |
sports-team | Clubs and squads: first-match time, equipment, fixture risk |
company-offsite | Offsites, incentives, conferences: the fixed week, cabin mix, one invoice |
pilgrimage | Parishes and faith groups: how participants pay, accessibility |
Every prompt takes an optional market (en, pl, at) plus whatever is already known: origin, destination, dates, travellers.
Material an agent can quote rather than recall, each served as markdown under its public URL — so a cited resource is already a link a reader can follow.
/mcp-resources.json each site publishes.Both are fetched on demand and cached for an hour, so new content reaches agents without redeploying the server.
claude mcp add --transport http easygroupflights https://mcp.easygroupflights.com/mcp
In Claude Desktop or claude.ai: Settings → Connectors → Add custom connector, and paste https://mcp.easygroupflights.com/mcp.
Or in any other MCP client's config:
{
"mcpServers": { "easygroupflights": { "type": "http", "url": "https://mcp.easygroupflights.com/mcp" } } }
Transport is streamable HTTP. The server is stateless — it issues no session id and needs no Durable Objects, because every tool call is self-contained.
Public values live in wrangler.toml:
| Variable | Meaning |
|---|---|
SITE_URL | Human-facing site, shown in tool output and on the landing page |
GROUP_MIN_PASSENGERS | Party size at which a booking becomes a group. Default 10 |
FARE_CURRENCY | Currency the fare service quotes in. Default EUR |
Three secrets, set with wrangler secret put:
| Secret | Meaning |
|---|---|
AUTOPILOT_URL | Group-enquiry intake. Infrastructure rather than a credential; a secret only because this repo is public |
AUTOPILOT_API_KEY | Sent as X-API-Key to the intake. Without either of these egf_request_group_quote refuses rather than failing silently |
PELIKAN_MCP_URL | Streamable-HTTP endpoint of the Pelikan MCP server, which prices sub-group parties. Optional — its tools stay hidden while unset |
MIT. See LICENSE.
Enquiries are attributed to the bare market domain. Autopilot only processes a source it recognises, so nothing may be appended to it.
npm install
npm run dev # wrangler dev on :8787 npm test # unit tests, no network npm run typecheck npm run deploy # wrangler deploy
Put local secrets in .dev.vars (gitignored). Leaving AUTOPILOT_API_KEY unset is the safe way to exercise egf_request_group_quote end to end: it validates everything and stops at the intake boundary without creating a real lead.
Drive it by hand with:
curl -s localhost:8787/mcp -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
GET / serves a human-readable page, /health a status probe, and /.well-known/mcp.json a manifest for directories.
One site per market; the market decides both which brand handles the enquiry and which domain the lead is attributed to.
market | Site | Language |
|---|---|---|
en | easygroupflights.com | English |
pl | grupoweloty.pl | Polish |
at | gruppenfluege.at | German |