swapi-mcp について
swapi-mcpは、MCP対応クライアントからStar Wars API(SWAPI)の一部データにアクセスするTypeScript製MCPサーバーです。データカテゴリの一覧表示とキャラクター情報の取得ツールを提供します。
主な機能
- 01SWAPIから選択したデータを取得
- 02Star Warsのデータカテゴリを一覧表示
- 03キャラクター情報を取得
- 04Zodによるツールスキーマ検証
活用シーン
- 01Star Warsキャラクターの詳細確認
- 02利用可能なSWAPIカテゴリの確認
MCP 対応
stdio経由で、SWAPIのデータをMCP対応クライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
SWAPI MCP
Star Wars API のデータを MCP ツールとして公開する、TypeScript ベースの Model Context Protocol(MCP)サーバーです。
このプロジェクトは Star Wars API(SWAPI)に接続し、選択した Star Wars の情報を stdio トランスポートを使用して、 MCP 対応クライアントから利用できるようにします。
機能
- TypeScript で構築された MCP サーバー
- stdio ベースの MCP トランスポート
- SWAPI から Star Wars のデータを取得
- Zod によるツールスキーマの検証
- Vitest のテスト環境を含む
- カバレッジレポートに対応
技術スタック
- TypeScript
- Node.js
- Model Context Protocol SDK
- Zod
- Vitest
- tsx
プロジェクト構成
text swapi-mcp/ ├── src/ # ソースコード ├── tests/ # テストファイルとモックデータ │ ├── api/ │ └── mock_data/ ├── package.json ├── package-lock.json ├── tsconfig.json └── vitest.config.js
要件
- Node.js 20 以降
- npm
MCP 関連の依存関係の一部には Node.js 20 以降が必要なため、最新の LTS バージョンの使用をおすすめします。
インストール
npm install
リポジトリをクローンして、依存関係をインストールします。
利用可能なスクリプト
開発サーバーを起動する
npm run start
tsx を使用して、TypeScript から MCP サーバーを直接実行します。
プロジェクトをビルドする
npm run build
TypeScript コンパイラーを使用して、TypeScript を JavaScript にコンパイルします。
テストを実行する
npm run test
起動すると、サーバーは stdio で接続し、MCP 対応クライアントから利用できます。
利用可能なツール
get-list-of-star-wars-information
次のような、SWAPI で利用可能な Star Wars 情報のカテゴリをカンマ区切りのリストで返します。
- people
- planets
- films
- species
- vehicles
- starships
get-information-of-star-wars-characters
プロジェクトのキャラクターツールが公開する Star Wars キャラクターの情報を返します。
MCP クライアントの設定例
MCP 対応クライアントを設定して、このサーバーを npm で実行できます。
{ "mcpServers": { "swapi-mcp": { "command": "npm", "args": ["start"] } } }
クライアントで絶対パスの作業ディレクトリが必要な場合は、次のように設定します。
{ "mcpServers": { "swapi-mcp": { "command": "npm", "args": ["start"], "cwd": "/absolute/path/to/swapi-mcp" } } }
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。