Discover Awesome MCP Servers

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

All20,377
Sample code for Model Context Protocl (MCP) with Server Sent Event (SSE)

Sample code for Model Context Protocl (MCP) with Server Sent Event (SSE)

Library Docs MCP Server

Library Docs MCP Server

Langchain、Llama-Index、MCP、OpenAIといった人気ライブラリのリアルタイムドキュメントを取得するMCPサーバー。LLMが知識のカットオフ日を超えて、最新のライブラリ情報にアクセスできるようにする。

Twitter MCP Server for Claude Desktop

Twitter MCP Server for Claude Desktop

note.com MCP Server

note.com MCP Server

note.com API を利用した Model Context Protocol (MCP) サーバー

Mcp Servers

Mcp Servers

Bee Agent & Model Context Protocol with Backstage

Bee Agent & Model Context Protocol with Backstage

承知いたしました。以下に、Backstageインスタンスからデータを取得するために使用する、MCPサーバーとそれを使用するエージェントのサンプルを示します。 **MCPサーバーのサンプル (Python):** ```python from flask import Flask, jsonify import requests app = Flask(__name__) BACKSTAGE_API_URL = "YOUR_BACKSTAGE_API_URL" # Backstage APIのURLに置き換えてください @app.route("/entities") def get_entities(): """ Backstageからエンティティを取得します。 """ try: response = requests.get(f"{BACKSTAGE_API_URL}/entities") response.raise_for_status() # エラーが発生した場合に例外を発生させます entities = response.json() return jsonify(entities) except requests.exceptions.RequestException as e: return jsonify({"error": str(e)}), 500 if __name__ == "__main__": app.run(debug=True, host="0.0.0.0", port=5000) ``` **説明:** * このコードは、Flaskフレームワークを使用してシンプルなWebサーバーを構築します。 * `/entities`というエンドポイントを定義し、Backstage APIからエンティティを取得してJSON形式で返します。 * `BACKSTAGE_API_URL`をBackstageインスタンスのAPI URLに置き換える必要があります。 * エラー処理も含まれています。 **MCPエージェントのサンプル (Python):** ```python import requests import time import json MCP_SERVER_URL = "http://localhost:5000" # MCPサーバーのURLに置き換えてください OUTPUT_FILE = "backstage_data.json" def fetch_data(): """ MCPサーバーからデータを取得します。 """ try: response = requests.get(f"{MCP_SERVER_URL}/entities") response.raise_for_status() data = response.json() return data except requests.exceptions.RequestException as e: print(f"エラー: {e}") return None def save_data(data): """ 取得したデータをファイルに保存します。 """ if data: with open(OUTPUT_FILE, "w") as f: json.dump(data, f, indent=4) print(f"データは {OUTPUT_FILE} に保存されました。") if __name__ == "__main__": while True: data = fetch_data() save_data(data) time.sleep(60) # 60秒ごとにデータを取得します ``` **説明:** * このコードは、MCPサーバーから`/entities`エンドポイントを定期的に呼び出し、データを取得します。 * 取得したデータをJSON形式でファイルに保存します。 * `MCP_SERVER_URL`をMCPサーバーのURLに置き換える必要があります。 * `OUTPUT_FILE`は、データを保存するファイル名です。 * `time.sleep(60)`は、60秒ごとにデータを取得するように設定しています。必要に応じて変更してください。 **使い方:** 1. **Backstage API URLの設定:** `BACKSTAGE_API_URL`をBackstageインスタンスのAPI URLに置き換えます。通常、これは`http://<backstage_host>:<backstage_port>/api/catalog/entities`のような形式になります。 2. **MCPサーバーの起動:** 上記のMCPサーバーのコードを保存し、Pythonで実行します。 3. **MCPエージェントの起動:** 上記のMCPエージェントのコードを保存し、Pythonで実行します。 **注意点:** * **認証:** Backstage APIが認証を必要とする場合、MCPサーバーのコードに認証情報を追加する必要があります。 * **エラー処理:** 上記のコードは基本的なエラー処理のみを提供します。より堅牢なシステムでは、より詳細なエラー処理が必要になる場合があります。 * **データ形式:** Backstage APIから返されるデータの形式は、Backstageの設定によって異なる場合があります。必要に応じて、MCPサーバーとエージェントのコードを調整してください。 * **セキュリティ:** MCPサーバーとエージェント間の通信は、セキュリティで保護されていることを確認してください。HTTPSを使用することを推奨します。 * **スケーラビリティ:** 上記のコードはシンプルな例です。より大規模なシステムでは、よりスケーラブルなアーキテクチャが必要になる場合があります。 このサンプルコードは、Backstageからデータを取得するための基本的なフレームワークを提供します。必要に応じて、要件に合わせてカスタマイズしてください。

WeCom Bot MCP Server

WeCom Bot MCP Server

鏡 (Kagami)

GitHub MCP Server

GitHub MCP Server

GitHub連携のためのモデルコンテキストプロトコルサーバー

Okta MCP Server

Okta MCP Server

MyMcpServer MCP Server

MyMcpServer MCP Server

MCP-Wikipedia-API-Server

MCP-Wikipedia-API-Server

AIアシスタント向けにWikipediaの要約を取得するFastAPI-MCPサーバー。Google ColabとNgrokを使ってデプロイ。

Perplexity MCP Server

Perplexity MCP Server

鏡 (Kagami)

ConnectWise Manage MCP Server

ConnectWise Manage MCP Server

鏡 (Kagami)

Pinner MCP 📍

Pinner MCP 📍

モデルコンテキストプロトコル (MCP) サーバーで、コンポーネントをその不変バージョンに固定します。

convex-mcp-server MCP Server

convex-mcp-server MCP Server

DNSDumpster - MCP Server

DNSDumpster - MCP Server

Generate images MCP server

Generate images MCP server

画像を生成するためのモデルコンテキストプロトコルサーバー

Okta MCP Server

Okta MCP Server

Claude が Okta のユーザー管理システムと連携し、ユーザー詳細の取得、フィルタリングオプションによるユーザー一覧表示、およびユーザーグループの管理機能を提供します。

Whoop MCP Server

Whoop MCP Server

Model Context Protocolサーバーで、言語モデルが個人のWhoopフィットネスデータにアクセスできるようにします。これにより、Whoop APIからサイクル、リカバリー、ストレイン、ワークアウト情報をクエリできます。

Trello-Claude интеграция

Trello-Claude интеграция

Smithery.ai 上の MCP Server を介した Claude と Trello の連携

Unity AI MCP Server

Unity AI MCP Server

Unityゲーム開発向けに、AIを活用したツールやアシスタンスを提供するMCPサーバー

Flipt MCP Server

Flipt MCP Server

FliptのMCPサーバーを使用すると、AIアシスタントやLLMが、標準化されたインターフェースを通じて、フィーチャーフラグ、セグメント、評価と直接やり取りできます。 例えば、AIアシスタントに次のように質問できます。 「'dark-mode'フラグの現在の状態は何ですか?」

mcp-server-skyfireWhat is mcp-server-skyfire?How to use mcp-server-skyfire?Key features of mcp-server-skyfire:Use cases of mcp-server-skyfire:FAQ from mcp-server-skyfire:

mcp-server-skyfireWhat is mcp-server-skyfire?How to use mcp-server-skyfire?Key features of mcp-server-skyfire:Use cases of mcp-server-skyfire:FAQ from mcp-server-skyfire:

ComfyUI MCP Server

ComfyUI MCP Server

mcp-use-didwba

mcp-use-didwba

MCP (Minecraft Protocol) クライアントとサーバーで、didwba を認証技術として使用する例を以下に示します。 (Note: This is a conceptual example. Implementing didwba in Minecraft requires significant custom development and may not be directly compatible with standard Minecraft clients or servers. This example focuses on the core concepts.) **Conceptual Overview:** This example outlines the general steps involved in using didwba (Decentralized Identity with Web Authentication) for Minecraft authentication. It assumes you have a basic understanding of didwba and its underlying technologies (e.g., DIDs, Verifiable Credentials, Web Authentication). **1. Client (Minecraft Client Modification):** * **DID Generation/Storage:** * The modified Minecraft client generates or retrieves a DID (Decentralized Identifier) for the user. This DID is stored securely on the client (e.g., in a keystore). * Example (Conceptual): ``` // Simplified example - in reality, this would involve a proper DID library String did = "did:example:user123"; // Example DID String privateKey = "some_secret_key"; // Securely stored ``` * **Authentication Request:** * When the user attempts to connect to a didwba-enabled Minecraft server, the client initiates an authentication request. * This request includes the user's DID. * Example: ``` // Send DID to server sendToServer("auth_request", did); ``` * **Challenge Response (Web Authentication):** * The server sends back a challenge (e.g., a nonce or a request for a specific Verifiable Credential). * The client uses Web Authentication (e.g., using the `navigator.credentials.get()` API in a browser-like environment embedded in the client) to sign the challenge using the private key associated with the DID. This might involve displaying a prompt to the user for authentication (e.g., using a hardware security key or biometric authentication). * Example (Conceptual - requires a Web Authentication library): ``` // Server sends challenge: String challenge = "random_challenge"; // Simulate Web Authentication signing (replace with actual WebAuthn) String signature = signChallenge(challenge, privateKey); // Send signed challenge back to the server sendToServer("auth_response", signature); ``` **2. Server (Minecraft Server Modification):** * **Authentication Request Handling:** * The server receives the authentication request containing the user's DID. * It generates a unique challenge and sends it back to the client. * Example: ``` // Receive DID from client: String did = receiveFromClient("auth_request"); // Generate a unique challenge String challenge = generateRandomChallenge(); // Store the challenge associated with the DID (e.g., in a map) challengeMap.put(did, challenge); // Send the challenge to the client sendToClient("auth_challenge", challenge); ``` * **Challenge Response Verification:** * The server receives the signed challenge from the client. * It retrieves the original challenge associated with the user's DID. * It verifies the signature using the public key associated with the DID (which can be retrieved from a DID resolver or a trusted source). * Example: ``` // Receive signature from client: String signature = receiveFromClient("auth_response"); // Retrieve the challenge associated with the DID String challenge = challengeMap.get(did); // Get the public key associated with the DID (from a DID resolver) String publicKey = getPublicKeyFromDID(did); // Verify the signature boolean isValid = verifySignature(signature, challenge, publicKey); if (isValid) { // Authentication successful! System.out.println("Authentication successful for DID: " + did); // Grant access to the Minecraft server } else { // Authentication failed System.out.println("Authentication failed for DID: " + did); // Reject the connection } ``` **3. DID Resolver (External Service):** * The server needs a way to resolve DIDs to their corresponding public keys. This is typically done using a DID resolver, which is a service that can look up DID documents and retrieve the public keys associated with a DID. * Example (Conceptual): ``` // Function to retrieve the public key from a DID resolver String getPublicKeyFromDID(String did) { // Make a request to the DID resolver // (e.g., using a REST API) // Example: https://example.com/did-resolver/did:example:user123 // Parse the DID document and extract the public key String publicKey = "the_public_key_associated_with_the_did"; return publicKey; } ``` **Important Considerations:** * **Security:** Securely store private keys on the client. Use robust cryptographic libraries for signing and verification. Protect the DID resolver from attacks. * **DID Method:** Choose a suitable DID method (e.g., did:web, did:key) based on your requirements. * **Web Authentication Integration:** Integrating Web Authentication into a Minecraft client requires embedding a browser-like environment or using a custom implementation. * **Verifiable Credentials (Optional):** You can extend this example to require users to present Verifiable Credentials (VCs) to prove specific attributes (e.g., age, membership in a group). The server would then verify the VCs before granting access. * **Minecraft Protocol:** You'll need to understand the Minecraft protocol to properly send and receive authentication messages. * **Libraries:** Use appropriate libraries for DID management, cryptography, and Web Authentication. **Simplified Code Snippets (Illustrative):** These are highly simplified examples and are not production-ready. ```java // Client (Simplified) String did = "did:example:user123"; String privateKey = "some_secret_key"; String challenge = receiveFromServer("auth_challenge"); String signature = signChallenge(challenge, privateKey); // Replace with WebAuthn sendToServer("auth_response", signature); // Server (Simplified) String did = receiveFromClient("auth_request"); String challenge = generateRandomChallenge(); sendToClient("auth_challenge", challenge); String signature = receiveFromClient("auth_response"); String publicKey = getPublicKeyFromDID(did); boolean isValid = verifySignature(signature, challenge, publicKey); ``` **In summary, this example provides a conceptual framework for using didwba for Minecraft authentication. Implementing this requires significant development effort and careful consideration of security and integration with the Minecraft protocol.** --- **Japanese Translation:** 以下は、MCP (Minecraft Protocol) クライアントとサーバーで、認証技術として didwba (Decentralized Identity with Web Authentication) を使用する例です。 (注意: これは概念的な例です。Minecraft に didwba を実装するには、大幅なカスタム開発が必要であり、標準の Minecraft クライアントまたはサーバーとの直接的な互換性はない可能性があります。この例では、コアとなる概念に焦点を当てています。) **概念的な概要:** この例では、Minecraft 認証に didwba を使用する際に関わる一般的な手順の概要を示します。 didwba とその基盤となる技術 (例: DID、検証可能な資格情報、Web Authentication) について基本的な理解があることを前提としています。 **1. クライアント (Minecraft クライアントの改造):** * **DID の生成/保存:** * 改造された Minecraft クライアントは、ユーザーの DID (分散型識別子) を生成または取得します。 この DID は、クライアントに安全に保存されます (例: キーストア内)。 * 例 (概念的): ```java // 簡単な例 - 実際には、適切な DID ライブラリを使用する必要があります String did = "did:example:user123"; // DID の例 String privateKey = "some_secret_key"; // 安全に保存 ``` * **認証リクエスト:** * ユーザーが didwba 対応の Minecraft サーバーに接続しようとすると、クライアントは認証リクエストを開始します。 * このリクエストには、ユーザーの DID が含まれます。 * 例: ```java // DID をサーバーに送信 sendToServer("auth_request", did); ``` * **チャレンジレスポンス (Web Authentication):** * サーバーはチャレンジ (例: ナンス、または特定の検証可能な資格情報のリクエスト) を返送します。 * クライアントは、Web Authentication (例: クライアントに埋め込まれたブラウザのような環境で `navigator.credentials.get()` API を使用) を使用して、DID に関連付けられた秘密鍵を使用してチャレンジに署名します。 これには、認証のためにユーザーにプロンプトを表示することが含まれる場合があります (例: ハードウェアセキュリティキーまたは生体認証を使用)。 * 例 (概念的 - Web Authentication ライブラリが必要): ```java // サーバーはチャレンジを送信: String challenge = "random_challenge"; // Web Authentication の署名をシミュレート (実際の WebAuthn に置き換えてください) String signature = signChallenge(challenge, privateKey); // 署名されたチャレンジをサーバーに返送 sendToServer("auth_response", signature); ``` **2. サーバー (Minecraft サーバーの改造):** * **認証リクエストの処理:** * サーバーは、ユーザーの DID を含む認証リクエストを受信します。 * 一意のチャレンジを生成し、クライアントに返送します。 * 例: ```java // クライアントから DID を受信: String did = receiveFromClient("auth_request"); // 一意のチャレンジを生成 String challenge = generateRandomChallenge(); // DID に関連付けられたチャレンジを保存 (例: マップ内) challengeMap.put(did, challenge); // チャレンジをクライアントに送信 sendToClient("auth_challenge", challenge); ``` * **チャレンジレスポンスの検証:** * サーバーは、クライアントから署名されたチャレンジを受信します。 * ユーザーの DID に関連付けられた元のチャレンジを取得します。 * DID に関連付けられた公開鍵を使用して署名を検証します (DID リゾルバーまたは信頼できるソースから取得できます)。 * 例: ```java // クライアントから署名を受信: String signature = receiveFromClient("auth_response"); // DID に関連付けられたチャレンジを取得 String challenge = challengeMap.get(did); // DID に関連付けられた公開鍵を取得 (DID リゾルバーから) String publicKey = getPublicKeyFromDID(did); // 署名を検証 boolean isValid = verifySignature(signature, challenge, publicKey); if (isValid) { // 認証成功! System.out.println("DID の認証に成功しました: " + did); // Minecraft サーバーへのアクセスを許可 } else { // 認証失敗 System.out.println("DID の認証に失敗しました: " + did); // 接続を拒否 } ``` **3. DID リゾルバー (外部サービス):** * サーバーは、DID を対応する公開鍵に解決する方法が必要です。 これは通常、DID リゾルバーを使用して行われます。DID リゾルバーは、DID ドキュメントを検索し、DID に関連付けられた公開鍵を取得できるサービスです。 * 例 (概念的): ```java // DID リゾルバーから公開鍵を取得する関数 String getPublicKeyFromDID(String did) { // DID リゾルバーにリクエストを送信 // (例: REST API を使用) // 例: https://example.com/did-resolver/did:example:user123 // DID ドキュメントを解析し、公開鍵を抽出 String publicKey = "the_public_key_associated_with_the_did"; return publicKey; } ``` **重要な考慮事項:** * **セキュリティ:** クライアントに秘密鍵を安全に保存します。 署名と検証には、堅牢な暗号化ライブラリを使用してください。 DID リゾルバーを攻撃から保護します。 * **DID メソッド:** 要件に基づいて、適切な DID メソッド (例: did:web、did:key) を選択します。 * **Web Authentication の統合:** Minecraft クライアントに Web Authentication を統合するには、ブラウザのような環境を埋め込むか、カスタム実装を使用する必要があります。 * **検証可能な資格情報 (オプション):** この例を拡張して、ユーザーが特定の属性 (例: 年齢、グループへの所属) を証明するために検証可能な資格情報 (VC) を提示することを要求できます。 サーバーは、アクセスを許可する前に VC を検証します。 * **Minecraft プロトコル:** 認証メッセージを適切に送受信するには、Minecraft プロトコルを理解する必要があります。 * **ライブラリ:** DID 管理、暗号化、および Web Authentication に適切なライブラリを使用します。 **簡略化されたコードスニペット (説明用):** これらは非常に簡略化された例であり、本番環境で使用できるものではありません。 ```java // クライアント (簡略化) String did = "did:example:user123"; String privateKey = "some_secret_key"; String challenge = receiveFromServer("auth_challenge"); String signature = signChallenge(challenge, privateKey); // WebAuthn に置き換えてください sendToServer("auth_response", signature); // サーバー (簡略化) String did = receiveFromClient("auth_request"); String challenge = generateRandomChallenge(); sendToClient("auth_challenge", challenge); String signature = receiveFromClient("auth_response"); String publicKey = getPublicKeyFromDID(did); boolean isValid = verifySignature(signature, challenge, publicKey); ``` **要約すると、この例は、Minecraft 認証に didwba を使用するための概念的なフレームワークを提供します。 これを実装するには、多大な開発努力と、セキュリティおよび Minecraft プロトコルとの統合を慎重に検討する必要があります。**

McpDoc

McpDoc

コードからC4アーキテクチャ図を生成するMCPサーバー。

Model Context Protocol Server for NebulaGraph

Model Context Protocol Server for NebulaGraph

鏡 (Kagami)

MemGPT MCP Server

MemGPT MCP Server

鏡 (Kagami)

MCP-SSE4

MCP-SSE4

MCP サーバーのデモから作成されました。

Crawl4AI MCP Server

Crawl4AI MCP Server

Crawl4AI-MCP: 特定のウェブスクレイピングとClaude AI処理を組み合わせた、強力なウェブクローリングおよびコンテンツ分析サーバーです。カスタマイズ可能な深度、コンテンツ選択、AI分析機能により、特定のウェブサイトから洞察を抽出します。