Discover Awesome MCP Servers
Extend your agent with 20,377 capabilities via MCP servers.
- All20,377
- 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
Sample code for Model Context Protocl (MCP) with Server Sent Event (SSE)
Library Docs MCP Server
Langchain、Llama-Index、MCP、OpenAIといった人気ライブラリのリアルタイムドキュメントを取得するMCPサーバー。LLMが知識のカットオフ日を超えて、最新のライブラリ情報にアクセスできるようにする。
Twitter MCP Server for Claude Desktop
note.com MCP Server
note.com API を利用した Model Context Protocol (MCP) サーバー
Mcp Servers
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
鏡 (Kagami)
GitHub MCP Server
GitHub連携のためのモデルコンテキストプロトコルサーバー
Okta MCP Server
MyMcpServer MCP Server
MCP-Wikipedia-API-Server
AIアシスタント向けにWikipediaの要約を取得するFastAPI-MCPサーバー。Google ColabとNgrokを使ってデプロイ。
Perplexity MCP Server
鏡 (Kagami)
ConnectWise Manage MCP Server
鏡 (Kagami)
Pinner MCP 📍
モデルコンテキストプロトコル (MCP) サーバーで、コンポーネントをその不変バージョンに固定します。
convex-mcp-server MCP Server
DNSDumpster - MCP Server
Generate images MCP server
画像を生成するためのモデルコンテキストプロトコルサーバー
Okta MCP Server
Claude が Okta のユーザー管理システムと連携し、ユーザー詳細の取得、フィルタリングオプションによるユーザー一覧表示、およびユーザーグループの管理機能を提供します。
Whoop MCP Server
Model Context Protocolサーバーで、言語モデルが個人のWhoopフィットネスデータにアクセスできるようにします。これにより、Whoop APIからサイクル、リカバリー、ストレイン、ワークアウト情報をクエリできます。
Trello-Claude интеграция
Smithery.ai 上の MCP Server を介した Claude と Trello の連携
Unity AI MCP Server
Unityゲーム開発向けに、AIを活用したツールやアシスタンスを提供するMCPサーバー
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:
ComfyUI MCP Server
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
コードからC4アーキテクチャ図を生成するMCPサーバー。
Model Context Protocol Server for NebulaGraph
鏡 (Kagami)
MemGPT MCP Server
鏡 (Kagami)
MCP-SSE4
MCP サーバーのデモから作成されました。
Crawl4AI MCP Server
Crawl4AI-MCP: 特定のウェブスクレイピングとClaude AI処理を組み合わせた、強力なウェブクローリングおよびコンテンツ分析サーバーです。カスタマイズ可能な深度、コンテンツ選択、AI分析機能により、特定のウェブサイトから洞察を抽出します。