Discover Awesome MCP Servers
Extend your agent with 84,516 capabilities via MCP servers.
- All84,516
- 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
mcp-imap-server
Enables LLMs to read, search, and manage emails via IMAP with secure, read-only access to email accounts.
Illustrator MCP
An MCP server that lets AI assistants like Claude control Adobe Illustrator through natural language by executing ExtendScript code and providing document state inspection.
legitAgent
An MCP server that scans web projects for Russian Federal Law 152-FZ compliance, identifying risks like missing consent checkboxes, cookie banners without opt-out, and unauthorized trackers, with legal references and fix suggestions.
Firestore Advanced MCP
Un servidor de Protocolo de Contexto de Modelo que permite a los modelos de lenguaje grandes como Claude realizar interacciones integrales con bases de datos Firebase Firestore, admitiendo operaciones CRUD completas, consultas complejas y funciones avanzadas como transacciones y gestión de TTL (Time To Live).
todoist-mcp
Enables Claude Desktop and other MCP clients to manage Todoist tasks, projects, and labels through natural language.
Prism MCP
Production-ready MCP server with session memory, Brave Search, Vertex AI Discovery Engine, Google Gemini analysis, and sandboxed code-mode transforms.
standard-vocal-mcp
Voice Agent Factory for Vapi phone agents: vertical templates, self-testing agents, audio forensics, prompt versioning, CI regression gates.
turbovec-mcp
Enables local semantic code search using compressed vectors from turbovec and any OpenAI-compatible embeddings endpoint.
github-code-rag-mcp
MCP server for GitHub code retrieval and reuse, using SQLite+FTS5 indexing and search history to enable search-first, requirements-refined code search from GitHub repositories.
Planning MCP Server
Provides comprehensive Australian planning property reports, including zoning, overlays, land size, and utility information for AI assistants. This high-performance MCP server is built for Cloudflare Workers and enables real-time property data retrieval through an HTTP-based interface.
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.
Jira MCP Server
Manages Atlassian Jira Cloud projects, issues, sprints, boards, worklogs, comments, and workflow transitions from MCP-compatible clients.
FastMCP Server
A high-performance personal Model Context Protocol (MCP) server built with the FastMCP Python framework.
Cloudflare MCP
Enables creation and deployment of MCP servers on Cloudflare Workers, with local testing and one-command deployment.
Glance
An MCP server that gives Claude Code real browser control for web automation, testing, and screenshots.
mcp-nckuhub-server
Salesforce MCP
Salesforce MCP
remote-mcp-fastapi
Exposes news search and top headlines via GNews API, plus simulated email tools for sending and retrieving emails.
CCC Brand MCP
Strict Model Context Protocol server for Consumer Choice Center brand-guided generation. It exposes the CCC 2026 brand guide as machine-readable resources and tools so an LLM can retrieve brand assets, validate designs, and generate on-brand prompts and SVG drafts.
MCP channel
A lightweight server that enables multi-agent orchestration by allowing agents to communicate through direct messages and named channels. It provides tools for agents to discover each other, create communication channels, and exchange messages via a central broker.
netherlands-invoice-mcp
Enables AI agents to send Dutch B2B electronic invoices (e-factuur) over the Peppol network using Storecove as the access point.
mcp-datahub
An MCP server and Go library that connects AI assistants to DataHub metadata catalogs, enabling dataset search, schema exploration, lineage tracing, and glossary access.
crawl4ai-mcp
Okay, here's a Python outline and conceptual structure for wrapping the Crawl4AI library within an MCP (Model Context Protocol) server. This is a complex task, so I'll break it down into key components and provide code snippets to illustrate the core ideas. **Conceptual Overview** 1. **Crawl4AI Library:** Assume you have the Crawl4AI library installed and accessible in your Python environment. This library provides functions for web crawling, data extraction, and AI-related tasks. Let's say it has functions like: * `crawl_website(url, max_depth)`: Crawls a website up to a specified depth. * `extract_text(html_content)`: Extracts text from HTML content. * `analyze_content(text)`: Analyzes the extracted text using AI models (e.g., sentiment analysis, topic extraction). 2. **MCP Server:** The MCP server will act as a central point for receiving requests to use the Crawl4AI functions. It will expose these functions as services that can be called remotely. We'll use a framework like Flask or FastAPI to create the server. 3. **MCP Protocol:** MCP defines a standard way for clients to communicate with the server. Requests are typically sent as JSON payloads, and responses are also in JSON format. The requests will specify which Crawl4AI function to call and the parameters to pass to it. 4. **Python Implementation:** We'll use Python to: * Wrap the Crawl4AI functions. * Create the MCP server using Flask or FastAPI. * Handle incoming MCP requests. * Call the Crawl4AI functions. * Format the results as JSON responses. **Code Structure (Illustrative)** ```python # Import necessary libraries from flask import Flask, request, jsonify import json # Assume Crawl4AI is installed and accessible # import Crawl4AI # Replace with the actual import app = Flask(__name__) # Mock Crawl4AI functions (replace with actual Crawl4AI calls) def crawl_website(url, max_depth): """Mocks crawling a website.""" print(f"Crawling {url} with max depth {max_depth}") # Simulate crawling and getting HTML content html_content = f"<html><body><h1>Crawled Content from {url}</h1><p>Some text.</p></body></html>" return html_content def extract_text(html_content): """Mocks extracting text from HTML.""" print("Extracting text from HTML") text = "Crawled Content from a website. Some text." return text def analyze_content(text): """Mocks analyzing content.""" print("Analyzing content") analysis_result = {"sentiment": "neutral", "topic": "general"} return analysis_result @app.route('/mcp', methods=['POST']) def mcp_handler(): """Handles MCP requests.""" try: data = request.get_json() print(f"Received MCP request: {data}") # Extract function name and parameters from the MCP request function_name = data.get('function') params = data.get('params', {}) # Default to empty dictionary if no params # Call the appropriate Crawl4AI function based on the function name if function_name == 'crawl_website': url = params.get('url') max_depth = params.get('max_depth', 1) # Default max_depth result = crawl_website(url, max_depth) # Call the Crawl4AI function response_data = {"result": result} # Wrap the result elif function_name == 'extract_text': html_content = params.get('html_content') result = extract_text(html_content) response_data = {"result": result} elif function_name == 'analyze_content': text = params.get('text') result = analyze_content(text) response_data = {"result": result} else: return jsonify({"error": "Invalid function name"}), 400 # Return the result as a JSON response return jsonify(response_data), 200 except Exception as e: print(f"Error processing request: {e}") return jsonify({"error": str(e)}), 500 if __name__ == '__main__': app.run(debug=True, host='0.0.0.0', port=5000) ``` **Explanation:** 1. **Imports:** Imports Flask for creating the web server and `json` for handling JSON data. 2. **Mock Crawl4AI Functions:** These are placeholder functions. **You must replace these with actual calls to your Crawl4AI library.** They simulate the behavior of the Crawl4AI functions for demonstration purposes. 3. **`mcp_handler` Function:** * This function is the endpoint that receives MCP requests (at the `/mcp` route). * It parses the JSON request body using `request.get_json()`. * It extracts the `function` name and `params` from the request. * It uses an `if/elif/else` block to determine which Crawl4AI function to call based on the `function_name`. * It calls the appropriate Crawl4AI function with the provided parameters. * It formats the result as a JSON response using `jsonify()`. * It handles potential errors using a `try...except` block and returns an error response if something goes wrong. 4. **`if __name__ == '__main__':`:** This ensures that the Flask app is only run when the script is executed directly (not when it's imported as a module). It starts the Flask development server. **How to Run:** 1. **Install Flask:** `pip install flask` 2. **Replace Mock Functions:** Replace the mock Crawl4AI functions with actual calls to your Crawl4AI library. 3. **Run the Script:** `python your_script_name.py` **Example MCP Request (sent to the server):** ```json { "function": "crawl_website", "params": { "url": "https://www.example.com", "max_depth": 2 } } ``` **Example MCP Response (from the server):** ```json { "result": "<html><body><h1>Crawled Content from https://www.example.com</h1><p>Some text.</p></body></html>" } ``` **Key Improvements and Considerations:** * **Error Handling:** The `try...except` block provides basic error handling. You should add more robust error handling, including logging and more specific exception handling. * **Input Validation:** Validate the input parameters in the `mcp_handler` function to prevent errors and security vulnerabilities. For example, check if the `url` is a valid URL. * **Security:** If this server will be exposed to the internet, implement proper security measures, such as authentication and authorization. Consider using HTTPS. * **Asynchronous Operations:** Web crawling can be time-consuming. Consider using asynchronous tasks (e.g., with `asyncio` or Celery) to prevent the server from blocking while crawling. This will improve the server's responsiveness. * **Configuration:** Use a configuration file (e.g., a `.ini` or `.yaml` file) to store settings such as the server port, logging level, and API keys. * **Logging:** Implement comprehensive logging to track requests, errors, and other important events. * **Documentation:** Document the API endpoints and the expected request/response formats. Consider using a tool like Swagger/OpenAPI to generate API documentation. * **Rate Limiting:** Implement rate limiting to prevent abuse of the API. * **Framework Choice:** While Flask is a good starting point, FastAPI is often preferred for modern APIs due to its performance and automatic data validation. The code structure would be similar, but you'd use FastAPI's decorators and data validation features. **Example using FastAPI:** ```python from fastapi import FastAPI, HTTPException from pydantic import BaseModel from typing import Optional app = FastAPI() # Define data models for request parameters (using Pydantic) class CrawlWebsiteParams(BaseModel): url: str max_depth: Optional[int] = 1 class ExtractTextParams(BaseModel): html_content: str class AnalyzeContentParams(BaseModel): text: str # Mock Crawl4AI functions (replace with actual Crawl4AI calls) def crawl_website(url: str, max_depth: int): """Mocks crawling a website.""" print(f"Crawling {url} with max depth {max_depth}") # Simulate crawling and getting HTML content html_content = f"<html><body><h1>Crawled Content from {url}</h1><p>Some text.</p></body></html>" return html_content def extract_text(html_content: str): """Mocks extracting text from HTML.""" print("Extracting text from HTML") text = "Crawled Content from a website. Some text." return text def analyze_content(text: str): """Mocks analyzing content.""" print("Analyzing content") analysis_result = {"sentiment": "neutral", "topic": "general"} return analysis_result @app.post("/crawl_website") async def crawl_website_endpoint(params: CrawlWebsiteParams): try: result = crawl_website(params.url, params.max_depth) return {"result": result} except Exception as e: raise HTTPException(status_code=500, detail=str(e)) @app.post("/extract_text") async def extract_text_endpoint(params: ExtractTextParams): try: result = extract_text(params.html_content) return {"result": result} except Exception as e: raise HTTPException(status_code=500, detail=str(e)) @app.post("/analyze_content") async def analyze_content_endpoint(params: AnalyzeContentParams): try: result = analyze_content(params.text) return {"result": result} except Exception as e: raise HTTPException(status_code=500, detail=str(e)) ``` In the FastAPI example: * **Pydantic:** Pydantic is used to define data models (`CrawlWebsiteParams`, `ExtractTextParams`, `AnalyzeContentParams`). This provides automatic data validation and serialization. * **Type Hints:** Type hints are used extensively to improve code readability and help with static analysis. * **FastAPI Decorators:** FastAPI's decorators (`@app.post`) are used to define the API endpoints and the HTTP methods they handle. * **HTTPException:** `HTTPException` is used to raise HTTP errors with appropriate status codes and error messages. * **Separate Endpoints:** Each Crawl4AI function has its own dedicated endpoint (e.g., `/crawl_website`, `/extract_text`). This is generally a cleaner and more RESTful approach than a single `/mcp` endpoint. Remember to replace the mock functions with your actual Crawl4AI library calls. This comprehensive outline should give you a solid foundation for building your MCP server. Good luck!
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.
Xident MCP
MCP servers for building and running Xident age and identity verification from AI agents. They provide documentation lookup, sandbox test verifications, webhook debugging, and a production runtime with OAuth 2.1 authorization.
InfluxDB-v1-MCP
InfluxDB-v1-MCP is a powerful Model Context Protocol (MCP) interface specifically designed for InfluxDB v1.x, enabling AI assistants to intelligently manage and query time-series databases.
ApexVol MCP Server
Provides natural language access to ApexVol's options analytics platform, enabling queries on options chains, volatility metrics, Greeks, flow analysis, and strategy building via Claude Code or Claude Desktop.
BharatPay MCP
Provides AI agents with Indian fintech utilities including IFSC bank lookups, PAN/GSTIN validation, mutual fund NAVs, UPI VPA identification, pincode lookups, and INR formatting, all with zero authentication and zero cost.
bubble-agent-mcp
MCP server that helps users discover fast-growing internet conversations and trending topics in real time. Compatible with AI assistants like Claude, Codex, and Cursor, it enables natural language search for emerging discussions.
Kuzu Knowledge Graph MCP Server
Connects to an embedded Kuzu graph database and provides read-only MCP tools for AI clients to query a knowledge graph.