Discover Awesome MCP Servers

Extend your agent with 20,381 capabilities via MCP servers.

All20,381
MCP SSE Sample

MCP SSE Sample

はい、承知いたしました。MCP (Minecraft Coder Pack) サーバーの SSE (Server-Sent Events) 実装のサンプルですね。 MCP は、Minecraft のコードをリバースエンジニアリングするためのツールであり、直接 SSE を実装する機能は提供していません。そのため、通常は Minecraft サーバーの Mod (改造) を作成し、その Mod の中で SSE を実装することになります。 以下に、Mod を使用して Minecraft サーバーに SSE を実装する際の概念的なサンプルコードと、その説明を示します。 **注意:** これはあくまで概念的なサンプルであり、実際の動作には Minecraft Modding API (例: Forge, Fabric) の知識が必要です。また、必要なライブラリのインストールや設定も別途行う必要があります。 **1. Mod の初期設定 (例: Forge)** まず、Forge などの Modding API を使用して Mod の基本的な構造を作成します。 **2. SSE エンドポイントの作成** SSE を提供するエンドポイントを作成します。これは、HTTP リクエストを受け付け、SSE ストリームを返す役割を担います。 ```java // 例: Jetty などの組み込み HTTP サーバーを使用 import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class SSEEndpoint { private Server server; public void start() throws Exception { server = new Server(8080); // ポート番号は任意 ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); context.setContextPath("/"); server.setHandler(context); context.addServlet(new ServletHolder(new SSEServlet()), "/sse"); // /sse がエンドポイント server.start(); } public void stop() throws Exception { server.stop(); } private static class SSEServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/event-stream"); resp.setCharacterEncoding("UTF-8"); resp.setHeader("Cache-Control", "no-cache"); resp.setHeader("Connection", "keep-alive"); PrintWriter writer = resp.getWriter(); // ここで定期的にデータを送信する処理を実装 try { while (!Thread.currentThread().isInterrupted()) { // 例: 現在の時刻を送信 String data = "data: " + System.currentTimeMillis() + "\n\n"; writer.write(data); writer.flush(); Thread.sleep(1000); // 1秒ごとに送信 } } catch (InterruptedException e) { // クライアントが接続を切断した場合など System.out.println("SSE connection closed."); } finally { writer.close(); } } } } ``` **3. Minecraft サーバーからのデータ送信** Minecraft サーバー内で発生したイベント (例: プレイヤーのログイン、ブロックの破壊など) を検知し、SSE エンドポイントにデータを送信します。 ```java // 例: Forge のイベントハンドラーを使用 import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; public class MinecraftEventHandler { private SSEEndpoint sseEndpoint; public MinecraftEventHandler(SSEEndpoint sseEndpoint) { this.sseEndpoint = sseEndpoint; } @SubscribeEvent public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { // プレイヤーのログイン情報を SSE で送信 String playerName = event.player.getName(); String message = "Player " + playerName + " logged in."; // SSE エンドポイントにデータを送信する処理 (例: HTTP POST リクエスト) // ここでは簡略化のため、直接 SSE ストリームに書き込む処理は省略 System.out.println(message); // デバッグ用 // 実際の処理では、SSEEndpoint の SSEServlet にデータを送信する必要がある } } ``` **4. Mod の初期化** Mod の初期化時に、SSE エンドポイントを起動し、イベントハンドラーを登録します。 ```java // 例: Forge の Mod メインクラス import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.common.MinecraftForge; @Mod(modid = "ssemcp", name = "SSE MCP Mod", version = "1.0") public class SSEMod { private SSEEndpoint sseEndpoint; @Mod.EventHandler public void init(FMLInitializationEvent event) { try { sseEndpoint = new SSEEndpoint(); sseEndpoint.start(); // イベントハンドラーの登録 MinecraftForge.EVENT_BUS.register(new MinecraftEventHandler(sseEndpoint)); } catch (Exception e) { e.printStackTrace(); } } @Mod.EventHandler public void deinit(FMLInitializationEvent event) { try { sseEndpoint.stop(); } catch (Exception e) { e.printStackTrace(); } } } ``` **5. クライアント側の実装** クライアント側では、JavaScript などを使用して SSE エンドポイントに接続し、データを受信します。 ```javascript // JavaScript の例 const eventSource = new EventSource("http://localhost:8080/sse"); // エンドポイントの URL eventSource.onmessage = (event) => { console.log("Received data:", event.data); // 受信したデータを処理する }; eventSource.onerror = (error) => { console.error("SSE error:", error); }; ``` **説明:** * **SSEEndpoint:** Jetty などの組み込み HTTP サーバーを使用して、`/sse` というエンドポイントで SSE ストリームを提供します。 * **SSEServlet:** クライアントからの接続を受け付け、`text/event-stream` としてデータを送信します。 * **MinecraftEventHandler:** Minecraft サーバー内で発生したイベントを検知し、SSE エンドポイントにデータを送信します。 * **SSEMod:** Mod のメインクラスで、SSE エンドポイントの起動とイベントハンドラーの登録を行います。 * **JavaScript:** クライアント側で SSE エンドポイントに接続し、データを受信します。 **重要なポイント:** * **Modding API:** Minecraft の Mod を作成するには、Forge や Fabric などの Modding API の知識が必要です。 * **HTTP サーバー:** SSE を提供するには、HTTP サーバーが必要です。上記の例では Jetty を使用していますが、他のサーバーを使用することも可能です。 * **イベント処理:** Minecraft サーバー内で発生したイベントを検知し、SSE エンドポイントにデータを送信する必要があります。 * **スレッド:** SSE ストリームの送信は、メインスレッドをブロックしないように、別のスレッドで行う必要があります。 * **エラー処理:** クライアントが接続を切断した場合など、エラーが発生した場合の処理を適切に行う必要があります。 * **セキュリティ:** SSE エンドポイントへのアクセスを制限するなど、セキュリティ対策を講じる必要があります。 このサンプルコードはあくまで出発点であり、実際の要件に合わせてカスタマイズする必要があります。特に、Minecraft サーバーからのデータ送信部分は、Modding API の詳細な知識が必要になります。 ご不明な点があれば、お気軽にご質問ください。

Nix MCP Servers

Nix MCP Servers

Model Context Protocol (MCP) サーバーを、サポートされている AI アシスタントクライアント全体で構成するための Nix flake

Telegram to X Formatter

Telegram to X Formatter

テレグラムの投稿を、220字以内のX(旧Twitter)向けに調整するMCPサーバー

mcp-server-diff-typescript MCP Server

mcp-server-diff-typescript MCP Server

このサーバーは、2つのテキスト文字列間の統一差分を生成するツールを提供し、テキストの比較と分析を容易にします。

Cline Memory Bank

Cline Memory Bank

Cline の会話間の進捗状況を追跡するメモリシステム。

YouTube MCP Server

YouTube MCP Server

公式のYouTube APIを使用せずに、YouTube動画の検索、トランスクリプトの取得と保存、および動画コンテンツに対するセマンティック検索を可能にする、モデルコンテキストプロトコルサーバー。

MCP Server Test

MCP Server Test

テストサーバーリポジトリ

sherlock-mcp MCP server

sherlock-mcp MCP server

シャーロックドメインズ MCP サーバー:ドメインの購入と管理に

MCP PowerShell Exec Server

MCP PowerShell Exec Server

PowerShellスクリプトを実行するためのMCPサーバー

Caiyun Weather MCP Server

Caiyun Weather MCP Server

unplugin-mcp

unplugin-mcp

あらゆるJavaScriptビルドツールに対応した、統一されたMCP(Model Context Protocol)サーバープラグイン。

Slowtime MCP Server

Slowtime MCP Server

鏡 (Kagami)

Babashka MCP Server

Babashka MCP Server

鏡 (Kagami)

MCP Proxy Sidecar

MCP Proxy Sidecar

WebSocketモニタリング機能を追加した、改造版JetBrains MCPサーバー。オリジナルの実装との互換性を維持しつつ、MCPツールの呼び出しをリアルタイムで監視できます。

Website Downloader MCP Server

Website Downloader MCP Server

ウェブサイト全体をダウンロードするためにwgetを使用するツールを提供します。ウェブサイトの構造を保持し、リンクをローカルで動作するように変換します。

Unity MCP

Unity MCP

UnityプロジェクトでClaudeを連携させましょう。

GitHub MCP Server

GitHub MCP Server

GitHub API を利用するための MCP サーバー

Jira MCP Server for Cursor

Jira MCP Server for Cursor

Cursorエディタから直接Jiraチケットの表示、作成、コメント、更新を可能にする、TypeScriptベースのサーバーです。

Chrome API MCP Server

Chrome API MCP Server

AIアシスタントがChrome DevTools Protocolを介してChromeを直接操作および制御するためのChromeブラウザ制御MCPサーバー

Snowflake Cube Server

Snowflake Cube Server

鏡 (Kagami)

Browser-use MCP Client

Browser-use MCP Client

ブラウザで使用できるMCPクライアント

language-server-mcp MCP Server

language-server-mcp MCP Server

鏡 (Kagami)

Pipedrive MCP Server

Pipedrive MCP Server

Mcpservers_awesome Mcp Servers

Mcpservers_awesome Mcp Servers

鏡 (Kagami)

MCP server for Obsidian

MCP server for Obsidian

ObsidianのLocal REST APIコミュニティプラグインを介してObsidianと連携するMCPサーバー。

Dixa MCP Server

Dixa MCP Server

Unity MCP Template

Unity MCP Template

Unity を MCP 経由で制御するためのシンプルなテンプレートプロジェクト

Searxngmcp

Searxngmcp

AIアシスタントが、プライバシーを尊重するメタ検索エンジンであるSearXNGを使ってウェブ検索を実行できるようにする、Model Context Protocolサーバー。

Hyperliquid MCP Server

Hyperliquid MCP Server

Hyperliquid取引所と統合されたMCPサーバー実装で、ミッドプライス、過去のローソク足、L2オーダーブックなどの暗号資産マーケットデータへのアクセスを提供します。

Jira MCP Server

Jira MCP Server

Jira REST API との連携を自然言語コマンドで実現する Model Context Protocol (MCP) サーバー。ユーザーは Claude Desktop やその他の MCP クライアントを通じて、Jira プロジェクト、課題、コメント、ワークフローを管理できます。