mcpField
A
API & MCP Server Skeleton (ElysiaJS + Bun)

API & MCP Server Skeleton (ElysiaJS + Bun)

ローカル
github.com/luridarmawan開発ツール275 週間前に更新

API & MCP Server Skeleton (ElysiaJS + Bun) について

ElysiaJSとBunを使ったこのスケルトンは、REST、WebSocket、MCPに対応するAPIサーバーの出発点です。MCPプラグインレジストリとディスカバリーエンドポイントを備え、開発時のホットリロードにも対応します。

主な機能

  1. 01BunベースのREST APIサーバー
  2. 02WebSocketイベント処理
  3. 03MCPプラグインレジストリ
  4. 04MCPディスカバリーエンドポイント
  5. 05開発時のホットリロード

活用シーン

  1. 01RESTとMCPに対応するAPIの構築
  2. 02WebSocketによるリアルタイムイベント処理

MCP 対応

MCPの基本サポート、プラグインレジストリ、`/.well-known/mcp.json`のディスカバリーエンドポイントを含みます。ドキュメント上のMCPベースURLは`/mcp`です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

API & MCP Server Skeleton (ElysiaJS + Bun)

bun elysia mcp websocket license

(ドキュメントはまだ完成していません。)

📑 目次

Bun ランタイムを使用する ElysiaJS 製の軽量かつ高性能な API サーバーです。Model Context Protocol(MCP)と WebSocket に対応しています。

🚀 機能

  • Bun ランタイムを利用した REST API サーバー。
  • WebSocket イベント処理(リアルタイム通信)。
  • Model Context Protocol(MCP)の基本サポート:
    • MCP プラグインレジストリ
    • MCP ディスカバリーエンドポイント(/.well-known/mcp.json)
  • 開発中のホットリロード。
  • スケーラブルなデプロイに対応。
  • イベントの例:礼拝時間、イベント登録。

📋 必要条件

  • Bun ランタイム(v1.0 以降):Bun のインストール
  • Node.js(任意。wscat などのツールのインストールに使用)
  • WebSocket クライアント(Postman、wscat など)

🛠️ はじめに

このプロジェクトをクローンし、依存関係をインストールします:

git clone https://github.com/luridarmawan/mcp-api-server.git
cd mcp-api-server
bun install

開発サーバーを起動します:

bun run dev

ブラウザーで http://localhost:3000 を開きます。

🧠 Model Context Protocol (MCP)

MCP は、AI エージェントやアプリケーションとのコンテキストを認識したやり取りを可能にするために設計された、軽量な通信プロトコルです。

WebSocket を介した基本的な MCP のやり取りの例:

{
  "event": "prayer:schedule",
  "data": {
    "city": "Jakarta"
  }
}

詳細については、MCP と API の解説をご覧ください。

🔌 WebSocket の使用方法

WebSocket を介してサーバーとやり取りできます:

  1. 必要に応じて wscat をインストールします:
npm install -g wscat
  1. WebSocket サーバーに接続します:
wscat -c ws://localhost:3000
  1. 送信できるイベントの例:
イベントペイロードの例説明
prayer:schedule"Jakarta"都市の礼拝時間を取得します
registration:new{ "name": "Alice", "phone": "081122334455", "email": "[email protected]" }新しいユーザーを登録します
# Install wscat (jika belum ada)
npm install -g wscat

# Connect ke socket server
wscat -c ws://localhost:3000

# Setelah terhubung, kirim event:
>> {"event":"prayer:schedule","data":{"city":"Jakarta"}}
>> {"event":"registration:new","data":{"name":"Alice","phone":"081122334455","email":"[email protected]"}}

📁 プロジェクト構成

.
├── constants.ts
├── index.test.ts
├── index.ts
├── modules
│   ├── mcp
│   │   ├── index.ts
│   │   └── types.ts
│   ├── prayer
│   │   ├── index.ts
│   │   └── types.ts
│   └── registration
│       ├── index.ts
│       └── types.ts
├── services
│   └── prayerService.ts
├── sockets
│   └── index.ts
└── utils
    └── http.ts

🚀 デプロイ

本番環境向けにビルドして実行します:

bun run build
bun start

Vercel、Railway、Fly.io などのプラットフォームや、Bun に対応した任意の環境にデプロイできます。

📄 ライセンス

このプロジェクトは Apache 2.0 License のもとでライセンスされています。

📚 参考資料

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。