Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Flight data for Spain's 50 AENA airports over the public and OAuth2 REST APIs
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
AENA_CLIENT_SECRET, AENA_CLIENT_ID, AENA_TENANT_ID「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"aena": {
"command": "npx",
"args": [
"-y",
"mcp-aena"
],
"env": {
"AENA_CLIENT_SECRET": "your-value",
"AENA_CLIENT_ID": "your-value",
"AENA_TENANT_ID": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add aena --env AENA_CLIENT_SECRET=your-value --env AENA_CLIENT_ID=your-value --env AENA_TENANT_ID=your-value -- npx -y mcp-aena動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"aena": {
"command": "npx",
"args": [
"-y",
"mcp-aena"
],
"env": {
"AENA_CLIENT_SECRET": "your-value",
"AENA_CLIENT_ID": "your-value",
"AENA_TENANT_ID": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"aena": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-aena"
],
"env": {
"AENA_CLIENT_SECRET": "your-value",
"AENA_CLIENT_ID": "your-value",
"AENA_TENANT_ID": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
AENA_CLIENT_ID envAENA_TENANT_ID envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント MrGo2 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:AENA_CLIENT_SECRET
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.3)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Español: [README.es.md](README.es.md)
Live flight data for the 50 Spanish airports run by AENA, as an MCP server. Ask Claude things like *"what departures leave Santiago this afternoon?"* or *"is IB0459 delayed?"* and it answers from real airport data: times, gates, terminals, aircraft, status and codeshares.
It puts both of AENA's flight APIs behind one clean set of tools, so an agent asks for flights and gets back the same flight shape no matter which API answered.
The server runs publicly at https://aena-mcp.carlos-ls.workers.dev/mcp. Add it to Claude with one click:
[➕ Add to Claude](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=AENA%20Flights&connectorUrl=https%3A%2F%2Faena-mcp.carlos-ls.workers.dev%2Fmcp)
That link opens claude.ai with the connector prefilled; just confirm. Works on every plan, Free included, and once added it is available in the Claude apps too, phone included. No account, no API key, nothing to configure.
Prefer to add it by hand? Claude → Settings → Connectors → Add custom connector, name it AENA Flights and paste the URL above.
ChatGPT has no one-click install link, but the same server works there (Plus, Pro and Business plans, web only):
https://aena-mcp.carlos-ls.workers.dev/mcp, authentication: none| How | For whom | Setup |
|---|---|---|
| ☁️ Remote connector (above) | Everyone, iPhone included | One click |
| 📦 Desktop extension | Claude Desktop | Download aena-mcp.mcpb from the latest release, double click |
| 🟩 npm | Claude Code, Cursor, any MCP client | npx mcp-aena |
| 🔧 From source | Developers | See below |
Config for npm-based clients:
{
"mcpServers": { "aena": { "command": "npx", "args": ["-y", "mcp-aena"] } } }
For Claude Code it is one command:
claude mcp add aena -- npx -y mcp-aena
search_flights — arrivals or departures for an airport. Filter by flight number, by date, or by a local-time window (afternoon = fromLocal 12:00, toLocal 20:00). Codeshares of the same physical flight collapse into one entry, and every time in the output is local Madrid time.get_flight — one flight by number at an airport.list_airports — every AENA airport with IATA/ICAO codes, fetched live.AENA exposes two ways to read flights, and each covers a gap the other leaves open.
The server picks the right one for you (source: "auto"), or you can force either. Without a secret it runs in website-only mode and still works. The public remote server has full REST access already configured.
pnpm install
pnpm build # tsc → dist/ pnpm test # unit tests over captured fixtures, no network, no credentials pnpm inspect # drive a live stdio session with the MCP inspector
Copy .env.example to .env. The website API needs nothing. For the REST API set AENA_CLIENT_SECRET; AENA_CLIENT_ID and AENA_TENANT_ID already have working defaults.
The public remote server lives in worker/ (Cloudflare Workers, Streamable HTTP, no auth). To host your own:
cd worker
pnpm install npx wrangler deploy npx wrangler secret put AENA_CLIENT_SECRET # optional, enables the REST source
Parsing lives in pure normalizers (normalizeWebsiteRow, normalizeRestRow) so the mapping is tested without a live call. See CONTRIBUTING.md.
CI runs the tests on Node 20 and 22 plus an MCP inspector smoke. Tagged pushes (v*) publish to npm (OIDC trusted publishing), the MCP Registry, and attach a .mcpb bundle to the GitHub release.
"A" in the REST API but "L" in the website API. The server hides this.airlineIATA field actually carries the ICAO code. The server resolves both.VLG1674), the website by IATA (VY1674).MIT