Discover Awesome MCP Servers
Extend your agent with 31,319 capabilities via MCP servers.
- All31,319
- Developer Tools3,867
- Search1,714
- Research & Data1,557
- AI Integration Systems229
- Cloud Platforms219
- Data & App Analysis181
- Database Interaction177
- Remote Shell Execution165
- Browser Automation147
- Databases145
- Communication137
- AI Content Generation127
- OS Automation120
- Programming Docs Access109
- Content Fetching108
- Note Taking97
- File Systems96
- Version Control93
- Finance91
- Knowledge & Memory90
- Monitoring79
- Security71
- Image & Video Processing69
- Digital Note Management66
- AI Memory Systems62
- Advanced AI Reasoning59
- Git Management Tools58
- Cloud Storage51
- Entertainment & Media43
- Virtualization42
- Location Services35
- Web Automation & Stealth32
- Media Content Processing32
- Calendar Management26
- Ecommerce & Retail18
- Speech Processing18
- Customer Data Platforms16
- Travel & Transportation14
- Education & Learning Tools13
- Home Automation & IoT13
- Web Search Integration12
- Health & Wellness10
- Customer Support10
- Marketing9
- Games & Gamification8
- Google Cloud Integrations7
- Art & Culture4
- Language Translation3
- Legal & Compliance2
shell-mcp-server
MCPMonkey
MCPMonkeyはMCPサーバーであり、Firefox拡張機能です。これにより、あなたのAIエージェントはあなたのブラウザにアクセスできます。
go-mcp-mysql
MySQLとの連携や自動化のための、設定不要ですぐに使える、負担ゼロのModel Context Protocol (MCP) サーバー。Node.jsやPython環境は不要です。
A-MEM MCP Server
Agentic Memory (A-MEM) システムのためのメモリ制御プロトコル (MCP) サーバー - LLM エージェント向けの柔軟で動的なメモリシステム
mcpServers
鏡 (Kagami)
Remote MCP Server on Cloudflare
Remote MCP Server on Cloudflare
TypeScript MCP with Filesystem Server and Ollama Integration
OllamaとModel Context Protocol (MCP) を統合したTypeScriptの例です。特に、Filesystem MCP Serverを使用しています。このプロジェクトは、ファイルシステムツールを利用できるAIエージェントのためのインタラクティブなコマンドラインインターフェースを提供します。
vite-plugin-vue-mcp
Vueアプリのアプリケーションインサイトを提供します。Model Context Protocolサーバーを通じて、コンポーネントツリー、状態、ルート、およびPiniaデータを公開します。
awesome-solana-mcp-servers
mcp-server-request
MCpi5ServerWhat is MCpi5Server?
マイMCサーバーPi5 (Mai MC Sābā Pi 5)
MCPs for sports
リアルタイムスポーツ向けMCPサーバー
Fillout.io MCP Server
鏡 (Kagami)
MCPXcode
Xcode 用の MCP サーバー
Sshclient
Flutter Inspector MCP Server for AI-Powered Development
Flutterアプリと、Cursor、Claude、ClineのようなAIコーディングアシスタントを接続し、AIによるウィジェットツリー、ナビゲーション、レイアウトの問題の分析を可能にする、モデルコンテキストプロトコルサーバー。
Unsplash MCP Server
Swift で hellokaton/unsplash-mcp-server を実装し、`get_photo` や `random_photo` のような追加機能も実装する。
AOAI Dalle3 MCP Server
MCP Server for Windsurf/Roocode
Windsurfとの統合のための、画像生成およびウェブスクレイピング機能を備えたモデルコンテキストプロトコル(MCP)サーバー。
Mcp Base
最高のMCPサーバーのディレクトリ
Reaper MCP Server
鏡 (Kagami)
options-chain-mcp
オプションチェーン MCP サーバー
dify-mcp-client
MCPクライアントをエージェント戦略プラグインとして使用します。DifyはMCPサーバーではなく、MCPホストです。
GitHub MCP Server with Organization Support
組織サポート付きの GitHub MCP サーバー
metoro-mcp-server
鏡 (Kagami)
MCP server in Python
Okay, here's a breakdown of how you can create a barebones Minecraft Protocol (MCP) server in Python using `uv` (likely meaning `uvloop` for event loop performance) and encapsulate it within a Nix flake. This will cover the key steps and provide a basic example. Keep in mind that a *truly* barebones MCP server is complex due to the protocol itself. This example will focus on the networking and basic structure. **1. Project Structure** First, let's outline the project structure: ``` mcp-server/ ├── flake.nix ├── src/ │ ├── server.py │ └── __init__.py └── flake.lock (Generated by Nix) ``` **2. `flake.nix` (Nix Flake Definition)** This file defines the Nix environment and dependencies for your project. ```nix { description = "Barebones Minecraft Protocol Server in Python with uvloop"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # Or a specific commit }; outputs = { self, nixpkgs }: let pkgs = import nixpkgs { system = builtins.currentSystem; }; in { devShells.default = pkgs.mkShell { buildInputs = [ pkgs.python311Packages.python pkgs.python311Packages.uvloop pkgs.python311Packages.cryptography # Likely needed for encryption pkgs.python311Packages.nbtlib # For handling NBT data (world data) ]; shellHook = '' echo "Entering development environment for MCP server." ''; }; defaultPackage.x86_64-linux = pkgs.stdenv.mkDerivation { name = "mcp-server"; src = ./.; # Current directory buildInputs = [ pkgs.python311Packages.python pkgs.python311Packages.uvloop pkgs.python311Packages.cryptography pkgs.python311Packages.nbtlib ]; buildPhase = '' python3 -m venv .venv source .venv/bin/activate pip install -r <(echo -e "uvloop\ncryptography\nnbtlib") # Install dependencies ''; installPhase = '' mkdir -p $out/bin cp src/server.py $out/bin/server.py chmod +x $out/bin/server.py ''; meta = { description = "A barebones Minecraft Protocol server."; license = pkgs.lib.licenses.mit; # Choose an appropriate license }; }; }; } ``` **Explanation of `flake.nix`:** * **`description`**: A brief description of your project. * **`inputs`**: Specifies the Nixpkgs repository as an input. Using `nixpkgs-unstable` gives you the latest packages, but consider pinning to a specific commit for reproducibility. * **`outputs`**: Defines the outputs of the flake. * **`devShells.default`**: Creates a development shell with the necessary Python packages installed. You can enter this shell by running `nix develop`. * **`defaultPackage.x86_64-linux`**: Builds a package that contains your server. This is what you'd use to deploy your server. * **`src = ./.;`**: Sets the source code to the current directory. * **`buildInputs`**: Specifies the dependencies needed during the build process. * **`buildPhase`**: Creates a virtual environment, activates it, and installs the Python dependencies using `pip`. We use an inline `pip install` because we don't have a `requirements.txt` file. * **`installPhase`**: Copies the `server.py` script to the `$out/bin` directory and makes it executable. `$out` is the output directory where Nix will place the built package. * **`meta`**: Provides metadata about the package. **3. `src/server.py` (The Server Code)** This is the core of your server. This example provides a *very* basic structure. Implementing the full Minecraft protocol is a significant undertaking. ```python import asyncio import uvloop import struct import logging logging.basicConfig(level=logging.DEBUG) async def handle_client(reader, writer): addr = writer.get_extra_info('peername') logging.info(f"Accepted connection from {addr}") try: while True: # Read a single byte (packet ID) try: packet_id_bytes = await reader.readexactly(1) except asyncio.IncompleteReadError: logging.info(f"Client {addr} disconnected.") break packet_id = packet_id_bytes[0] logging.debug(f"Received packet ID: 0x{packet_id:02X}") # Basic example: Assume a simple string payload after the ID # In reality, you'd need to decode based on the packet ID try: length_bytes = await reader.readexactly(4) # Assuming a 4-byte length length = struct.unpack(">i", length_bytes)[0] # Big-endian integer data = await reader.readexactly(length) message = data.decode('utf-8') logging.debug(f"Received message: {message}") # Echo back the message (for testing) response = f"Server received: {message}\n".encode('utf-8') writer.write(response) await writer.drain() except asyncio.IncompleteReadError: logging.info(f"Client {addr} disconnected unexpectedly.") break except Exception as e: logging.error(f"Error processing packet: {e}") break finally: writer.close() await writer.wait_closed() logging.info(f"Closed connection with {addr}") async def main(): uvloop.install() # Use uvloop for the event loop server = await asyncio.start_server( handle_client, '0.0.0.0', 25565) # Standard Minecraft port addr = server.sockets[0].getsockname() logging.info(f'Serving on {addr}') async with server: await server.serve_forever() if __name__ == "__main__": asyncio.run(main()) ``` **Explanation of `src/server.py`:** * **`import asyncio, uvloop, struct, logging`**: Imports necessary modules. `asyncio` for asynchronous programming, `uvloop` for a faster event loop, `struct` for packing/unpacking binary data, and `logging` for debugging. * **`handle_client(reader, writer)`**: This coroutine handles each client connection. * It reads the packet ID (a single byte). * It *attempts* to read a 4-byte length and then the data. **This is a simplification.** The Minecraft protocol is much more complex. You'll need to decode the data based on the `packet_id`. * It echoes back the message (for testing). * It handles disconnections and errors. * **`main()`**: * Installs `uvloop` as the event loop policy. * Starts the server on `0.0.0.0` (all interfaces) and port 25565 (the default Minecraft port). * Uses `server.serve_forever()` to keep the server running. **4. Running the Server** 1. **Enter the development shell:** ```bash nix develop ``` This will create an environment with Python, `uvloop`, `cryptography`, and `nbtlib` installed. 2. **Run the server:** ```bash python src/server.py ``` 3. **Build the package:** ```bash nix build ``` This will create a `result` symlink pointing to the built package. You can then run the server from the package: ```bash ./result/bin/server.py ``` **Important Considerations and Next Steps:** * **Minecraft Protocol Complexity:** This is a *very* basic example. The Minecraft protocol is complex. You'll need to study the protocol documentation (see below) to understand how to properly decode and encode packets. Libraries like `mcstatus` (for pinging) and `python-minecraft-nbt` (for NBT data) can be helpful. * **Packet Handling:** The `handle_client` function needs a *lot* more logic. It needs to: * Read the packet ID. * Based on the packet ID, determine the structure of the packet. * Read the data according to that structure. * Process the data (e.g., handle login, chat messages, movement). * Send appropriate responses. * **Encryption:** Minecraft uses encryption. You'll need to implement encryption/decryption using the `cryptography` library. * **NBT Data:** Minecraft uses NBT (Named Binary Tag) data for storing world information, player data, etc. The `nbtlib` library can help you work with NBT data. * **World Generation:** You'll need to implement world generation. This is a complex topic in itself. * **Error Handling:** Add robust error handling to your server. * **Configuration:** Allow the server to be configured (e.g., port, MOTD, max players). * **Logging:** Improve the logging to provide more information about what's happening on the server. * **Concurrency:** Ensure your server can handle multiple clients concurrently. `asyncio` helps with this, but you need to be careful about shared resources. * **Dependencies:** Consider using a `requirements.txt` file to manage your Python dependencies more explicitly. You can then use `pip install -r requirements.txt` in the `buildPhase` of your `flake.nix`. **Where to Learn More:** * **Minecraft Protocol Documentation:** The official Minecraft protocol documentation is essential: [https://wiki.vg/Protocol](https://wiki.vg/Protocol) * **`uvloop` Documentation:** [https://github.com/MagicStack/uvloop](https://github.com/MagicStack/uvloop) * **`cryptography` Documentation:** [https://cryptography.io/en/latest/](https://cryptography.io/en/latest/) * **`nbtlib` Documentation:** [https://github.com/twoolie/NBT](https://github.com/twoolie/NBT) * **Nix Documentation:** [https://nixos.org/manual/nix/stable/](https://nixos.org/manual/nix/stable/) * **Nix Flakes:** [https://nixos.wiki/wiki/Flakes](https://nixos.wiki/wiki/Flakes) **Example `requirements.txt` (Optional):** ``` uvloop cryptography nbtlib ``` If you use a `requirements.txt` file, update the `buildPhase` in `flake.nix` to: ```nix buildPhase = '' python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ''; ``` **Japanese Translation of Key Concepts:** * **Minecraft Protocol (MCP):** マインクラフトプロトコル * **Nix Flake:** Nixフレーク * **Event Loop:** イベントループ * **Packet:** パケット * **Asynchronous Programming:** 非同期プログラミング * **Virtual Environment:** 仮想環境 * **Dependency:** 依存関係 * **Server:** サーバー * **Client:** クライアント * **Encryption:** 暗号化 * **NBT (Named Binary Tag):** NBT (名前付きバイナリタグ) This comprehensive guide should get you started. Building a full Minecraft server is a challenging project, but this provides a solid foundation with Nix for managing your environment and dependencies. Good luck!
Adaptive MCP Server
simple_mcp_server_with_langgraph
了解しました。以下に、Langgraphを使ったシンプルなMinecraft (MCP) サーバーの構築方法を説明します。 **注意:** * MCP (Minecraft Coder Pack) は、Minecraftのソースコードを逆コンパイルして、MOD開発を支援するツールです。MCP自体はサーバーではありません。 * Langgraphは、大規模言語モデル (LLM) を利用したアプリケーションを構築するためのフレームワークです。Minecraftサーバーの構築に直接使用するものではありません。 * この回答では、Langgraphを使ってMinecraftサーバーの管理や自動化を行うアイデアと、一般的なMinecraftサーバーの構築方法を組み合わせた情報を提供します。 **1. Minecraftサーバーの構築 (基本)** まず、基本的なMinecraftサーバーを構築します。 1. **Javaのインストール:** MinecraftサーバーはJavaで動作します。Java Development Kit (JDK) をインストールしてください。 2. **Minecraftサーバーソフトウェアのダウンロード:** Minecraft公式サイトから、サーバーソフトウェア (`server.jar`) をダウンロードします。 3. **サーバーの起動:** ダウンロードした`server.jar`を同じディレクトリに置き、コマンドプロンプトまたはターミナルで以下のコマンドを実行します。 ```bash java -Xmx1024M -Xms1024M -jar server.jar nogui ``` * `-Xmx1024M` と `-Xms1024M` は、サーバーに割り当てるメモリの量を指定します。必要に応じて調整してください。 * `nogui` は、GUIなしでサーバーを起動するオプションです。 4. **EULAの同意:** サーバーを初めて起動すると、`eula.txt`というファイルが生成されます。このファイルを開き、`eula=false` を `eula=true` に変更して保存します。 5. **サーバーの再起動:** もう一度サーバーを起動します。これで基本的なMinecraftサーバーが起動します。 **2. Langgraphを使ったMinecraftサーバーの管理/自動化 (アイデア)** Langgraphを使って、Minecraftサーバーの管理や自動化を行うアイデアをいくつか紹介します。 * **チャットボットによるサーバー管理:** * Minecraftサーバーのチャットログを監視し、特定のコマンド (例: `/kick player`, `/ban player`) を認識して実行するチャットボットをLanggraphで構築します。 * プレイヤーからの質問に自動で回答するFAQボットを構築します。 * **イベント駆動型自動化:** * サーバーのイベント (例: プレイヤーのログイン/ログアウト、特定のアイテムの作成) をトリガーとして、自動的にタスクを実行するワークフローをLanggraphで構築します。 * 例: 新しいプレイヤーがログインしたら、ウェルカムメッセージを送信する。 * **サーバーログの分析:** * サーバーログをLanggraphで分析し、異常なアクティビティ (例: 大量のアイテムの生成、不正なコマンドの使用) を検知して、管理者に通知します。 **Langgraphの具体的な実装例 (概念)** Langgraphを使ってチャットボットを構築する例を、概念的に示します。 ```python from langgraph.graph import StateGraph, MessageGraph from langchain_core.messages import BaseMessage, HumanMessage, AIMessage from langchain_core.runnables import chain # 状態の定義 (例: チャット履歴) class ChatState: chat_history: list[BaseMessage] # ノードの定義 (例: LLMによる応答生成) def generate_response(state: ChatState): # LLMを使って応答を生成するロジックを実装 # 例: OpenAI APIを使用 from langchain_openai import ChatOpenAI llm = ChatOpenAI() response = llm.invoke(state.chat_history) return {"response": response} # ノードの定義 (例: コマンドの実行) def execute_command(state: ChatState): # チャット履歴からコマンドを抽出し、実行するロジックを実装 # 例: MinecraftサーバーのRCON APIを使用 # (RCONの設定は別途必要) command = extract_command(state.chat_history) # コマンド抽出関数は別途実装 if command: execute_rcon_command(command) # RCON実行関数は別途実装 return {"command_executed": True} else: return {"command_executed": False} # グラフの構築 graph = StateGraph(ChatState) graph.add_node("generate_response", generate_response) graph.add_node("execute_command", execute_command) # エッジの定義 graph.add_edge("generate_response", "execute_command") graph.add_edge("execute_command", "generate_response") # グラフのコンパイル app = graph.compile() # 実行例 initial_state = ChatState(chat_history=[HumanMessage(content="誰かBANして")]) result = app.invoke(initial_state) print(result) ``` **補足:** * 上記のコードはあくまで概念的なものであり、実際に動作させるには、LLMのAPIキーの設定、RCONの設定、コマンド抽出関数、RCON実行関数などの実装が必要です。 * MinecraftサーバーのRCON (Remote Console) を有効にすることで、外部からサーバーを制御できます。 * LangchainやLanggraphのドキュメントを参考に、より高度なワークフローを構築できます。 **まとめ:** Langgraphは、Minecraftサーバーの管理や自動化に活用できる可能性を秘めたフレームワークです。基本的なMinecraftサーバーを構築した上で、Langgraphを使って様々な自動化タスクを実装してみてください。
100-tool-mcp-server-json-example
Please provide the JSON you would like me to translate. I need the English text within the JSON to translate it into Japanese.