プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Star Wars API & MCP server (swapi.build)

作者:eldermoraesバージョン 2.15.0i★ –iクラウドで動く
レジストリ名build.swapi/star-wars

インストール

概要

作者による説明(英語の原文)

Free Star Wars MCP server (SWAPI): people, films, planets, species, starships, vehicles. No API key.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://swapi.build/mcp

ターミナルでこれを実行します

claude mcp add --transport http star-wars https://swapi.build/mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "star-wars": {
      "url": "https://swapi.build/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "star-wars": {
      "type": "http",
      "url": "https://swapi.build/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://swapi.build/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン swapi.build で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32583件のうち0%よりスターが多い
  • このカテゴリのほかの32583件のうち79%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32583件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Star Wars API & MCP server (swapi.build)は安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(2.15.0)がレジストリに届いたのは9 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, sync. labs

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

sync. labs

作者:synchronicity-labs

Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.

パソコンでもクラウドでも今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

SWAPI.build

A free, open-source Star Wars API serving data about People, Films, Planets, Species, Starships, and Vehicles. Built with Quarkus and GraalVM for instant startup, minimal memory footprint, and out-of-the-box performance.

Inspired by the original SWAPI (created by Paul Hallett, maintained by Juriy Bura), this project was born out of the need for a Star Wars API built to stay up for live demos. If you've ever had a live demo break because a third-party API went down, you know why this exists.

Quick Start

Prerequisites: Java 25 and Maven (or use the included Maven Wrapper).

cd swapi-app

./mvnw quarkus:dev

The API and frontend will be available at http://localhost:5432.

API Endpoints

Base path: /api

ResourceList AllBy IDRandomSearch
PeopleGET /api/peopleGET /api/people/:idGET /api/people/randomGET /api/people?search=name
FilmsGET /api/filmsGET /api/films/:idGET /api/films/randomGET /api/films?search=title
PlanetsGET /api/planetsGET /api/planets/:idGET /api/planets/randomGET /api/planets?search=name
SpeciesGET /api/speciesGET /api/species/:idGET /api/species/randomGET /api/species?search=name
StarshipsGET /api/starshipsGET /api/starships/:idGET /api/starships/randomGET /api/starships?search=name
VehiclesGET /api/vehiclesGET /api/vehicles/:idGET /api/vehicles/randomGET /api/vehicles?search=name

Ids are the record ids from each entity's url field (for films, 1 = A New Hope). Successful responses return 200; unknown or non-numeric ids return 404.

GET /api/stats returns anonymous request counts per route (for example /api/people/{id} or /mcp) and per group (REST API, MCP, pages, SEO, other) for the last 24 hours (?period=24h, per hour), 7 days (default, per day; &granularity=hour for hourly) or 30 days (?period=30d, per day), each with the window before it for comparison, plus server response times per route and per group under performance (requests, mean, min, max, standard deviation and approximate p50/p95/p99 in milliseconds, network excluded). They are counted with no IP address or client details. The /stats page shows the same numbers with filters, a trend chart, a ranking and a Performance section.

All responses are JSON. Example:

curl http://localhost:5432/api/people/1

OpenAPI

The full API contract is served at /openapi.json (OpenAPI 3.x, generated from the code — always in sync). The documentation page renders from it, including a "try it" for every endpoint. Generate a client with, e.g.:

npx @openapitools/openapi-generator-cli generate -i https://swapi.build/openapi.json -g typescript-fetch

MCP Server

swapi.build is also a remote MCP server over Streamable HTTP. Any Streamable HTTP client works: the stateless 2026-07-28 revision sends self-contained requests, and earlier revisions negotiate a session through initialize — both are served on the same endpoint. The legacy HTTP+SSE transport (2024-11-05) is not supported. First-party, read-only, no authentication:

https://swapi.build/mcp

Full setup guides: [swapi.build/docs/mcp](https://swapi.build/docs/mcp)

ToolArgumentsReturns
sw_listresource, optional fieldsAll entities of a resource
sw_getresource, id, optional expandOne entity by id
sw_randomresourceA random entity
sw_searchresource, query, optional fieldsName/title substring match

resource is one of PEOPLE, FILMS, PLANETS, SPECIES, STARSHIPS, VEHICLES. Ids are the record ids from each entity's url field (for FILMS, 1 = A New Hope). expand names relations to embed in the same call (["homeworld", "species"], or ["*"]); fields projects each entity (["name"] gives a compact index; url always stays).

Since 2.13.0 the records are also MCP resources: swapi://people (an index) and swapi://people/1 (the sw_get text), for the six types, plus the templates swapi:// /{id}. The server prompt character_profile takes a character name.

Caching: Quarkiverse MCP Server 2.0.0 emits the required ttlMs: 0 and cacheScope: "public" fields on stateless discovery and tool-list responses. Zero TTL means immediately stale; no positive freshness period is configured. Its cache hints apply to discovery, list methods and resources/read, not `tools/call`. Tool-result caching is not enabled, including for sw_random. REST/edge caching is a separate mechanism.

Claude Code

claude mcp add --transport http swapi-build https://swapi.build/mcp

Or share via .mcp.json at the repo root:

{

"mcpServers": { "swapi-build": { "type": "http", "url": "https://swapi.build/mcp" } } }

Verify: claude mcp list → swapi-build ✔ Connected.

Claude Desktop & claude.ai

Settings → Connectors → Add custom connector → name swapi-build, URL https://swapi.build/mcp. No authentication needed. Verify in any chat via the + menu → Connectors.

OpenAI Codex

codex mcp add swapi-build --url https://swapi.build/mcp

Or in ~/.codex/config.toml (shared by CLI, IDE extension and ChatGPT desktop):

[mcp_servers.swapi-build]

url = "https://swapi.build/mcp"

Verify: codex mcp list.

GitHub Copilot (VS Code)

.vscode/mcp.json (top-level key is servers):

{

"servers": { "swapi-build": { "type": "http", "url": "https://swapi.build/mcp" } } }

Or Command Palette → MCP: Add Server. Verify via the Configure Tools button in Copilot Chat. On Business/Enterprise, the "MCP servers in Copilot" org policy must be enabled.

IBM Bob

~/.bob/settings/mcp_settings.json (global) or .bob/mcp.json (project):

{

"mcpServers": { "swapi-build": { "type": "streamable-http", "url": "https://swapi.build/mcp", "disabled": false } } }

Or Bob panel → MCP tab → Edit Global MCP. Bob detects the tools automatically.

The server scales to zero when idle — if the very first connection attempt fails, retry once

(the native binary starts in tens of milliseconds; the platform may take a bit longer to

provision the container; subsequent calls are fast, whether your client is stateless or

session-based).

WebMCP in the browser (experimental)

The website exposes sw_list, sw_get, sw_search and sw_random through WebMCP. Names and required arguments match the remote MCP tools, including uppercase resource names; the optional expand and fields arguments exist only on the remote server. Each browser tool updates the visible explorer and returns complete records in a JSON result with ok, data, resource and path. The browser result envelope differs from the remote MCP transport.

Use a compatible browser with WebMCP enabled and the document.modelContext API. The setup and demonstration guide explains the inspector, example calls and cancellation behavior. When the API is unavailable, the site works normally. No model API key or AI runtime is embedded in the site. The JavaScript is bundled by Quinoa and runs in the browser, including when served by the Quarkus native executable.

Client examples

  • examples/java/langchain4j-mcp-client — ask questions in natural language; the tools come from the MCP server above, so the example defines none.
  • examples/java/quarkus-rest-client — call the REST API from Java with a typed client.

Project Structure

swapi-app/

src/main/ java/com/eldermoraes/ # Backend (Quarkus + Jakarta REST) film/ # Film model, service, resource people/ # People model, service, resource planet/ # Planet model, service, resource specie/ # Specie model, service, resource starship/ # Starship model, service, resource vehicle/ # Vehicle model, service, resource mcp/ # MCP server tools (sw_list, sw_get, sw_random, sw_search) SWObject.java # Base model class SWService.java # Service interface ApiResource.java # Root /api endpoint ApplicationPath.java # Jakarta REST base path (/api) resources/ data/ # Static JSON data files application.properties # Quarkus configuration webui/ # Frontend (TypeScript + Vite) src/ api.ts # API client with request management main.ts # SPA router pages/ # Page renderers (home, resource, docs, mcp, about, privacy, terms) json-highlight.ts # JSON syntax highlighting for result panels style.css # Site styles types.ts # TypeScript interfaces for API resources constants.ts # Shared resource metadata utils.ts # Shared utilities (escapeHtml) src/test/ java/com/eldermoraes/ # Regression suite (REST contracts, MCP tools, forwarded headers)

Each backend domain (film, people, planet, etc.) follows the same pattern:

  • Model (e.g., Film.java): POJO with @RegisterForReflection for native image support
  • Service (e.g., FilmService.java): loads data from JSON at startup, caches in memory
  • Resource (e.g., FilmResource.java): Jakarta REST controller with @RunOnVirtualThread

Build

cd swapi-app

Development mode (live reload)

./mvnw quarkus:dev

Production JAR

./mvnw package java -jar target/quarkus-app/quarkus-run.jar

Native executable (requires GraalVM or container build)

./mvnw package -Dnative ./mvnw package -Dnative -Dquarkus.native.container-build=true

The frontend is automatically built and bundled by Quinoa during the Maven build. No separate npm step is needed.

Deployment

The app runs as a native (GraalVM/Mandrel) executable on a self-hosted server on Oracle Cloud, managed by systemd behind Caddy (TLS via Let's Encrypt). DNS is managed on Cloudflare (DNS-only records pointing to the server). Publishing a GitHub Release runs .github/workflows/native-binary.yml: test suite, native build attached to the Release, a manual approval, then the install on the server over SSH and the production probes. The runbook is docs/DEPLOY.md.

Tech Stack

  • Runtime: Quarkus 3.33 on Java 25 with Virtual Threads
  • MCP server: Quarkiverse MCP Server — Streamable HTTP, stateless and session-based clients
  • Serialization: Jakarta REST + JSON-B
  • Native image: GraalVM via Mandrel builder
  • Frontend: TypeScript + Vite, served by Quinoa

Contributing

Pull requests are always welcome. Whether it's fixing a bug, improving the docs, or adding new features, jump in and help make the best Star Wars API in the galaxy even better.

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く