Discover Awesome MCP Servers
Extend your agent with 29,187 capabilities via MCP servers.
- All29,187
- 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
Model Context Protocol servers
MCP Sampling Demo
Demonstrates how to implement sampling in MCP servers, allowing tools to request LLM content generation from the client without requiring external API integrations or credentials.
Pagila MCP
A read-only Model Context Protocol server developed with FastMCP for querying the Pagila PostgreSQL database. It enables secure access to movie rental data including films, actors, and customer information through natural language queries.
literature-agent-mcp
Exposes a local biomedical literature pipeline as MCP tools for automated research workflows. Enables literature search, open-access paper retrieval, and draft generation for biomedical and pathology domains through standard MCP clients.
Aws Sample Gen Ai Mcp Server
Okay, I can provide you with a sample code structure and explanation for using Gen-AI (specifically, Bedrock) with an MCP (Message Control Protocol) server in Python. This will be a conceptual outline, as a fully functional example would require specific details about your MCP server implementation and the exact Bedrock models you intend to use. **Conceptual Overview** The basic idea is: 1. **MCP Server:** This server receives requests (likely text prompts) from clients. 2. **Bedrock Integration:** The server takes the prompt, sends it to Amazon Bedrock, and receives a generated response. 3. **Response to Client:** The server sends the generated response back to the client via the MCP protocol. **Python Code Structure (Illustrative)** ```python import socket import json import boto3 # AWS SDK for Python (Boto3) # Configuration (Replace with your actual values) MCP_HOST = 'localhost' # Or your server's IP address MCP_PORT = 12345 # Or your server's port AWS_REGION = 'us-east-1' # Or your AWS region BEDROCK_MODEL_ID = 'anthropic.claude-v2' # Example model ID (replace) # Initialize Bedrock client bedrock = boto3.client(service_name='bedrock-runtime', region_name=AWS_REGION) def generate_text_with_bedrock(prompt, model_id=BEDROCK_MODEL_ID): """ Sends a prompt to Amazon Bedrock and returns the generated text. """ try: # Construct the request body (format depends on the model) if model_id.startswith("anthropic"): body = json.dumps({ "prompt": prompt, "max_tokens_to_sample": 200, # Adjust as needed "temperature": 0.5, # Adjust as needed "top_p": 0.9 }) content_type = 'application/json' accept = 'application/json' elif model_id.startswith("ai21"): body = json.dumps({ "prompt": prompt, "maxTokens": 200, "temperature": 0.7, "topP": 1 }) content_type = 'application/json' accept = 'application/json' else: raise ValueError(f"Unsupported model ID: {model_id}") response = bedrock.invoke_model( modelId=model_id, contentType=content_type, accept=accept, body=body ) response_body = json.loads(response['body'].read().decode('utf-8')) # Extract the generated text (depends on the model's response format) if model_id.startswith("anthropic"): generated_text = response_body['completion'] elif model_id.startswith("ai21"): generated_text = response_body['completions'][0]['data']['text'] else: raise ValueError(f"Unsupported model ID: {model_id}") return generated_text except Exception as e: print(f"Error generating text: {e}") return None def handle_client(client_socket): """ Handles communication with a single client. """ try: # Receive data from the client (assuming MCP format) data = client_socket.recv(1024).decode('utf-8') # Adjust buffer size as needed if not data: print("Client disconnected.") return # Parse the MCP message (assuming a simple JSON format for the prompt) try: message = json.loads(data) prompt = message.get('prompt') # Assuming the prompt is in a 'prompt' field model_id = message.get('model_id', BEDROCK_MODEL_ID) # Allow client to specify model except json.JSONDecodeError: print("Invalid JSON received.") client_socket.sendall("ERROR: Invalid JSON".encode('utf-8')) return if not prompt: print("No prompt received.") client_socket.sendall("ERROR: No prompt provided".encode('utf-8')) return # Generate text using Bedrock generated_text = generate_text_with_bedrock(prompt, model_id) if generated_text: # Construct the response message (MCP format) response_message = json.dumps({'response': generated_text}) client_socket.sendall(response_message.encode('utf-8')) else: client_socket.sendall("ERROR: Text generation failed".encode('utf-8')) except Exception as e: print(f"Error handling client: {e}") client_socket.sendall("ERROR: Internal server error".encode('utf-8')) finally: client_socket.close() def start_mcp_server(): """ Starts the MCP server. """ server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((MCP_HOST, MCP_PORT)) server_socket.listen(5) # Allow up to 5 pending connections print(f"MCP server listening on {MCP_HOST}:{MCP_PORT}") try: while True: client_socket, client_address = server_socket.accept() print(f"Accepted connection from {client_address}") # Handle the client in a separate thread or process (recommended for concurrency) # For simplicity, I'm calling it directly here, but threading/multiprocessing is better handle_client(client_socket) except KeyboardInterrupt: print("Server shutting down.") finally: server_socket.close() if __name__ == "__main__": start_mcp_server() ``` **Explanation and Vietnamese Translation** ```python import socket # Thư viện cho giao tiếp mạng socket import json # Thư viện để làm việc với dữ liệu JSON import boto3 # AWS SDK cho Python (Boto3) để tương tác với Bedrock # Cấu hình (Thay thế bằng giá trị thực tế của bạn) MCP_HOST = 'localhost' # Hoặc địa chỉ IP của máy chủ MCP của bạn MCP_PORT = 12345 # Hoặc cổng của máy chủ MCP của bạn AWS_REGION = 'us-east-1' # Hoặc khu vực AWS của bạn BEDROCK_MODEL_ID = 'anthropic.claude-v2' # ID của mô hình Bedrock (ví dụ, thay thế bằng mô hình bạn muốn dùng) # Khởi tạo client Bedrock bedrock = boto3.client(service_name='bedrock-runtime', region_name=AWS_REGION) def generate_text_with_bedrock(prompt, model_id=BEDROCK_MODEL_ID): """ Gửi một prompt đến Amazon Bedrock và trả về văn bản được tạo ra. """ try: # Xây dựng phần thân của yêu cầu (định dạng phụ thuộc vào mô hình) if model_id.startswith("anthropic"): body = json.dumps({ "prompt": prompt, "max_tokens_to_sample": 200, # Điều chỉnh nếu cần "temperature": 0.5, # Điều chỉnh nếu cần (độ ngẫu nhiên) "top_p": 0.9 # Điều chỉnh nếu cần (xác suất) }) content_type = 'application/json' accept = 'application/json' elif model_id.startswith("ai21"): body = json.dumps({ "prompt": prompt, "maxTokens": 200, "temperature": 0.7, "topP": 1 }) content_type = 'application/json' accept = 'application/json' else: raise ValueError(f"Unsupported model ID: {model_id}") response = bedrock.invoke_model( modelId=model_id, contentType=content_type, accept=accept, body=body ) response_body = json.loads(response['body'].read().decode('utf-8')) # Trích xuất văn bản được tạo ra (phụ thuộc vào định dạng phản hồi của mô hình) if model_id.startswith("anthropic"): generated_text = response_body['completion'] elif model_id.startswith("ai21"): generated_text = response_body['completions'][0]['data']['text'] else: raise ValueError(f"Unsupported model ID: {model_id}") return generated_text except Exception as e: print(f"Lỗi khi tạo văn bản: {e}") return None def handle_client(client_socket): """ Xử lý giao tiếp với một client duy nhất. """ try: # Nhận dữ liệu từ client (giả sử định dạng MCP) data = client_socket.recv(1024).decode('utf-8') # Điều chỉnh kích thước buffer nếu cần if not data: print("Client đã ngắt kết nối.") return # Phân tích cú pháp thông điệp MCP (giả sử định dạng JSON đơn giản cho prompt) try: message = json.loads(data) prompt = message.get('prompt') # Giả sử prompt nằm trong trường 'prompt' model_id = message.get('model_id', BEDROCK_MODEL_ID) # Cho phép client chỉ định model except json.JSONDecodeError: print("JSON không hợp lệ đã nhận.") client_socket.sendall("ERROR: Invalid JSON".encode('utf-8')) return if not prompt: print("Không nhận được prompt.") client_socket.sendall("ERROR: No prompt provided".encode('utf-8')) return # Tạo văn bản bằng Bedrock generated_text = generate_text_with_bedrock(prompt, model_id) if generated_text: # Xây dựng thông điệp phản hồi (định dạng MCP) response_message = json.dumps({'response': generated_text}) client_socket.sendall(response_message.encode('utf-8')) else: client_socket.sendall("ERROR: Text generation failed".encode('utf-8')) except Exception as e: print(f"Lỗi khi xử lý client: {e}") client_socket.sendall("ERROR: Internal server error".encode('utf-8')) finally: client_socket.close() def start_mcp_server(): """ Khởi động máy chủ MCP. """ server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((MCP_HOST, MCP_PORT)) server_socket.listen(5) # Cho phép tối đa 5 kết nối đang chờ print(f"Máy chủ MCP đang lắng nghe trên {MCP_HOST}:{MCP_PORT}") try: while True: client_socket, client_address = server_socket.accept() print(f"Đã chấp nhận kết nối từ {client_address}") # Xử lý client trong một thread hoặc process riêng biệt (khuyến nghị để đồng thời) # Để đơn giản, tôi gọi trực tiếp ở đây, nhưng threading/multiprocessing thì tốt hơn handle_client(client_socket) except KeyboardInterrupt: print("Máy chủ đang tắt.") finally: server_socket.close() if __name__ == "__main__": start_mcp_server() ``` **Key Points and Considerations** * **Error Handling:** The code includes basic error handling, but you should expand it to be more robust. Consider logging errors to a file. * **Concurrency:** The `handle_client` function is called directly in the `start_mcp_server` loop. This means the server can only handle one client at a time. Use threads or processes to handle multiple clients concurrently. The `threading` or `multiprocessing` modules in Python are suitable for this. * **MCP Protocol:** This example assumes a very simple JSON-based MCP protocol. You'll need to adapt the `handle_client` function to correctly parse and format messages according to your actual MCP protocol. Consider using a dedicated MCP library if one exists. * **Bedrock Model Parameters:** The `generate_text_with_bedrock` function includes parameters like `max_tokens_to_sample`, `temperature`, and `top_p`. These parameters control the generation process. Experiment with different values to get the desired results from your chosen Bedrock model. The specific parameters available and their meanings vary depending on the model. Refer to the Bedrock documentation for the model you are using. * **Authentication and Authorization:** This example doesn't include any authentication or authorization. In a real-world application, you'll need to implement security measures to protect your Bedrock API key and prevent unauthorized access to your server. Consider using IAM roles and policies for Bedrock access. * **Model ID:** Make sure the `BEDROCK_MODEL_ID` is correct and that you have access to that model in your AWS account and region. * **Region:** Ensure the `AWS_REGION` is the region where you have access to Bedrock. * **Dependencies:** You'll need to install the `boto3` library: `pip install boto3` **How to Use** 1. **Install Boto3:** `pip install boto3` 2. **Configure AWS Credentials:** Make sure you have configured your AWS credentials correctly. The easiest way is to configure the AWS CLI: `aws configure`. You'll need an AWS account and an IAM user with permissions to access Bedrock. 3. **Replace Placeholders:** Update the `MCP_HOST`, `MCP_PORT`, `AWS_REGION`, and `BEDROCK_MODEL_ID` variables with your actual values. 4. **Run the Server:** Execute the Python script. 5. **Create a Client:** Write a client application that connects to the MCP server and sends JSON messages with a "prompt" field. **Example Client (Python)** ```python import socket import json MCP_HOST = 'localhost' MCP_PORT = 12345 def send_prompt(prompt): client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect((MCP_HOST, MCP_PORT)) message = json.dumps({'prompt': prompt}) client_socket.sendall(message.encode('utf-8')) response = client_socket.recv(1024).decode('utf-8') client_socket.close() return response if __name__ == "__main__": user_prompt = "Write a short story about a cat who goes on an adventure." response = send_prompt(user_prompt) print(f"Response from server: {response}") ``` **Important Disclaimer:** This is a simplified example. Building a production-ready system requires careful consideration of security, scalability, error handling, and the specific requirements of your application. Always consult the official documentation for Amazon Bedrock and the MCP protocol you are using.
OfficeRnD MCP Server
A read-only MCP server that connects AI assistants to the OfficeRnD coworking and flex-space management platform. It enables natural language queries for community members, space bookings, billing records, and office resources.
PDFSizeAnalyzer-MCP
Enables comprehensive PDF analysis and manipulation including page size analysis, chapter extraction, splitting, compression, merging, and conversion to images. Provides both MCP server interface for AI assistants and Streamlit web interface for direct user interaction.
mcp-altegio
MCP server for Altegio API — appointments, clients, services, staff schedules
database-updater MCP Server
Gương của
Cloudflare Playwright MCP
Enables AI assistants to perform web automation tasks such as navigation, typing, clicking, and taking screenshots using Playwright on Cloudflare Workers. This server allows LLMs to interact with and control a browser across platforms like Claude Desktop and GitHub Copilot.
Security MCP Server
Enables security scanning of codebases through integrated tools for secret detection, SCA, SAST, and DAST vulnerabilities, with AI-powered remediation suggestions based on findings.
MCP Docs Server
Aggregates documentation from multiple sources (llms.txt format or web scraping) and provides semantic search capabilities using vector embeddings and hybrid search for each documentation source.
play-sound-mcp-server
An MCP server that plays local sound files on macOS using the afplay command, allowing AI assistants to trigger audio notifications after responding.
JSON MCP Server
Provides powerful JSON manipulation tools through Model Context Protocol, enabling complex queries, schema generation, and validation with jq notation and native Node.js operations.
mcp-instagram-dm
MCP server for Instagram Direct Messages. Read inbox, send messages, search conversations, react to messages, manage pending requests, and more. 15 tools with cookie-based authentication.
Database MCP Server
Provides universal database operations for AI assistants through MCP, supporting 40+ databases including PostgreSQL, MySQL, MongoDB, Redis, and SQLite with built-in introspection tools for schema exploration.
ucon-mcp
Verified unit conversion and dimensional analysis for AI agents. 190+ units, 31 domain formulas (clinical, physics, aerospace, SRE), physical constants with uncertainty propagation. Refuses invalid conversions structurally: the tool that won't convert mg to mL and knows the difference between torque and energy.
flutterclimcp
Chắc chắn rồi, đây là một ví dụ về một dự án thú vị để tạo bằng Flutter CLI MCP (Model Context Protocol) Server: **Tên dự án:** Ứng dụng "Danh sách việc cần làm thông minh" **Mô tả:** Ứng dụng này cho phép người dùng tạo và quản lý danh sách việc cần làm của họ. Điểm đặc biệt là ứng dụng sử dụng máy chủ Flutter CLI MCP để cung cấp các tính năng thông minh, chẳng hạn như: * **Gợi ý việc cần làm:** Dựa trên ngữ cảnh (ví dụ: thời gian, địa điểm, các việc cần làm đã hoàn thành), ứng dụng sẽ gợi ý các việc cần làm phù hợp. * **Ưu tiên tự động:** Ứng dụng tự động ưu tiên các việc cần làm dựa trên mức độ quan trọng và thời hạn. * **Phân tích hiệu suất:** Ứng dụng theo dõi hiệu suất của người dùng trong việc hoàn thành các việc cần làm và cung cấp thông tin chi tiết để cải thiện. **Các bước thực hiện:** 1. **Khởi tạo dự án Flutter:** Sử dụng Flutter CLI để tạo một dự án Flutter mới. 2. **Thiết kế giao diện người dùng:** Tạo giao diện người dùng cho phép người dùng thêm, chỉnh sửa, xóa và đánh dấu các việc cần làm là đã hoàn thành. 3. **Xây dựng máy chủ Flutter CLI MCP:** * Tạo một máy chủ Flutter CLI MCP để xử lý các yêu cầu từ ứng dụng Flutter. * Triển khai các tính năng thông minh (gợi ý, ưu tiên, phân tích) trên máy chủ. 4. **Kết nối ứng dụng Flutter với máy chủ MCP:** * Sử dụng giao thức MCP để giao tiếp giữa ứng dụng Flutter và máy chủ. * Gửi dữ liệu việc cần làm từ ứng dụng đến máy chủ để xử lý. * Nhận kết quả xử lý từ máy chủ và hiển thị trên ứng dụng. 5. **Thêm các tính năng bổ sung (tùy chọn):** * Tích hợp với lịch để hiển thị các việc cần làm theo thời gian. * Sử dụng vị trí để cung cấp gợi ý việc cần làm dựa trên địa điểm. * Cho phép người dùng chia sẻ danh sách việc cần làm với người khác. **Lợi ích của việc sử dụng Flutter CLI MCP:** * **Tách biệt logic nghiệp vụ:** Máy chủ MCP cho phép bạn tách biệt logic nghiệp vụ phức tạp khỏi ứng dụng Flutter, giúp ứng dụng dễ bảo trì và mở rộng hơn. * **Tái sử dụng logic:** Bạn có thể tái sử dụng logic nghiệp vụ trên nhiều ứng dụng Flutter khác nhau. * **Cải thiện hiệu suất:** Máy chủ MCP có thể xử lý các tác vụ nặng, giúp cải thiện hiệu suất của ứng dụng Flutter. **Lưu ý:** * Dự án này đòi hỏi kiến thức về Flutter, Flutter CLI và giao thức MCP. * Bạn có thể sử dụng các thư viện và gói Flutter có sẵn để đơn giản hóa việc phát triển. Chúc bạn thành công với dự án thú vị này!
mcp-lucene-server
mcp-lucene-server
DeFi Trading Agent MCP Server
Transforms AI assistants into autonomous crypto trading agents with real-time market analysis, portfolio management, and trade execution across 17+ blockchains.
Python Code Runner
Enables execution of Python code in a safe environment, including running scripts, installing packages, and retrieving variable values. Supports file operations and package management through pip.
MCP Servers
Máy chủ MCP mã nguồn mở cho nghiên cứu khoa học
AgentOS
AgentOS provides a suite of essential services for AI agents including persistent key-value memory, format conversion, and activity logging. It offers advanced tools for task state management and cost control to streamline and manage complex agent workflows.
DevUtils MCP Server
Provides essential developer tools for workspace management, including advanced file searching, project structure analysis, and batch code editing. It enables users to efficiently navigate, analyze, and modify source code within their development environment.
McpLLMServer
A FastAPI-based MCP server that enables LLM agents to interact with Ollama models through standardized MCP tools, with optional MySQL and Redis integration for data persistence and caching.
Filesystem MCP
mcp server to modify files savely in a root directory where user should not be able to escapce from
Playwright MCP
A server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots without requiring screenshots or vision models.
The Web MCP
Enables AI assistants to access real-time web data through search, markdown scraping, and browser automation while bypassing anti-bot protections. It provides tools for web research, e-commerce monitoring, and data extraction from across the globe.
Vendor Risk Assessment MCP Server
Enables AI-powered vendor risk assessment using AWS Titan, allowing users to evaluate individual vendors, compare multiple vendors, and get industry risk benchmarks through natural language queries.
FastMail MCP Server
An MCP server that integrates with FastMail's JMAP API to manage mailboxes, search for emails, and send messages. It enables users to interact with their FastMail account for tasks like reading email content and managing folders through natural language.