Discover Awesome MCP Servers
Extend your agent with 15,269 capabilities via MCP servers.
- All15,269
- 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
Strategic Co-Developer MCP Server
AIの記憶・認知システムのための戦略的共同開発MCPサーバー
VNStock MCP Server
Okay, here's a translation of "MCP server for fetching historical stock prices using vnstock" into Japanese, along with some options depending on the nuance you want to convey: **Option 1 (Most Direct):** * **vnstock を使用して過去の株価を取得する MCP サーバー** * *vnstock o shiyō shite kako no kabuka o shutoku suru MCP sābā* * This is a very literal translation. It's clear and understandable. **Option 2 (Slightly More Natural, Emphasizing Function):** * **vnstock を利用した、過去の株価データ取得用 MCP サーバー** * *vnstock o riyō shita, kako no kabuka dēta shutoku-yō MCP sābā* * This version uses "利用した" (riyō shita) which means "utilizing" or "making use of" vnstock. It also adds "データ取得用" (dēta shutoku-yō) which means "for data acquisition" or "for data retrieval," making it slightly more descriptive. **Option 3 (Focusing on the Server's Purpose):** * **vnstock を活用して過去の株価データを提供する MCP サーバー** * *vnstock o katsuyō shite kako no kabuka dēta o teikyō suru MCP sābā* * This option uses "活用して" (katsuyō shite), meaning "leveraging" or "making the most of" vnstock. It also uses "提供する" (teikyō suru), meaning "to provide," emphasizing that the server *provides* the data. **Which one should you use?** * If you want the simplest and most direct translation, use **Option 1**. * If you want to emphasize the server's function of retrieving data, use **Option 2**. * If you want to emphasize that the server is *providing* the data and leveraging vnstock, use **Option 3**. In most contexts, **Option 1 or Option 2** would be perfectly suitable.

MCP
PRD Creator MCP Server
A specialized Model Context Protocol server that enables AI systems to generate detailed, well-structured product requirement documents through a standardized interface.
Rug-Check-MCP
Solanaミームトークンにおける潜在的なリスクを検出し、AIエージェントがラグプルや危険なプロジェクトを回避するのを支援するMCPサーバー。
mlflowAgent
MLflow 用の MCP サーバー
Juhe Weather MCP Server
中国全土の都市や地域を対象に、大規模言語モデルがリアルタイムの天気予報を問い合わせ、取得できる Model Context Protocol サーバーを提供します。
Git MCP Server
鏡 (Kagami)
Role-Specific Context MCP Server
AIエージェント向けのロールベースのコンテキスト管理を可能にするモデルコンテキストプロトコルサーバー。ユーザーは特定の指示を設定したり、分割されたメモリを維持したり、システム内のさまざまなエージェントロールに合わせてトーンを調整したりできます。
mcp-mananger-desktop
WIP: Claudeアプリ(またはそれ以上)のための、すべてのMCPサーバーまたはサービスを検索、インストール、アンインストールできるMCPサーバー(開発中)。
Fibery MCP Server
Fibery MCPサーバーは、FiberyとMCPプロトコルをサポートするあらゆるLLMプロバイダー(例:デスクトップ版Claude)との統合を提供し、自然言語を使用してFiberyワークスペーススキーマの探索、データベースのクエリ、エンティティの作成と更新を可能にします。
LSP MCP Server
大規模言語モデルとLanguage Server Protocolインターフェースを連携させ、LLMがLSPのホバー情報、補完、診断、およびコードアクションにアクセスできるようにすることで、コード提案を改善します。
OpenSCAD MCP Server
鏡 (Kagami)
Screenshot MCP Server
AIツールがユーザーの画面のスクリーンショットを取得・処理できるようにし、AIアシスタントがシンプルなMCPインターフェースを通じてユーザーが見ているものを確認・分析できるようにします。
aira-mcp-server MCP Server
鏡 (Kagami)
Tiny TODO MCP
AIアシスタントに永続的なタスク管理機能を提供し、通常は制限されるコンテキストを超えてタスクの作成、更新、追跡を可能にする、モデルコンテキストプロトコルサーバー。
github-server MCP Server
鏡 (Kagami)
zPlanner v1.4.0
My MCP Server

test
テスト
Sunwood Ai Labs_mcp Weather Service Server
鏡 (Kagami)
mongo-mcp-server
MongoDB のための MCP サーバー
ddg-mcp MCP server
Model Context Protocol を通じて、DuckDuckGo の検索機能(テキスト、画像、ニュース、動画検索、AIチャット)を提供するサーバー。
Vidu MCP Server
ViduのAIモデルを使用して、静止画から動画を生成できるサーバー。画像から動画への変換、タスクの監視、画像のアップロード機能などを搭載。
MikeCreighton.com Content MCP Server
マイク・クレイトン・コンサルティングのウェブサイトの全ページを、あらゆるMCPクライアントにリソースとして提供する、モデルコンテキストプロトコル(MCP)サーバー。
Medium MCP API Server
MediumのAPI用の、コンテンツ公開とユーザーアカウント管理を行うためのマイクロサービス通信プロトコル(MCP)サーバー
MCP-Discord
Discord Model Context Protocolサーバーは、AIアシスタントがDiscordと連携できるようにするもので、メッセージの送信、チャンネルの管理、フォーラムの投稿の処理、リアクションの操作などの機能を提供します。
Linear
AIアシスタントがLinearプロジェクト管理システムと連携し、ユーザーが自然言語を通じて課題、プロジェクト、チームの取得、作成、更新を行えるようにする、モデルコンテキストプロトコルサーバー。
MCP Server
ClaudeのようなAIアシスタントがPythonコードを安全に実行し、ウェブサイトにアクセスしてデータを処理することで、AIの理解度を高め、役立つエラーメッセージを提供するサーバー。
MCP Client Example ☀️
Okay, here's a basic example of a Python MCP (Memcached Client Protocol) client and server. Keep in mind that this is a *very* simplified example for demonstration purposes. A real-world Memcached server is significantly more complex. Also, for production use, you should use a well-established Memcached library like `pymemcache` or `python-memcached`. **Important Considerations:** * **Security:** This example is *not* secure. It doesn't handle authentication or encryption. Do not use it in a production environment without adding proper security measures. * **Error Handling:** The error handling is minimal. A real implementation would need much more robust error handling. * **Concurrency:** The server uses basic threading. For high-performance, consider using asynchronous I/O (e.g., `asyncio`). * **Protocol Completeness:** This example only implements the `set` and `get` commands. Memcached has many more commands. * **Data Serialization:** This example stores data as strings. You'll likely want to use a serialization library like `pickle` or `json` to store more complex data types. **1. Server (mcp_server.py):** ```python import socket import threading class MCPRequestHandler(threading.Thread): def __init__(self, client_socket, client_address, cache): threading.Thread.__init__(self) self.client_socket = client_socket self.client_address = client_address self.cache = cache print(f"Connection from {client_address}") def run(self): try: while True: data = self.client_socket.recv(1024).decode('utf-8').strip() if not data: break parts = data.split() command = parts[0].lower() if command == 'set': if len(parts) < 3: self.client_socket.sendall(b"ERROR: Invalid SET command\r\n") continue key = parts[1] value = " ".join(parts[2:]) # Handle values with spaces self.cache[key] = value self.client_socket.sendall(b"STORED\r\n") elif command == 'get': if len(parts) != 2: self.client_socket.sendall(b"ERROR: Invalid GET command\r\n") continue key = parts[1] if key in self.cache: value = self.cache[key] self.client_socket.sendall(f"VALUE {key} {len(value)}\r\n{value}\r\nEND\r\n".encode('utf-8')) else: self.client_socket.sendall(b"END\r\n") else: self.client_socket.sendall(b"ERROR: Unknown command\r\n") except Exception as e: print(f"Error handling client: {e}") finally: print(f"Closing connection from {self.client_address}") self.client_socket.close() class MCPServer: def __init__(self, host, port): self.host = host self.port = port self.cache = {} # In-memory cache self.server_socket = None def start(self): self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # Allow reuse of address self.server_socket.bind((self.host, self.port)) self.server_socket.listen(5) # Listen for up to 5 connections print(f"MCP Server listening on {self.host}:{self.port}") try: while True: client_socket, client_address = self.server_socket.accept() handler = MCPRequestHandler(client_socket, client_address, self.cache) handler.start() except KeyboardInterrupt: print("Server shutting down...") finally: if self.server_socket: self.server_socket.close() if __name__ == "__main__": HOST = "127.0.0.1" # Standard loopback interface address (localhost) PORT = 11211 # Standard Memcached port server = MCPServer(HOST, PORT) server.start() ``` **2. Client (mcp_client.py):** ```python import socket class MCPClient: def __init__(self, host, port): self.host = host self.port = port self.socket = None def connect(self): self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: self.socket.connect((self.host, self.port)) return True except socket.error as e: print(f"Connection error: {e}") self.socket = None return False def set(self, key, value): if not self.socket: if not self.connect(): return False command = f"set {key} {value}\r\n" try: self.socket.sendall(command.encode('utf-8')) response = self.socket.recv(1024).decode('utf-8').strip() return response == "STORED" except socket.error as e: print(f"Set error: {e}") return False def get(self, key): if not self.socket: if not self.connect(): return None command = f"get {key}\r\n" try: self.socket.sendall(command.encode('utf-8')) response = self.socket.recv(1024).decode('utf-8').strip() if response.startswith("VALUE"): parts = response.split() # key = parts[1] # Unused in this example, but available length = int(parts[2]) value = self.socket.recv(length).decode('utf-8') self.socket.recv(2) # Consume the "\r\n" after the value end_response = self.socket.recv(5).decode('utf-8').strip() # Expect "END" if end_response == "END": return value else: print(f"Unexpected response after value: {end_response}") return None elif response == "END": return None else: print(f"Unexpected response: {response}") return None except socket.error as e: print(f"Get error: {e}") return None def close(self): if self.socket: self.socket.close() self.socket = None if __name__ == "__main__": HOST = "127.0.0.1" PORT = 11211 client = MCPClient(HOST, PORT) if client.connect(): print("Connected to server.") # Set a value if client.set("mykey", "Hello, Memcached!"): print("Set 'mykey' successfully.") else: print("Failed to set 'mykey'.") # Get the value value = client.get("mykey") if value: print(f"Value for 'mykey': {value}") else: print("Key 'mykey' not found.") # Get a non-existent key value = client.get("nonexistent_key") if value: print(f"Value for 'nonexistent_key': {value}") else: print("Key 'nonexistent_key' not found.") client.close() print("Connection closed.") else: print("Failed to connect to server.") ``` **How to Run:** 1. **Save:** Save the code as `mcp_server.py` and `mcp_client.py`. 2. **Run the Server:** Open a terminal and run `python mcp_server.py`. The server will start listening on `127.0.0.1:11211`. 3. **Run the Client:** Open another terminal and run `python mcp_client.py`. The client will connect to the server, set a key, get the key, and then close the connection. **Explanation:** * **Server:** * `MCPServer` class: Handles the server socket, listening for connections, and creating a new thread for each client. * `MCPRequestHandler` class: Handles the communication with a single client. It receives data, parses the command (currently only `set` and `get`), and interacts with the in-memory `cache` (a Python dictionary). * The server uses a simple in-memory dictionary (`self.cache`) to store the data. * The server sends back responses like "STORED", "VALUE", and "END" according to the basic Memcached protocol. * **Client:** * `MCPClient` class: Handles the connection to the server and provides `set` and `get` methods. * The `set` method sends a "set" command to the server. * The `get` method sends a "get" command and parses the response from the server. * The client handles the basic protocol format, including the "VALUE", length, and "END" markers. **To Translate to Japanese:** Here's a translation of the comments and print statements in the code to Japanese. I'll provide the translated code snippets. You can replace the English text in the original code with these translations. **mcp_server.py (Japanese):** ```python import socket import threading class MCPRequestHandler(threading.Thread): def __init__(self, client_socket, client_address, cache): threading.Thread.__init__(self) self.client_socket = client_socket self.client_address = client_address self.cache = cache print(f"{client_address} からの接続") # Connection from {client_address} def run(self): try: while True: data = self.client_socket.recv(1024).decode('utf-8').strip() if not data: break parts = data.split() command = parts[0].lower() if command == 'set': if len(parts) < 3: self.client_socket.sendall(b"ERROR: 無効なSETコマンド\r\n") # ERROR: Invalid SET command continue key = parts[1] value = " ".join(parts[2:]) # Handle values with spaces self.cache[key] = value self.client_socket.sendall(b"STORED\r\n") elif command == 'get': if len(parts) != 2: self.client_socket.sendall(b"ERROR: 無効なGETコマンド\r\n") # ERROR: Invalid GET command continue key = parts[1] if key in self.cache: value = self.cache[key] self.client_socket.sendall(f"VALUE {key} {len(value)}\r\n{value}\r\nEND\r\n".encode('utf-8')) else: self.client_socket.sendall(b"END\r\n") else: self.client_socket.sendall(b"ERROR: 不明なコマンド\r\n") # ERROR: Unknown command except Exception as e: print(f"クライアント処理中にエラーが発生しました: {e}") # Error handling client: {e} finally: print(f"{self.client_address} からの接続を閉じます") # Closing connection from {self.client_address} self.client_socket.close() class MCPServer: def __init__(self, host, port): self.host = host self.port = port self.cache = {} # In-memory cache self.server_socket = None def start(self): self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # Allow reuse of address self.server_socket.bind((self.host, self.port)) self.server_socket.listen(5) # Listen for up to 5 connections print(f"MCPサーバーは {self.host}:{self.port} でリッスンしています") # MCP Server listening on {self.host}:{self.port} try: while True: client_socket, client_address = self.server_socket.accept() handler = MCPRequestHandler(client_socket, client_address, self.cache) handler.start() except KeyboardInterrupt: print("サーバーをシャットダウンしています...") # Server shutting down... finally: if self.server_socket: self.server_socket.close() if __name__ == "__main__": HOST = "127.0.0.1" # Standard loopback interface address (localhost) PORT = 11211 # Standard Memcached port server = MCPServer(HOST, PORT) server.start() ``` **mcp_client.py (Japanese):** ```python import socket class MCPClient: def __init__(self, host, port): self.host = host self.port = port self.socket = None def connect(self): self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: self.socket.connect((self.host, self.port)) return True except socket.error as e: print(f"接続エラー: {e}") # Connection error: {e} self.socket = None return False def set(self, key, value): if not self.socket: if not self.connect(): return False command = f"set {key} {value}\r\n" try: self.socket.sendall(command.encode('utf-8')) response = self.socket.recv(1024).decode('utf-8').strip() return response == "STORED" except socket.error as e: print(f"Setエラー: {e}") # Set error: {e} return False def get(self, key): if not self.socket: if not self.connect(): return None command = f"get {key}\r\n" try: self.socket.sendall(command.encode('utf-8')) response = self.socket.recv(1024).decode('utf-8').strip() if response.startswith("VALUE"): parts = response.split() # key = parts[1] # Unused in this example, but available length = int(parts[2]) value = self.socket.recv(length).decode('utf-8') self.socket.recv(2) # Consume the "\r\n" after the value end_response = self.socket.recv(5).decode('utf-8').strip() # Expect "END" if end_response == "END": return value else: print(f"値の後に予期しない応答: {end_response}") # Unexpected response after value: {end_response} return None elif response == "END": return None else: print(f"予期しない応答: {response}") # Unexpected response: {response} return None except socket.error as e: print(f"Getエラー: {e}") # Get error: {e} return None def close(self): if self.socket: self.socket.close() self.socket = None if __name__ == "__main__": HOST = "127.0.0.1" PORT = 11211 client = MCPClient(HOST, PORT) if client.connect(): print("サーバーに接続しました。") # Connected to server. # Set a value if client.set("mykey", "Hello, Memcached!"): print("'mykey' を正常に設定しました。") # Set 'mykey' successfully. else: print("'mykey' の設定に失敗しました。") # Failed to set 'mykey'. # Get the value value = client.get("mykey") if value: print(f"'mykey' の値: {value}") # Value for 'mykey': {value} else: print("キー 'mykey' は見つかりませんでした。") # Key 'mykey' not found. # Get a non-existent key value = client.get("nonexistent_key") if value: print(f"'nonexistent_key' の値: {value}") # Value for 'nonexistent_key': {value} else: print("キー 'nonexistent_key' は見つかりませんでした。") # Key 'nonexistent_key' not found. client.close() print("接続を閉じました。") # Connection closed. else: print("サーバーへの接続に失敗しました。") # Failed to connect to server. ``` **How to Use the Translated Code:** 1. Replace the English comments and `print` statements in `mcp_server.py` with the corresponding Japanese translations from the `mcp_server.py (Japanese)` section above. 2. Replace the English comments and `print` statements in `mcp_client.py` with the corresponding Japanese translations from the `mcp_client.py (Japanese)` section above. 3. Save the modified files. 4. Run the server and client as described earlier. The output will now be in Japanese. **Important Notes about Japanese:** * **Encoding:** Make sure your editor saves the files in UTF-8 encoding to properly display Japanese characters. * **Terminal Support:** Your terminal needs to support UTF-8 encoding to display Japanese characters correctly. Most modern terminals do, but you might need to configure it. * **Variable Names:** I've only translated the comments and print statements. You *could* also translate variable names (e.g., `client_socket` to `クライアントソケット`), but this is generally not recommended unless you are working on a project specifically for Japanese speakers. Keeping variable names in English makes the code more accessible to a wider audience. This provides a basic, functional MCP client and server example in Python, along with the Japanese translations you requested. Remember to use a proper Memcached library for production applications.