mcpField
M
MCP Server for Bun and Elysia

MCP Server for Bun and Elysia

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

MCP Server for Bun and Elysia について

Bun と Elysia Web フレームワークで実装された MCP サーバーで、SSE トランスポートによりリソース、ツール、プロンプトを LLM に公開します。Bun ランタイム上で TypeScript を使って MCP サーバーを構築したい開発者向けです。

主な機能

  1. 01Bun と Elysia 向けの SSE トランスポート
  2. 02リソース、ツール、プロンプトに対応
  3. 03Bun JavaScript ランタイムで動作
  4. 04TypeScript 型定義を同梱
  5. 05開発時のホットリロードと本番向けビルド

活用シーン

  1. 01Bun と Elysia で MCP サーバーを構築する
  2. 02MCP Inspector で SSE 接続のサーバーをデバッグする

MCP 対応

本プロジェクトは MCP サーバーであり、SSE トランスポート経由でリソース、ツール、プロンプトを MCP クライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Bun と Elysia 用 MCP サーバー

Bun と Elysia Web フレームワークを使用した Model Context Protocol(MCP)サーバーの実装です。このプロジェクトでは、標準化されたインターフェースを通じて LLM にリソース、ツール、プロンプトを公開する、高性能な MCP サーバーを作成できます。

特長

  • Bun と Elysia 用の Server-Sent Events(SSE)トランスポート実装
  • リソース、ツール、プロンプトを含む MCP プロトコルを完全サポート
  • Bun の JavaScript ランタイムによる高いパフォーマンス
  • 適切な型定義による TypeScript のサポート
  • MCP 互換サーバーを作成するための使いやすい API

前提条件

  • お使いのシステムに Bun がインストールされていること
  • TypeScript と Elysia の基本的な知識

インストール

# Clone the repository
git clone <your-repo-url>
cd mcp-server

# Install dependencies
bun install

使用方法

サーバーの起動
# Start the server
bun start

# Start with hot reloading for development
bun dev
本番環境向けのビルド
# Build for production
bun run build

これにより、dist ディレクトリに minify された Node.js 互換ビルドが作成されます。

開発

プロジェクト構成
  • src/index.ts - サーバーのメインエントリーポイント
  • src/SSEElysiaTransport.ts - Bun と Elysia 用の SSE トランスポート実装
MCP サーバーの作成
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
import { SSEElysiaTransport } from "./SSEElysiaTransport";
import { Elysia } from "elysia";

// Create MCP server
const server = new McpServer({
  name: "my-mcp-server",
  version: "1.0.0"
});

// Add resources, tools, and prompts
server.resource(
  "example",
  "example://resource",
  async (uri) => ({
    contents: [{
      uri: uri.href,
      text: "Example resource content"
    }]
  })
);

// Create Elysia app
const app = new Elysia()
  .get("/", () => "MCP Server")
  .get("/sse", async (context) => {
    try {
      // Create transport
      const transport = new SSEElysiaTransport("/messages", context);
      
      // Store transport
      const sessionId = transport.sessionId;
      // ... store transport in a map
      
      // Connect to MCP server
      await server.connect(transport);
      
      return;
    } catch (error) {
      // Handle error
    }
  })
  .post("/messages", async (context) => {
    // Handle incoming messages
  });

// Start server
app.listen(3001, () => {
  console.log("MCP Server running at http://localhost:3001");
});

デバッグ

MCP Inspector ツールを使用して MCP サーバーをデバッグし、SSE 経由で接続できます。

npx @modelcontextprotocol/inspector

Web インターフェースが開き、次の操作を行えます。

  • 利用可能なリソース、ツール、プロンプトを一覧表示する
  • ツールの呼び出しやリソースの取得をテストする
  • クライアントとサーバー間の通信を確認する

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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