Discover Awesome MCP Servers
Extend your agent with 23,601 capabilities via MCP servers.
- All23,601
- 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
MySQL MCP Server Pro
Provides comprehensive MySQL database operations including CRUD, performance optimization, health analysis, and anomaly detection. Supports multiple connection modes, OAuth2.0 authentication, and role-based permissions for database management through natural language.
Playwright MCP Server
A minimal server that exposes Playwright browser automation capabilities through a simple API, enabling webpage interaction, DOM manipulation, and content extraction via the Model Context Protocol.
MCP Server
A centralized architecture that serves as the only data access layer between frontend/backend applications and Supabase/Redis, enforcing strict data access control while maintaining simplicity and efficiency.
MCP Home Assistant
Enables natural language control of Home Assistant smart home devices through Cursor AI, supporting entity queries, automation management, configuration file editing, and system operations.
Uni-res_MCP
An MCP server for my University Results
MCP Calendar Server
An ADT-based calendar management system that enables users to create, update, and organize events by category with integrated stamina tracking functionality.
Multilead Open API MCP Server
Enables AI assistants to interact with the Multilead platform for lead management, email campaigns, conversations, webhooks, and analytics through 74 API endpoints.
Ziwei Astrology MCP Server
Enables generation of detailed Chinese Ziwei Doushu (Purple Star) astrological charts with geographic location support and true solar time conversion. Provides tools for geocoding locations, converting Beijing time to apparent solar time, and creating comprehensive astrology readings based on birth information.
AI MCP ServiceNow
A Model Context Protocol server that integrates with ServiceNow instances, allowing users to utilize AI tools within ServiceNow without writing code.
Pixabay Mcp
Argo Workflow MCP Server
Enables AI agents to manage Argo Workflows through REST API, supporting workflow template and instance operations including creation, submission, monitoring, and deletion with token authentication.
mcp-flyin
A server that handles messaging or commands over a custom protocol
Azure Model Context Protocol (MCP) Hub
Okay, here's a breakdown of resources, tools, and samples for building and integrating Model Context Protocol (MCP) servers on Azure using multiple languages. Keep in mind that MCP is relatively new, so the ecosystem is still developing. I'll focus on what's available and how to adapt existing Azure resources. **Understanding the Model Context Protocol (MCP)** Before diving into specific languages, let's clarify what MCP is and its purpose. MCP is designed to provide contextual information to models, enabling them to perform tasks more effectively. This context can include user data, environment information, or other relevant details. The key is that the model *requests* this context from an MCP server. **General Azure Resources Relevant to MCP Server Development** Regardless of the language you choose, these Azure services will likely be involved: * **Azure Functions:** A serverless compute service that allows you to run code without managing servers. Excellent for building lightweight MCP servers. * **Azure App Service:** A fully managed platform for building, deploying, and scaling web apps. Suitable for more complex MCP servers. * **Azure Kubernetes Service (AKS):** For containerized deployments, providing scalability and orchestration. Useful for complex, high-demand MCP servers. * **Azure API Management:** A gateway to expose your MCP server as an API, providing security, rate limiting, and monitoring. * **Azure Cosmos DB:** A NoSQL database for storing context data. * **Azure SQL Database:** A relational database for storing context data. * **Azure Key Vault:** For securely storing secrets, API keys, and connection strings. * **Azure Monitor:** For logging and monitoring your MCP server's performance and health. **Language-Specific Resources and Samples** Here's a breakdown by language, focusing on how to adapt existing Azure resources to MCP: **1. Python** * **Azure Functions with Python:** * **Documentation:** [https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-python](https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-python) * **Adaptation for MCP:** You would create an Azure Function that receives a request from the model (following the MCP specification), retrieves the relevant context data (from Cosmos DB, SQL Database, or another source), and returns the context to the model. You'll need to define the MCP request/response format in your Python code. * **Example (Conceptual):** ```python import azure.functions as func import json # Assume you have a function to retrieve context from a database from your_data_access_module import get_context_data def main(req: func.HttpRequest) -> func.HttpResponse: try: req_body = req.get_json() model_request_id = req_body.get('model_request_id') # Example MCP request parameter user_id = req_body.get('user_id') # Example MCP request parameter if not model_request_id or not user_id: return func.HttpResponse( "Please pass a model_request_id and user_id in the request body", status_code=400 ) context_data = get_context_data(user_id) # Retrieve context based on the request return func.HttpResponse( json.dumps(context_data), # Return context as JSON mimetype="application/json", status_code=200 ) except Exception as e: return func.HttpResponse( f"Error: {str(e)}", status_code=500 ) ``` * **Flask/FastAPI on Azure App Service:** * **Documentation:** [https://learn.microsoft.com/en-us/azure/app-service/quickstart-python](https://learn.microsoft.com/en-us/azure/app-service/quickstart-python) * **Adaptation for MCP:** You can build a more robust MCP server using Flask or FastAPI. This allows you to define API endpoints, handle authentication, and manage dependencies more easily. Deploy the application to Azure App Service. * **Example (Conceptual - FastAPI):** ```python from fastapi import FastAPI, HTTPException from pydantic import BaseModel import uvicorn app = FastAPI() class ContextRequest(BaseModel): model_request_id: str user_id: str # Assume you have a function to retrieve context from a database from your_data_access_module import get_context_data @app.post("/context") async def get_model_context(request: ContextRequest): try: context_data = get_context_data(request.user_id) return context_data except Exception as e: raise HTTPException(status_code=500, detail=str(e)) if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000) ``` **2. C# (.NET)** * **Azure Functions with C#:** * **Documentation:** [https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-vs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-vs) * **Adaptation for MCP:** Similar to Python, you'd create a C# Azure Function to handle MCP requests, retrieve context, and return it. * **Example (Conceptual):** ```csharp using Microsoft.AspNetCore.Mvc; using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Extensions.Http; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System.Threading.Tasks; public static class GetModelContext { [FunctionName("GetModelContext")] public static async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); dynamic data = JsonConvert.DeserializeObject(requestBody); string modelRequestId = data?.model_request_id; string userId = data?.user_id; if (string.IsNullOrEmpty(modelRequestId) || string.IsNullOrEmpty(userId)) { return new BadRequestObjectResult("Please pass a model_request_id and user_id in the request body"); } // TODO: Retrieve context data based on userId (e.g., from a database) var contextData = new { UserId = userId, SomeContextualInformation = "Example Data" }; string responseJson = JsonConvert.SerializeObject(contextData); return new OkObjectResult(responseJson); } } ``` * **ASP.NET Core Web API on Azure App Service:** * **Documentation:** [https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api](https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api) * **Adaptation for MCP:** Build a RESTful API using ASP.NET Core. Define a controller that handles MCP requests, retrieves context, and returns it as JSON. Deploy to Azure App Service. **3. Java** * **Azure Functions with Java:** * **Documentation:** [https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-java-maven](https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-java-maven) * **Adaptation for MCP:** Create a Java Azure Function to handle MCP requests. * **Example (Conceptual):** ```java import com.microsoft.azure.functions.ExecutionContext; import com.microsoft.azure.functions.HttpMethod; import com.microsoft.azure.functions.HttpRequestMessage; import com.microsoft.azure.functions.HttpResponseMessage; import com.microsoft.azure.functions.HttpStatus; import java.util.Optional; import com.google.gson.Gson; /** * Azure Functions with HTTP Trigger. */ public class Function { /** * This function listens at endpoint "/api/GetModelContext". To invoke it using "curl" command in bash: * 1. Run: curl -d "{\"model_request_id\": \"123\", \"user_id\": \"456\"}" http://localhost:7071/api/GetModelContext * 2. POST method is used to pass the request body. */ @FunctionName("GetModelContext") public HttpResponseMessage run( @HttpTrigger( name = "req", methods = {HttpMethod.POST}, authLevel = AuthorizationLevel.FUNCTION) HttpRequestMessage<Optional<String>> request, final ExecutionContext context) { context.getLogger().info("Java HTTP trigger function processed a request."); // Parse request body try { final String requestBody = request.getBody().orElse(null); if (requestBody == null) { return request.createResponseBuilder(HttpStatus.BAD_REQUEST).body("Please pass a request body").build(); } Gson gson = new Gson(); ModelContextRequest mcr = gson.fromJson(requestBody, ModelContextRequest.class); if (mcr.model_request_id == null || mcr.user_id == null) { return request.createResponseBuilder(HttpStatus.BAD_REQUEST).body("Please pass a model_request_id and user_id in the request body").build(); } // TODO: Retrieve context data based on mcr.user_id (e.g., from a database) ModelContextData contextData = new ModelContextData(); contextData.userId = mcr.user_id; contextData.someContextualInformation = "Example Data"; String responseJson = gson.toJson(contextData); return request.createResponseBuilder(HttpStatus.OK).header("Content-Type", "application/json").body(responseJson).build(); } catch (Exception e) { return request.createResponseBuilder(HttpStatus.INTERNAL_SERVER_ERROR).body("Error: " + e.getMessage()).build(); } } // Inner classes to represent the request and response data static class ModelContextRequest { public String model_request_id; public String user_id; } static class ModelContextData { public String userId; public String someContextualInformation; } } ``` * **Spring Boot on Azure App Service:** * **Documentation:** [https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/deploy-spring-boot-java-app-with-maven-plugin](https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/deploy-spring-boot-java-app-with-maven-plugin) * **Adaptation for MCP:** Build a RESTful API using Spring Boot. **Key Considerations for MCP Server Implementation** * **MCP Specification:** The most important thing is to adhere to the MCP specification. This will define the request and response formats that your server must support. Unfortunately, a publicly available, detailed MCP specification is difficult to find. You'll likely need to work with the model provider to get the exact details. Expect it to involve JSON payloads. * **Authentication/Authorization:** Secure your MCP server. Use Azure Active Directory (Azure AD) for authentication and authorization. This ensures that only authorized models can access the context data. * **Data Access:** Choose the appropriate Azure database service (Cosmos DB, SQL Database, etc.) based on your data requirements. Implement efficient data access patterns to minimize latency. * **Performance:** Optimize your MCP server for performance. Use caching, connection pooling, and other techniques to reduce response times. Consider using Azure Content Delivery Network (CDN) for static context data. * **Monitoring and Logging:** Use Azure Monitor to track the performance and health of your MCP server. Implement comprehensive logging to help troubleshoot issues. * **Scalability:** Design your MCP server to scale to handle increasing demand. Use Azure App Service's scaling features or deploy to AKS for greater scalability. * **Error Handling:** Implement robust error handling to gracefully handle unexpected situations. Return informative error messages to the model. * **Configuration:** Use Azure App Configuration or environment variables to manage configuration settings. This allows you to easily change settings without redeploying your code. **Steps to Build and Integrate an MCP Server on Azure** 1. **Define the MCP Interface:** Work with the model provider to understand the exact request and response formats required by the MCP specification. 2. **Choose a Language and Framework:** Select a language (Python, C#, Java) and framework (Azure Functions, Flask, FastAPI, ASP.NET Core, Spring Boot) based on your team's skills and the complexity of the MCP server. 3. **Implement the MCP Server Logic:** Write the code to handle MCP requests, retrieve context data, and return it to the model. 4. **Secure the MCP Server:** Implement authentication and authorization using Azure AD. 5. **Deploy to Azure:** Deploy your MCP server to Azure App Service, Azure Functions, or AKS. 6. **Configure API Management (Optional):** Use Azure API Management to expose your MCP server as an API. 7. **Monitor and Log:** Set up Azure Monitor to track the performance and health of your MCP server. 8. **Test and Integrate:** Test the integration between your MCP server and the model. **Important Considerations and Caveats** * **Lack of a Public MCP Specification:** The biggest challenge is the lack of a publicly available, detailed MCP specification. You'll need to work closely with the model provider to get the necessary information. * **Evolving Landscape:** MCP is a relatively new concept, so the tools and resources are still evolving. Be prepared to adapt to changes. * **Model Provider Specifics:** The exact implementation details of MCP will vary depending on the model provider. **In summary,** while there isn't a single "MCP Server template" on Azure, you can leverage existing Azure services and language-specific frameworks to build a custom MCP server. The key is to understand the MCP specification provided by the model provider and implement the server logic accordingly. Remember to prioritize security, performance, and scalability. Good luck!
macOS MCP Servers
Enables Claude Desktop and GitHub Copilot to interact with native macOS applications including Spotify, Apple Music, Notes, Calendar, FaceTime, and Contacts through natural language commands. Provides comprehensive control over music playback, note management, calendar events, video calls, and contact operations using AppleScript integration.
ClinicalTrials.gov MCP Server
Empowers AI agents with direct access to the official ClinicalTrials.gov database, enabling programmatic searching, retrieval, and analysis of clinical study data through a Model Context Protocol interface.
Mattermost S MCP
Enables sending messages to Mattermost channels through webhooks via MCP protocol. Supports multiple webhook channels with simple YAML configuration and integrates seamlessly with Claude Desktop.
Apple RAG MCP
Provides AI agents with instant access to official Apple developer documentation, Swift programming guides, design guidelines, and Apple Developer YouTube content including WWDC sessions. Uses advanced RAG technology with semantic search and AI reranking to deliver accurate, contextual answers for Apple platform development.
CodeGuard MCP Server
Provides centralized security instructions for AI-assisted code generation by matching context-aware rules to the user's programming language and file patterns. It ensures generated code adheres to security best practices without requiring manual maintenance of instruction files across individual repositories.
Databricks MCP Server
Enables LLM-powered tools to interact with Databricks clusters, jobs, notebooks, SQL warehouses, and Unity Catalog through the Model Completion Protocol. Provides comprehensive access to Databricks REST API functionality including cluster management, job execution, workspace operations, and data catalog operations.
MCP Research Server
A Model Context Protocol server that provides tools for searching arXiv papers and managing research paper information with local storage capabilities.
MCP Servers
MCP Mail Organizer
Enables comprehensive email management through IMAP/SMTP protocols with tools for searching, organizing, moving, flagging, and sending emails across various email providers. Features safe preview mode for destructive operations and supports multiple email providers including Gmail, Outlook, and Chinese email services.
Zignet
Enables AI-powered Zig programming assistance through code generation, debugging, and documentation explanation. Uses local LLM models to provide idiomatic Zig code creation and analysis capabilities.
Scalene-MCP
A FastMCP server that provides LLMs with structured access to Scalene's CPU, GPU, and memory profiling for Python applications. It enables automated performance analysis, bottleneck identification, and optimization suggestions through natural language interactions in supported IDEs.
MCP Google Server
A Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.
OpenGenes MCP Server
Provides standardized access to aging and longevity research data from the OpenGenes database, enabling AI assistants to query comprehensive biomedical datasets through SQL and structured interfaces.
Granola MCP Server
Integrates local Granola.ai meeting intelligence with Claude Desktop to enable searching and analyzing meeting transcripts, notes, and summaries. Users can perform natural language queries to retrieve meeting details, analyze participant patterns, and access full speaker-identified conversations.
Notemd MCP Server
Enables AI-powered knowledge base management with automated wiki-linking, content generation from titles, web research summarization, and knowledge graph integrity maintenance for Markdown files.
mcp-searxng-tool
AIエージェントがSearXNGサービスを通じて外部ウェブサイトのコンテンツや情報を検索できるようにするためのMCPサーバー。
MelviChat MCP Server
Enables AI clients like Cursor and Claude Desktop to interact with the MelviChat platform through the Model Context Protocol. It provides a standardized interface for consuming MelviChat API services within AI development tools.