Discover Awesome MCP Servers

Extend your agent with 78,875 capabilities via MCP servers.

All78,875
cmux-agent-mcp

cmux-agent-mcp

A programmable terminal control plane that enables AI agents to orchestrate, monitor, and interact with multiple parallel AI CLI sessions and browser instances within CMUX. It provides over 80 tools for workspace management, pane manipulation, and cross-agent communication to facilitate complex multi-project workflows.

earthquake-mcp-server

earthquake-mcp-server

Search USGS and EMSC seismic data for real-time feeds, event queries, and earthquake counts via MCP.

MCPBridge

MCPBridge

Connects Claude Code and Ollama to Roblox Studio and Blender via the Model Context Protocol, enabling AI-driven scripting and 3D scene manipulation.

SigNoz MCP Server

SigNoz MCP Server

Enables AI assistants and LLMs to query SigNoz observability data (metrics, traces, logs, alerts, dashboards) using natural language.

Banco MCP

Banco MCP

Connects Brazilian banks (Itaú, Bradesco, Nubank, etc.) to AI agents, enabling natural language queries about expenses, statements, investments, and credit cards via regulated Open Finance.

crawl4ai-mcp

crawl4ai-mcp

了解しました。以下に、Crawl4AIライブラリをPythonで関数としてラップし、MCP (Model Context Protocol) サーバーとして機能させるためのコード例と説明を示します。 **概要** このコードは、以下のことを行います。 1. **Crawl4AIライブラリのインポート:** Crawl4AIライブラリをインポートし、必要な関数を使用できるようにします。 2. **関数ラッパーの定義:** Crawl4AIの機能をPython関数としてラップします。これらの関数は、MCPサーバーから呼び出すことができます。 3. **MCPサーバーの実装:** MCPサーバーを実装し、クライアントからのリクエストをリッスンし、適切な関数を呼び出して結果を返します。 4. **エラー処理:** エラーが発生した場合に、適切なエラーメッセージをクライアントに返します。 **コード例 (Python)** ```python import json import socket import threading import crawl4ai # Crawl4AIライブラリをインポート (インストールが必要) # Crawl4AIライブラリの関数をラップする関数 def crawl_website(url, max_depth=1): """ 指定されたURLからウェブサイトをクロールし、結果を返します。 Args: url (str): クロールするウェブサイトのURL。 max_depth (int): クロールの最大深度 (デフォルト: 1)。 Returns: str: クロール結果のJSON文字列。 """ try: crawler = crawl4ai.Crawler(url, max_depth=max_depth) results = crawler.crawl() return json.dumps(results) # 結果をJSON形式に変換 except Exception as e: return json.dumps({"error": str(e)}) # エラーをJSON形式で返す # MCPサーバーの実装 class MCPServer: def __init__(self, host, port): self.host = host self.port = port self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # アドレス再利用を許可 self.server_socket.bind((self.host, self.port)) self.server_socket.listen(5) # 最大5つの接続をキューに入れる print(f"MCPサーバーが {self.host}:{self.port} で起動しました") def run(self): while True: client_socket, addr = self.server_socket.accept() print(f"クライアント {addr} からの接続を受け入れました") client_thread = threading.Thread(target=self.handle_client, args=(client_socket,)) client_thread.start() def handle_client(self, client_socket): try: request_data = client_socket.recv(1024).decode('utf-8') if not request_data: print("クライアントからのデータがありません") return try: request = json.loads(request_data) action = request.get("action") params = request.get("params", {}) if action == "crawl_website": url = params.get("url") max_depth = params.get("max_depth", 1) response = crawl_website(url, max_depth) else: response = json.dumps({"error": "無効なアクション"}) except json.JSONDecodeError: response = json.dumps({"error": "無効なJSONリクエスト"}) client_socket.sendall(response.encode('utf-8')) except Exception as e: print(f"クライアント処理中にエラーが発生しました: {e}") finally: client_socket.close() print("クライアント接続を閉じました") # サーバーの起動 if __name__ == "__main__": HOST = "127.0.0.1" # localhost PORT = 65432 # 使用するポート番号 server = MCPServer(HOST, PORT) server.run() ``` **コードの説明** * **`crawl_website(url, max_depth=1)` 関数:** * `crawl4ai.Crawler(url, max_depth=max_depth)`: Crawl4AIライブラリを使用して、指定されたURLからウェブサイトをクロールするためのCrawlerオブジェクトを作成します。`max_depth`はクロールの深さを指定します。 * `crawler.crawl()`: ウェブサイトのクロールを実行し、結果を取得します。 * `json.dumps(results)`: クロール結果をJSON形式の文字列に変換します。これは、MCPサーバーがクライアントにデータを送信するために必要です。 * `try...except` ブロック: エラー処理を行います。クロール中にエラーが発生した場合、エラーメッセージをJSON形式で返します。 * **`MCPServer` クラス:** * `__init__(self, host, port)`: コンストラクタ。ホストとポート番号を設定し、サーバーソケットを作成してバインドします。`setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)` は、サーバーを再起動する際にアドレスが使用中であるというエラーを回避するために使用されます。 * `run(self)`: サーバーのメインループ。クライアントからの接続を待ち受け、接続を受け入れると、新しいスレッドを作成してクライアントの処理を行います。 * `handle_client(self, client_socket)`: クライアントからのリクエストを処理する関数。 * `client_socket.recv(1024).decode('utf-8')`: クライアントからデータを受信します。 * `json.loads(request_data)`: 受信したデータをJSON形式にデコードします。 * `request.get("action")`: リクエストから実行するアクションを取得します。 * `request.get("params", {})`: リクエストからパラメータを取得します。 * `if action == "crawl_website"`: アクションが "crawl\_website" の場合、`crawl_website` 関数を呼び出してクロールを実行し、結果をクライアントに返します。 * `json.dumps({"error": "無効なアクション"})`: 無効なアクションが指定された場合、エラーメッセージをJSON形式で返します。 * `client_socket.sendall(response.encode('utf-8'))`: クライアントに応答を送信します。 * `client_socket.close()`: クライアントソケットを閉じます。 * `try...except...finally` ブロック: エラー処理を行います。クライアント処理中にエラーが発生した場合、エラーメッセージを出力し、最後にクライアントソケットを閉じます。 * **`if __name__ == "__main__":` ブロック:** * サーバーを起動するためのコードが含まれています。 * `HOST = "127.0.0.1"`: サーバーがリッスンするホストアドレスを設定します (localhost)。 * `PORT = 65432`: サーバーがリッスンするポート番号を設定します。 * `server = MCPServer(HOST, PORT)`: MCPServerオブジェクトを作成します。 * `server.run()`: サーバーを起動します。 **使用方法** 1. **Crawl4AIライブラリのインストール:** ```bash pip install crawl4ai ``` 2. **コードの保存:** 上記のコードを `mcp_server.py` などのファイルに保存します。 3. **サーバーの実行:** ```bash python mcp_server.py ``` 4. **クライアントからのリクエストの送信:** クライアントからJSON形式のリクエストを送信します。例えば、`curl` コマンドを使用できます。 ```bash curl -X POST -H "Content-Type: application/json" -d '{"action": "crawl_website", "params": {"url": "https://www.example.com", "max_depth": 2}}' http://127.0.0.1:65432 ``` **クライアント側の例 (Python)** ```python import socket import json def send_request(host, port, action, params): """ MCPサーバーにリクエストを送信し、応答を受信します。 Args: host (str): サーバーのホストアドレス。 port (int): サーバーのポート番号。 action (str): 実行するアクション。 params (dict): アクションのパラメータ。 Returns: dict: サーバーからの応答。 """ try: client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect((host, port)) request = {"action": action, "params": params} request_data = json.dumps(request).encode('utf-8') client_socket.sendall(request_data) response_data = client_socket.recv(4096).decode('utf-8') response = json.loads(response_data) return response except Exception as e: print(f"エラーが発生しました: {e}") return {"error": str(e)} finally: client_socket.close() if __name__ == "__main__": HOST = "127.0.0.1" PORT = 65432 # ウェブサイトのクロールをリクエスト response = send_request(HOST, PORT, "crawl_website", {"url": "https://www.example.com", "max_depth": 2}) print(f"サーバーからの応答: {response}") # 無効なアクションをリクエスト response = send_request(HOST, PORT, "invalid_action", {}) print(f"サーバーからの応答: {response}") ``` **注意点** * **エラー処理:** コードには基本的なエラー処理が含まれていますが、より堅牢なエラー処理が必要な場合は、例外処理を改善してください。 * **セキュリティ:** このコードは基本的な例であり、セキュリティ対策は含まれていません。本番環境で使用する場合は、セキュリティ対策を検討してください。 * **スケーラビリティ:** このコードはシングルスレッドで動作するため、大量のリクエストを処理するにはスケーラビリティが不足する可能性があります。よりスケーラブルなソリューションが必要な場合は、非同期処理やマルチプロセスなどを検討してください。 * **Crawl4AIライブラリの制限:** Crawl4AIライブラリの制限事項 (クロールできるウェブサイトの種類、クロール速度など) を考慮してください。 * **依存関係:** `crawl4ai` ライブラリがインストールされていることを確認してください。 **改善点** * **設定ファイルの利用:** ホスト、ポート番号、Crawl4AIの設定などを設定ファイルから読み込むようにすると、柔軟性が向上します。 * **ロギング:** ロギングを実装して、サーバーの動作状況を記録するようにすると、デバッグや監視が容易になります。 * **認証:** クライアントからのリクエストを認証するようにすると、セキュリティが向上します。 * **レート制限:** クライアントからのリクエストにレート制限を設けることで、サーバーの負荷を軽減できます。 * **非同期処理:** `asyncio` などの非同期処理ライブラリを使用すると、サーバーのスループットを向上させることができます。 このコードはあくまで基本的な例であり、実際の使用状況に合わせてカスタマイズする必要があります。特に、エラー処理、セキュリティ、スケーラビリティについては、十分な検討が必要です。 **日本語訳 (概要)** このコードは、Crawl4AIライブラリをPythonで関数としてラップし、MCP (Model Context Protocol) サーバーとして機能させるためのものです。 1. **Crawl4AIライブラリのインポート:** Crawl4AIライブラリをインポートし、必要な関数を使えるようにします。 2. **関数ラッパーの定義:** Crawl4AIの機能をPython関数としてラップします。これらの関数は、MCPサーバーから呼び出すことができます。 3. **MCPサーバーの実装:** MCPサーバーを実装し、クライアントからのリクエストをリッスンし、適切な関数を呼び出して結果を返します。 4. **エラー処理:** エラーが発生した場合に、適切なエラーメッセージをクライアントに返します。 **注意点 (日本語訳)** * **エラー処理:** コードには基本的なエラー処理が含まれていますが、より堅牢なエラー処理が必要な場合は、例外処理を改善してください。 * **セキュリティ:** このコードは基本的な例であり、セキュリティ対策は含まれていません。本番環境で使用する場合は、セキュリティ対策を検討してください。 * **スケーラビリティ:** このコードはシングルスレッドで動作するため、大量のリクエストを処理するにはスケーラビリティが不足する可能性があります。よりスケーラブルなソリューションが必要な場合は、非同期処理やマルチプロセスなどを検討してください。 * **Crawl4AIライブラリの制限:** Crawl4AIライブラリの制限事項 (クロールできるウェブサイトの種類、クロール速度など) を考慮してください。 * **依存関係:** `crawl4ai` ライブラリがインストールされていることを確認してください。 このコードはあくまで基本的な例であり、実際の使用状況に合わせてカスタマイズする必要があります。特に、エラー処理、セキュリティ、スケーラビリティについては、十分な検討が必要です。

Vision-OCR-MCP

Vision-OCR-MCP

Enables OCR on images and PDFs, including full-page OCR, region OCR by description or bounding box, and caching with summary capabilities.

image_studio_mcp

image_studio_mcp

An MCP server that lets any MCP client generate and edit images using Image Studio API, returning results inline and saving PNGs to disk.

UniProt MCP Server

UniProt MCP Server

UniProt MCP Server

mcp-voice-hooks

mcp-voice-hooks

Voice Mode for Claude Code

Glance

Glance

An MCP server that gives Claude Code real browser control for web automation, testing, and screenshots.

har-mcp

har-mcp

Professional MCP server for HAR (HTTP Archive) network captures, enabling AI agents to extract endpoints, detect secrets, generate code, and export to Postman/OpenAPI.

github-stars-mcp

github-stars-mcp

Analyzes and compares GitHub repositories, tracks star growth, and offers AI-powered README optimization to help grow open-source projects.

GBIF Biodiversity MCP Server

GBIF Biodiversity MCP Server

Search GBIF species taxonomy, occurrence records, datasets, and publishers via MCP.

openwrt-mcp-server

openwrt-mcp-server

Enables management of OpenWrt routers via SSH, providing tools for network configuration, system administration, file operations, and package management through natural language.

bucket-helper-mcp

bucket-helper-mcp

Provides MCP tools for AWS S3 and S3-compatible storage, enabling file upload, download, listing, deletion, and temporary remote file staging via natural language.

Paperless MCP

Paperless MCP

Enables searching, tagging, uploading, and reading documents in Paperless-NGX, with management of tags, correspondents, document types, and custom fields via MCP tools and resources.

mcp-json

mcp-json

Provides tools to validate, format, and query JSON strings via MCP. Enables AI agents to work with JSON data without needing keys or internet.

mcptesis

mcptesis

Read-only MCP server exposing a fleet management PostgreSQL database via schema introspection and safe SELECT query tools, enabling natural language question answering about fleet data.

netbox-mcp

netbox-mcp

A read-only MCP server that exposes NetBox IPAM data over HTTP, allowing engineers to query subnets, IPs, and VLANs using natural language through AI assistants.

Synaptex

Synaptex

Syncs CLAUDE.md files across repos, builds a semantic index, and exposes search, list, context, and status tools to Claude via MCP.

CaddyUI MCP

CaddyUI MCP

Enables inspection and management of Caddy reverse proxy configuration via CaddyUI's REST API, including proxy hosts, redirection hosts, raw routes, and TLS certificates.

code-graph-mcp

code-graph-mcp

MCP server for comprehensive code analysis, navigation, and quality assessment across 25+ programming languages.

Levels of Self

Levels of Self

Provides access to thousands of interactive self-awareness scenarios, behavioral archetypes, and breakthrough exercises from the Levels of Self development game. It enables AI assistants to guide users through pattern recognition and developmental coaching across seven levels of self-awareness.

Overleaf MCP Server

Overleaf MCP Server

Enables MCP clients to manage Overleaf projects via Git sync, including listing, reading, writing, and syncing files.

Gemini Audio Upload

Gemini Audio Upload

Enables audio file analysis using Google's Gemini multimodal models with support for additional context and system instructions to guide the model's behavior.

Playwright Plus Python MCP

Playwright Plus Python MCP

Enables browser automation and web scraping through Playwright, supporting navigation, screenshots, element interaction, form filling, JavaScript execution, and content extraction.

hypernmnesia-mcp-viz

hypernmnesia-mcp-viz

A read-only, cross-platform visualization layer for Cortex that renders memory, sessions, and code into six live reading angles (graph galaxy, 3D anatomical brain, execution trace, consolidation board, knowledge browser, and wiki) without ever writing a memory.

DeskMail AI

DeskMail AI

Connects Claude Desktop to a local email client, enabling AI-powered email reading, searching, drafting, and organization while preventing sending or permanent deletion.

sourcebook

sourcebook

MCP server that gives AI coding agents a git-backed markdown wiki to read and update, enabling search, read, write, verify, ingest, promote, and lint operations on versioned knowledge documents with schema validation, staleness tracking, and contradiction detection.