Discover Awesome MCP Servers
Extend your agent with 26,962 capabilities via MCP servers.
- All26,962
- 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
Keboola MCP Server
このサーバーは、KeboolaのStorage APIとのインタラクションを容易にし、ユーザーがClaude Desktopを通じてプロジェクトのバケット、テーブル、コンポーネントを効率的に閲覧および管理できるようにします。
MySQL MCP Server
MySQLデータベースへの読み取り専用アクセスを提供するモデルコンテキストプロトコルサーバー。LLMがデータベーススキーマを検査し、読み取り専用クエリを実行できるようにします。
Chain of Thought MCP Server
GroqのAPIを使用して、Qwenのqwqモデルから生のchain-of-thoughtトークンを公開するMCPサーバー。LLMが応答する前に段階的に考えることを可能にします。
Open Docs Mcp
An open-source MCP implementation providing document management functionality. This project aims to replicate Cursor's @Docs functionality.
DICOM MCP Server
鏡 (Kagami)
S3 MCP Server
⚙️ Amazon S3バケットにアクセスするためのModel Context Protocol (MCP)サーバー。このサーバーは、MCPを介してS3ストレージとのシームレスな統合を提供し、ストリーミング機能を通じてPDFを含む大きなファイルを効率的に処理できます。
FindMine Shopping Stylist
FindMineの製品スタイリングと服装レコメンデーション機能をClaudeやその他のMCP互換アプリケーションと統合したMCPサーバー。ユーザーは製品の閲覧、服装のレコメンデーションの取得、類似アイテムの検索、スタイルガイダンスへのアクセスが可能になります。
MCP Ripgrep Server
MCPクライアント(Claudeなど)にripgrepの検索機能を提供し、システム上のファイル全体で高性能なテキスト検索を可能にします。
Project Hub MCP Server
ソフトウェアプロジェクトを管理するためのMCPサーバー。プロジェクトの追跡、ノート作成、GitHub連携のためのツールを提供します。
Google Calendar MCP Server
Googleカレンダー連携のためのMCPサーバー
Trends Hub
中国の様々なウェブサイトやプラットフォーム(Weibo、Zhihu、Bilibiliなどを含む)から、ホットなトレンドやランキングを集約するMCPサーバー。
ResearchMCP
Deno + Hono で構築されたマルチ検索 API アグリゲーターサーバー
MCP Database Server
LLMが自然言語を通じてデータベース(現在はMongoDB)とやり取りできるようにする、モデルコンテキストプロトコルサーバー。ドキュメントのクエリ、挿入、削除、および集計パイプラインの実行などの操作をサポートします。
Divide and Conquer MCP Server
AIエージェントが、構造化されたJSON形式を用いて複雑なタスクを管理可能な小さな単位に分解し、タスクの追跡、コンテキストの維持、進捗状況の監視を可能にします。
JigsawStack MCP Server
JigsawStackモデルとAIモデルが連携するための、モデルコンテキストプロトコルサーバー!
mcp-server
MCP Servers
このリポジトリには、MCPサーバーの作成方法に関する私の学習内容がまとめられています。
File Converter MCP Server
AIエージェント向けに、複数のファイル変換ツールを提供するMCPサーバー。DOCXからPDF、PDFからDOCX、画像変換、ExcelからCSV、HTMLからPDF、MarkdownからPDFなど、様々なドキュメントおよび画像形式の変換をサポートします。
MCP Server ODBC via SQLAlchemy
SQLAlchemy経由でアクセス可能なあらゆるデータベース管理システム(DBMS)へのSQLAlchemy(pyodbc経由)接続を提供します。
azure-mcp-server
Azure リソースとのインタラクションや管理を行うためのツール、プロンプト、リソースを提供する Model Context Protocol (MCP) サーバー
mcp-server-typescript
Minimax MCP Tools
Minimax APIと連携し、WindsurfやCursorのようなエディタでAIを活用した画像生成やテキスト読み上げ機能を提供するMCPサーバー実装。
Memory MCP Server
Brest MCP Server
Starlette MCP SSE
Okay, here's a working example of a Starlette server with Server-Sent Events (SSE) based MCP (Message Channel Protocol) support. This example demonstrates a basic setup, including sending messages from the server to the client. I'll break down the code and explain the key parts. ```python import asyncio import json import time from typing import AsyncGenerator from starlette.applications import Starlette from starlette.responses import StreamingResponse from starlette.routing import Route # Define a simple MCP message structure (you can customize this) class MCPMessage: def __init__(self, type: str, data: dict): self.type = type self.data = data def to_sse_data(self) -> str: """Formats the message for SSE.""" return f"data: {json.dumps({'type': self.type, 'data': self.data})}\n\n" async def event_stream() -> AsyncGenerator[str, None]: """ An infinite generator that yields SSE messages. This simulates a server pushing updates to the client. """ try: i = 0 while True: # Simulate sending an MCP message every second message = MCPMessage(type="update", data={"value": i}) yield message.to_sse_data() i += 1 await asyncio.sleep(1) # Simulate some work except asyncio.CancelledError: print("SSE stream cancelled") # Handle client disconnection finally: print("SSE stream closed") async def sse_endpoint(request): """ Starlette endpoint that returns an SSE stream. """ return StreamingResponse( event_stream(), media_type="text/event-stream" ) routes = [ Route("/sse", endpoint=sse_endpoint), ] app = Starlette(debug=True, routes=routes) if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000) ``` Key improvements and explanations: * **MCP Message Class:** The `MCPMessage` class encapsulates the structure of your messages. This makes it easier to manage and format them consistently. The `to_sse_data()` method is crucial; it converts the message into the correct SSE format (`data: <json_string>\n\n`). This is the format the client expects. Using JSON allows you to send complex data structures. * **`event_stream()` Generator:** This is the heart of the SSE server. It's an *asynchronous generator* that yields strings formatted as SSE messages. The `while True` loop makes it run indefinitely, simulating a continuous stream of updates. The `asyncio.sleep(1)` simulates the server doing some work or waiting for data before sending the next message. Critically, it includes `try...except asyncio.CancelledError...finally` to handle client disconnections gracefully. When the client disconnects, the generator will receive a `CancelledError`, allowing you to clean up resources or log the event. * **`sse_endpoint()`:** This is the Starlette endpoint that handles the `/sse` route. It creates a `StreamingResponse` using the `event_stream()` generator. The `media_type="text/event-stream"` is *essential*; it tells the client that the server is sending SSE data. * **Error Handling:** The `try...except` block in `event_stream` is important for handling client disconnections. Without it, the server might crash or continue trying to send data to a closed connection. * **JSON Encoding:** Using `json.dumps()` to encode the message data is the standard way to send complex data structures over SSE. The client can then easily parse the JSON. * **Clearer Comments:** I've added more comments to explain each part of the code. * **Uvicorn:** The example uses Uvicorn to run the Starlette application. Uvicorn is a fast and reliable ASGI server. * **`if __name__ == "__main__":`:** This ensures that the Uvicorn server is only started when the script is run directly (not when it's imported as a module). **How to Run:** 1. **Save:** Save the code as a Python file (e.g., `sse_server.py`). 2. **Install Dependencies:** ```bash pip install starlette uvicorn ``` 3. **Run:** ```bash python sse_server.py ``` **Client-Side Example (JavaScript):** Here's a simple JavaScript client to connect to the SSE endpoint and display the messages: ```html <!DOCTYPE html> <html> <head> <title>SSE Client</title> </head> <body> <h1>SSE Client</h1> <div id="output"></div> <script> const eventSource = new EventSource('/sse'); // Replace with your server's SSE endpoint eventSource.onmessage = (event) => { const data = JSON.parse(event.data); const outputDiv = document.getElementById('output'); outputDiv.innerHTML += `<p>Type: ${data.type}, Data: ${JSON.stringify(data.data)}</p>`; }; eventSource.onerror = (error) => { console.error("SSE error:", error); eventSource.close(); // Close the connection on error }; eventSource.onopen = () => { console.log("SSE connection opened"); }; </script> </body> </html> ``` **Explanation of the JavaScript Client:** * **`new EventSource('/sse')`:** Creates a new `EventSource` object, connecting to the `/sse` endpoint on your server. Make sure the path matches the route defined in your Starlette app. * **`eventSource.onmessage`:** This function is called whenever the server sends a new SSE message. It parses the JSON data from the `event.data` property and displays it in the `output` div. * **`eventSource.onerror`:** This function is called if there's an error with the SSE connection. It logs the error to the console and closes the connection. Closing the connection on error is important to prevent the client from repeatedly trying to reconnect. * **`eventSource.onopen`:** This function is called when the SSE connection is successfully opened. It logs a message to the console. * **`JSON.parse(event.data)`:** Parses the JSON string received from the server into a JavaScript object. * **`eventSource.close()`:** Closes the SSE connection. This is important to do when you no longer need the connection, to free up resources. **How to Use the Client:** 1. **Save:** Save the HTML code as an HTML file (e.g., `index.html`). 2. **Open:** Open the `index.html` file in your web browser. Make sure your Starlette server is running. You should see the messages from the server being displayed in the browser. **Important Considerations:** * **Error Handling:** Implement robust error handling on both the server and client. Handle disconnections, network errors, and invalid data. * **Reconnection:** The `EventSource` object automatically tries to reconnect if the connection is lost. You can configure the reconnection behavior using the `retry` field in the SSE message (though this is less common). * **Security:** If you're using SSE in a production environment, consider security implications. Use HTTPS to encrypt the data and implement authentication and authorization to protect your endpoints. * **Scalability:** For high-traffic applications, consider using a message queue (e.g., Redis, RabbitMQ) to decouple the SSE server from the data source. This can improve scalability and reliability. * **Browser Compatibility:** SSE is supported by most modern browsers. However, older browsers might require a polyfill. * **Content Type:** Always set the `Content-Type` header to `text/event-stream` on the server. * **Message Format:** The SSE message format is strict. Each message must end with `\n\n`. The `data:` field is the most common, but you can also use `event:`, `id:`, and `retry:` fields. This comprehensive example should give you a solid foundation for building SSE-based MCP applications with Starlette. Remember to adapt the code to your specific needs and requirements.
LSPD Interrogation MCP Server
警察の尋問をシミュレートするモデルコンテキストプロトコルサーバー。ユーザーは警察官のプロファイルを作成し、プレッシャーレベル、証拠、犯罪の種類などの設定可能なパラメータに基づいて、シミュレートされた容疑者の反応を用いた動的な尋問を実施できます。
BOLD MCP Server
MCPサーバーでローカルLLMをBOLD Rest APIに接続する
Manus MCP
Manusライクな機能を提供するMCPサーバー
Gemini Image Generator MCP Server
AIアシスタントが、MCPプロトコルを介してGoogleのGeminiモデルを使用し、テキストプロンプトから高品質な画像を生成および変換できるようにします。
Essentials
Essentialsは、便利なMCP機能を提供するMCPサーバーです。