Discover Awesome MCP Servers
Extend your agent with 84,466 capabilities via MCP servers.
- All84,466
- 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
xmlriver-mcp
MCP server for XMLRiver enabling Google and Yandex SERP parsing, Yandex Wordstat keyword frequency, indexing checks, and account operations.
Pixabay Mcp
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!
Chicken Business Management MCP Server
Enables real-time voice-to-text order processing and chicken business management through WebSocket connections and REST APIs. Supports inventory tracking, sales parsing, stock forecasting, and note collection with AI-powered transcript correction and structured data extraction.
Audacity MCP Server
Audacity 用 MCP サーバー
watsonx MCP Server
Integrates with IBM watsonx.ai to enable Claude Code to delegate text generation, chat, embeddings, and model listing to IBM foundation models like Granite and Llama.
perplexity-mcp
Enables web search using Perplexity AI's API, allowing users to search the web with optional recency filters and integration with Claude, Cursor, and other MCP clients.
Weather MCP Server
Connects Claude Desktop to the Open-Meteo API to retrieve real-time weather data for cities worldwide without requiring an API key.
ariseguard-mcp
Runs AriseGuard on a project to detect valid but silently wrong bugs that pass tests, returning issues and fixes via MCP.
ClickUp MCP Server
Enables natural language management of ClickUp workspaces, including task CRUD operations, task listing, and user profile retrieval via Claude Desktop.
wapimaji-mcp
MCP server exposing Kenya NDMA drought phase classifications across all 47 counties, with tools for structured data access and SMS-based alerting via Africa’s Talking.
Personal Knowledge Assistant
Manages and analyzes personal information across email, social media, documents, and productivity metrics with AI-powered insights, communication pattern analysis, and cross-platform content management.
sipap-intelligence-mcp
AI-powered MCP server for sports predictions providing news sentiment analysis, injury impact assessment, and weather intelligence using Claude (Bedrock) and OpenWeatherMap.
github-pr-mcp
Enables GitHub repository operations (list/read files, create branches, commit files, open/list PRs) via an authless remote MCP server that keeps your GitHub token encrypted on Cloudflare, with access limited to allowed repositories.
MTE: Processos por Empregador
Enables querying labor lawsuits by employer from the official MTE source, with read-only access.
frasma
Exposes read-only MCP tools for discovering Frasma's profile and knowledge base, accessing the diagnostic framework, and preparing validated process briefs and diagnostic summaries with handoff URLs. It enables agents to gather operational context and generate quote-ready process assessments without sending emails.
wikicitation-mcp
Provides 40 tools to Claude for Wikipedia citation analysis, edit history, and DOI/ISBN annotation, enabling citation quality scoring and metadata enrichment without leaving the chat.
zotero-cli-agent
A lightweight, context-efficient CLI and optional stdio MCP server for semantic search, browsing, and writing to your Zotero library.
mcp-servers-experiments
このリポジトリには、MCPサーバーに関する私の実験が含まれています。
mcp_poc
A PDF-to-Markdown converter built with the Model-View-Controller (MVC) pattern using the Model Context Protocol (MCP).
persistenceone-bridgekitty
Cross-chain bridge aggregator MCP server for AI agents. Compares routes across LI.FI, deBridge, Relay, Across and Squid to find the best rate. Use when an agent needs to bridge or swap tokens between EVM chains, Solana, or Cosmos. The aggregator of aggregators.
MCP OCI Registry Server
A Model Context Protocol (MCP) server for querying OCI container registries. Provides tools and prompts for interacting with registries like Docker Hub, GHCR, and other OCI-compatible registries.
mcp-horoscope
Horoscope MCP — wraps the keyless Horoscope App API.
GitHub MCP Agent Server
MCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.
Blockbench MCP
Enables AI assistants to control Blockbench for Minecraft 3D modeling, including project creation, cube placement, UV layout, and texture painting.
google-ads-mcp-worker
Remote MCP server for the Google Ads API running on Cloudflare Workers. Provides read-only access to Google Ads data through GAQL, including customer listing, MCC expansion, paginated search, and resource metadata retrieval.
DevKit for Strapi MCP Server
Provides AI agents with ground-truth knowledge of Strapi projects by reading real schema files, enabling accurate queries and safe refactoring operations.
Weather MCP Tool
A Model Context Protocol tool that provides weather information for cities, with London access requiring Solana devnet payment via the Latinum Wallet MCP server.
sefaz_sp_nfce-mcp
Read-only MCP server for querying Brazilian SEFAZ SP NFC-e tax documents from official sources, with a single tool and prepaid usage.
Expo MCP Server
A Model Context Protocol server designed to streamline Expo and React Native development for AI assistants like Cursor and Claude. It provides a comprehensive suite of tools for project initialization, EAS builds, OTA updates, and development server management.