Discover Awesome MCP Servers
Extend your agent with 14,657 capabilities via MCP servers.
- All14,657
- 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

MongTap
Enables LLMs to create, query, and manage MongoDB-compatible databases using natural language without actual data storage. Uses statistical modeling to generate realistic data on-the-fly from sample documents or descriptions.
mcp-api-tester Tools & Interfaces
Máy chủ MCP cho LLM để kiểm tra API.

mcp-youtube
High-efficiency YouTube MCP server: Get token-optimized, structured data for your LLMs using the YouTube Data API v3.
On Running MCP
An MCP server for interacting with the On Running API
OMNI-Sales
Máy chủ MCP Bán hàng

MCP Google Server
A Model Context Protocol server providing web search capabilities using Google Custom Search API and webpage content extraction functionality.

Remote MCP Server on Cloudflare
A deployable Model Context Protocol server that runs on Cloudflare Workers without requiring authentication, allowing users to create custom AI tools and connect them to clients like Claude Desktop and Cloudflare AI Playground.

MCP TypeScript SDK
A toolkit for building Model Context Protocol servers and clients that provide standardized context for LLMs, allowing applications to expose resources, tools, and prompts through stdio or Streamable HTTP transports.

Academiadepolitie.com MCP Server
Provides AI tutoring capabilities for Romanian police academy entrance exam preparation, enabling students to access educational content, track learning progress, and collaborate with peers. Connects to the Academiadepolitie.com platform serving over 50,000 students with comprehensive study materials for law enforcement subjects.

Hello Service MCP Server
A unified HTTP/HTTPS service that exposes Model Context Protocol (MCP) functionality over HTTP endpoints, allowing clients to list available tools and call them through a standardized API.

Telnyx MCP Server
Enables interaction with Telnyx's telephony, messaging, and AI assistant APIs to manage phone numbers, send messages, make calls, and create AI assistants. Includes webhook support for real-time event handling and comprehensive tools for voice, SMS, cloud storage, and embeddings.

LayerZero OFT MCP Server
A TypeScript/Node.js server that enables creating, deploying, and bridging Omnichain Fungible Tokens (OFTs) across multiple blockchains using LayerZero protocols.
Untappd MCP Server using Azure Functions
Okay, here's an example of a Minimal, Complete, and Verifiable (MCP) Azure Function written in F# that demonstrates a simple HTTP trigger: ```fsharp namespace MyAzureFunction open Microsoft.AspNetCore.Mvc open Microsoft.Azure.WebJobs open Microsoft.Azure.WebJobs.Extensions.Http open Microsoft.AspNetCore.Http open Microsoft.Extensions.Logging module HttpExample = [<FunctionName("HttpExample")>] let Run ( [<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)>] req: HttpRequest, log: ILogger ) = task { log.LogInformation "F# HTTP trigger function processed a request." let name = match req.Query.["name"].ToString() with | null -> let reqBody = new System.IO.StreamReader(req.Body).ReadToEnd() let data = Newtonsoft.Json.JsonConvert.DeserializeObject<{| name: string |}>(reqBody) if data <> null then data.name else null | name -> name let responseMessage = match name with | null -> "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response." | name -> sprintf "Hello, %s. This HTTP triggered function executed successfully." name return OkObjectResult(responseMessage) :> IActionResult } ``` **Explanation:** 1. **Namespaces:** * `MyAzureFunction`: A namespace for the function. You can change this to something more descriptive for your project. * `Microsoft.AspNetCore.Mvc`: For returning HTTP results (e.g., `OkObjectResult`). * `Microsoft.Azure.WebJobs`: Core Azure Functions library. * `Microsoft.Azure.WebJobs.Extensions.Http`: For HTTP trigger functionality. * `Microsoft.AspNetCore.Http`: For working with HTTP requests. * `Microsoft.Extensions.Logging`: For logging. 2. **`HttpExample` Module:** * Modules in F# are used to group related functions and values. 3. **`[<FunctionName("HttpExample")>]`:** * This attribute is *crucial*. It tells Azure Functions the name of the function. This is the name you'll use when calling the function via HTTP. Change `"HttpExample"` to a more appropriate name if needed. 4. **`Run` Function:** * This is the main entry point for the Azure Function. Azure Functions will call this function when the HTTP trigger is activated. * **Parameters:** * `[<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)>] req: HttpRequest`: This is the HTTP trigger. * `AuthorizationLevel.Anonymous`: Means no authentication is required to call the function. You can change this to `Function`, `Admin`, or `System` for different levels of security. * `"get", "post"`: Specifies that the function will respond to both GET and POST requests. * `Route = null`: Means the function will be triggered by the base URL. You can specify a route (e.g., `Route = "myroute/{id}"`) to make the function respond to a specific URL pattern. * `log: ILogger`: An instance of a logger that you can use to write information, warnings, and errors to the Azure Functions logs. 5. **Function Body (Inside the `task { ... }` block):** * `log.LogInformation "F# HTTP trigger function processed a request."`: Logs a message to the Azure Functions logs. This is helpful for debugging. * **Getting the `name` parameter:** * The code first tries to get the `name` parameter from the query string (e.g., `?name=John`). * If the `name` parameter is not in the query string, it tries to read the request body as JSON and deserialize it into a record with a `name` field. This allows you to send the name in the body of a POST request. * **Creating the response message:** * If a `name` is provided (either in the query string or the request body), it creates a personalized greeting. * Otherwise, it creates a generic message. * `return OkObjectResult(responseMessage) :> IActionResult`: Creates an HTTP 200 OK response with the response message in the body. The `:> IActionResult` is an upcast, required because `OkObjectResult` is a more specific type than `IActionResult`. **How to Use This Code:** 1. **Create an Azure Functions Project:** * In Visual Studio, create a new project. Choose "Azure Functions" as the project type. * Select "HTTP trigger" as the template. * Choose F# as the language. * Select ".NET 6.0" or later as the runtime. * Choose "Anonymous" for the authorization level (you can change this later). 2. **Replace the Default Code:** * Replace the code in the generated `HttpExample.fs` file with the code above. 3. **Install Newtonsoft.Json:** * You'll need to add the `Newtonsoft.Json` NuGet package to your project to handle JSON deserialization. In Visual Studio, right-click on your project in the Solution Explorer, select "Manage NuGet Packages...", search for "Newtonsoft.Json", and install it. 4. **Run Locally:** * Press F5 to run the function locally. The Azure Functions runtime will start, and you'll see the URL of your function in the console output. 5. **Test the Function:** * Open a web browser or use a tool like `curl` or Postman to send HTTP requests to the function's URL. * **Example GET request:** `http://localhost:7071/api/HttpExample?name=Alice` (replace `7071` with the port number shown in the console). * **Example POST request (using `curl`):** ```bash curl -X POST -H "Content-Type: application/json" -d '{"name": "Bob"}' http://localhost:7071/api/HttpExample ``` 6. **Deploy to Azure:** * Right-click on your project in Visual Studio and select "Publish..." to deploy the function to Azure. You'll need an Azure subscription and an Azure Functions app to deploy to. **Key Improvements and Considerations:** * **Error Handling:** This example is very basic. In a real-world function, you'd want to add error handling (e.g., `try...with` blocks) to catch exceptions and return appropriate HTTP error codes (e.g., 400 Bad Request, 500 Internal Server Error). * **Input Validation:** Validate the input data to prevent security vulnerabilities and ensure that the function behaves correctly. * **Dependency Injection:** For more complex functions, consider using dependency injection to manage dependencies (e.g., database connections, other services). Azure Functions supports dependency injection. * **Asynchronous Operations:** Use asynchronous operations (e.g., `task { ... }`) for I/O-bound tasks (e.g., database calls, HTTP requests) to prevent blocking the thread and improve performance. * **Logging:** Use the `ILogger` interface to log information, warnings, and errors. This is essential for debugging and monitoring your function. Use structured logging where possible. * **Configuration:** Use the Azure Functions configuration system to store configuration settings (e.g., connection strings, API keys). This allows you to change the configuration without redeploying the function. * **Idempotency:** If your function performs operations that should only be executed once (e.g., processing a payment), ensure that it is idempotent. This means that if the function is called multiple times with the same input, it will only perform the operation once. * **Testing:** Write unit tests to verify that your function behaves correctly. You can use a testing framework like xUnit or NUnit. * **Authentication/Authorization:** If your function needs to be protected, configure authentication and authorization. Azure Functions supports various authentication providers, such as Azure Active Directory, Microsoft Account, and Google. * **Monitoring:** Use Azure Monitor to monitor the performance and health of your function. You can set up alerts to be notified of any issues. * **Function Bindings:** Explore other Azure Functions bindings (e.g., Blob Storage, Queue Storage, Cosmos DB) to integrate with other Azure services. Bindings simplify the process of reading and writing data to these services. * **Consider using `System.Text.Json`:** While `Newtonsoft.Json` is widely used, `System.Text.Json` is the recommended JSON library for .NET 6 and later due to its performance and security benefits. You'll need to adjust the deserialization code accordingly. This MCP example provides a solid foundation for building more complex Azure Functions in F#. Remember to adapt it to your specific needs and follow best practices for security, performance, and maintainability. **Vietnamese Translation:** Đây là một ví dụ về Azure Function MCP (Tối thiểu, Hoàn chỉnh và Có thể kiểm chứng) được viết bằng F#, minh họa một trình kích hoạt HTTP đơn giản: ```fsharp namespace MyAzureFunction open Microsoft.AspNetCore.Mvc open Microsoft.Azure.WebJobs open Microsoft.Azure.WebJobs.Extensions.Http open Microsoft.AspNetCore.Http open Microsoft.Extensions.Logging module HttpExample = [<FunctionName("HttpExample")>] let Run ( [<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)>] req: HttpRequest, log: ILogger ) = task { log.LogInformation "Hàm kích hoạt HTTP F# đã xử lý một yêu cầu." let name = match req.Query.["name"].ToString() with | null -> let reqBody = new System.IO.StreamReader(req.Body).ReadToEnd() let data = Newtonsoft.Json.JsonConvert.DeserializeObject<{| name: string |}>(reqBody) if data <> null then data.name else null | name -> name let responseMessage = match name with | null -> "Hàm kích hoạt HTTP này đã thực thi thành công. Truyền một tên trong chuỗi truy vấn hoặc trong phần thân yêu cầu để có phản hồi được cá nhân hóa." | name -> sprintf "Xin chào, %s. Hàm kích hoạt HTTP này đã thực thi thành công." name return OkObjectResult(responseMessage) :> IActionResult } ``` **Giải thích:** 1. **Không gian tên:** * `MyAzureFunction`: Một không gian tên cho hàm. Bạn có thể thay đổi điều này thành một cái gì đó mô tả hơn cho dự án của bạn. * `Microsoft.AspNetCore.Mvc`: Để trả về kết quả HTTP (ví dụ: `OkObjectResult`). * `Microsoft.Azure.WebJobs`: Thư viện Azure Functions cốt lõi. * `Microsoft.Azure.WebJobs.Extensions.Http`: Cho chức năng kích hoạt HTTP. * `Microsoft.AspNetCore.Http`: Để làm việc với các yêu cầu HTTP. * `Microsoft.Extensions.Logging`: Để ghi nhật ký. 2. **Module `HttpExample`:** * Các module trong F# được sử dụng để nhóm các hàm và giá trị liên quan. 3. **`[<FunctionName("HttpExample")>]`:** * Thuộc tính này *rất quan trọng*. Nó cho Azure Functions biết tên của hàm. Đây là tên bạn sẽ sử dụng khi gọi hàm qua HTTP. Thay đổi `"HttpExample"` thành một tên phù hợp hơn nếu cần. 4. **Hàm `Run`:** * Đây là điểm vào chính cho Azure Function. Azure Functions sẽ gọi hàm này khi trình kích hoạt HTTP được kích hoạt. * **Tham số:** * `[<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)>] req: HttpRequest`: Đây là trình kích hoạt HTTP. * `AuthorizationLevel.Anonymous`: Có nghĩa là không cần xác thực để gọi hàm. Bạn có thể thay đổi điều này thành `Function`, `Admin` hoặc `System` cho các cấp độ bảo mật khác nhau. * `"get", "post"`: Chỉ định rằng hàm sẽ phản hồi cả yêu cầu GET và POST. * `Route = null`: Có nghĩa là hàm sẽ được kích hoạt bởi URL cơ sở. Bạn có thể chỉ định một tuyến đường (ví dụ: `Route = "myroute/{id}"`) để làm cho hàm phản hồi một mẫu URL cụ thể. * `log: ILogger`: Một thể hiện của trình ghi nhật ký mà bạn có thể sử dụng để ghi thông tin, cảnh báo và lỗi vào nhật ký Azure Functions. 5. **Phần thân hàm (Bên trong khối `task { ... }`):** * `log.LogInformation "Hàm kích hoạt HTTP F# đã xử lý một yêu cầu."`: Ghi một thông báo vào nhật ký Azure Functions. Điều này hữu ích cho việc gỡ lỗi. * **Lấy tham số `name`:** * Đầu tiên, mã cố gắng lấy tham số `name` từ chuỗi truy vấn (ví dụ: `?name=John`). * Nếu tham số `name` không có trong chuỗi truy vấn, nó sẽ cố gắng đọc phần thân yêu cầu dưới dạng JSON và giải tuần tự nó thành một bản ghi có trường `name`. Điều này cho phép bạn gửi tên trong phần thân của yêu cầu POST. * **Tạo thông báo phản hồi:** * Nếu một `name` được cung cấp (trong chuỗi truy vấn hoặc phần thân yêu cầu), nó sẽ tạo ra một lời chào được cá nhân hóa. * Nếu không, nó sẽ tạo ra một thông báo chung. * `return OkObjectResult(responseMessage) :> IActionResult`: Tạo phản hồi HTTP 200 OK với thông báo phản hồi trong phần thân. `:> IActionResult` là một upcast, cần thiết vì `OkObjectResult` là một kiểu cụ thể hơn `IActionResult`. **Cách sử dụng mã này:** 1. **Tạo một dự án Azure Functions:** * Trong Visual Studio, tạo một dự án mới. Chọn "Azure Functions" làm loại dự án. * Chọn "HTTP trigger" làm mẫu. * Chọn F# làm ngôn ngữ. * Chọn ".NET 6.0" trở lên làm thời gian chạy. * Chọn "Anonymous" cho cấp độ ủy quyền (bạn có thể thay đổi điều này sau). 2. **Thay thế mã mặc định:** * Thay thế mã trong tệp `HttpExample.fs` đã tạo bằng mã trên. 3. **Cài đặt Newtonsoft.Json:** * Bạn cần thêm gói NuGet `Newtonsoft.Json` vào dự án của mình để xử lý việc giải tuần tự JSON. Trong Visual Studio, nhấp chuột phải vào dự án của bạn trong Solution Explorer, chọn "Manage NuGet Packages...", tìm kiếm "Newtonsoft.Json" và cài đặt nó. 4. **Chạy cục bộ:** * Nhấn F5 để chạy hàm cục bộ. Thời gian chạy Azure Functions sẽ bắt đầu và bạn sẽ thấy URL của hàm của mình trong đầu ra bảng điều khiển. 5. **Kiểm tra hàm:** * Mở trình duyệt web hoặc sử dụng một công cụ như `curl` hoặc Postman để gửi các yêu cầu HTTP đến URL của hàm. * **Ví dụ yêu cầu GET:** `http://localhost:7071/api/HttpExample?name=Alice` (thay thế `7071` bằng số cổng hiển thị trong bảng điều khiển). * **Ví dụ yêu cầu POST (sử dụng `curl`):** ```bash curl -X POST -H "Content-Type: application/json" -d '{"name": "Bob"}' http://localhost:7071/api/HttpExample ``` 6. **Triển khai lên Azure:** * Nhấp chuột phải vào dự án của bạn trong Visual Studio và chọn "Publish..." để triển khai hàm lên Azure. Bạn sẽ cần đăng ký Azure và một ứng dụng Azure Functions để triển khai. **Cải tiến và Cân nhắc chính:** * **Xử lý lỗi:** Ví dụ này rất cơ bản. Trong một hàm thực tế, bạn sẽ muốn thêm xử lý lỗi (ví dụ: các khối `try...with`) để bắt các ngoại lệ và trả về mã lỗi HTTP thích hợp (ví dụ: 400 Bad Request, 500 Internal Server Error). * **Xác thực đầu vào:** Xác thực dữ liệu đầu vào để ngăn chặn các lỗ hổng bảo mật và đảm bảo rằng hàm hoạt động chính xác. * **Tiêm phụ thuộc:** Đối với các hàm phức tạp hơn, hãy cân nhắc sử dụng tiêm phụ thuộc để quản lý các phụ thuộc (ví dụ: kết nối cơ sở dữ liệu, các dịch vụ khác). Azure Functions hỗ trợ tiêm phụ thuộc. * **Hoạt động không đồng bộ:** Sử dụng các hoạt động không đồng bộ (ví dụ: `task { ... }`) cho các tác vụ liên quan đến I/O (ví dụ: gọi cơ sở dữ liệu, yêu cầu HTTP) để ngăn chặn việc chặn luồng và cải thiện hiệu suất. * **Ghi nhật ký:** Sử dụng giao diện `ILogger` để ghi thông tin, cảnh báo và lỗi. Điều này rất cần thiết cho việc gỡ lỗi và giám sát hàm của bạn. Sử dụng ghi nhật ký có cấu trúc khi có thể. * **Cấu hình:** Sử dụng hệ thống cấu hình Azure Functions để lưu trữ các cài đặt cấu hình (ví dụ: chuỗi kết nối, khóa API). Điều này cho phép bạn thay đổi cấu hình mà không cần triển khai lại hàm. * **Idempotency:** Nếu hàm của bạn thực hiện các thao tác chỉ nên được thực hiện một lần (ví dụ: xử lý thanh toán), hãy đảm bảo rằng nó là idempotent. Điều này có nghĩa là nếu hàm được gọi nhiều lần với cùng một đầu vào, nó sẽ chỉ thực hiện thao tác một lần. * **Kiểm tra:** Viết các bài kiểm tra đơn vị để xác minh rằng hàm của bạn hoạt động chính xác. Bạn có thể sử dụng một khung kiểm tra như xUnit hoặc NUnit. * **Xác thực/Ủy quyền:** Nếu hàm của bạn cần được bảo vệ, hãy định cấu hình xác thực và ủy quyền. Azure Functions hỗ trợ nhiều nhà cung cấp xác thực khác nhau, chẳng hạn như Azure Active Directory, Tài khoản Microsoft và Google. * **Giám sát:** Sử dụng Azure Monitor để giám sát hiệu suất và tình trạng của hàm của bạn. Bạn có thể thiết lập cảnh báo để được thông báo về bất kỳ vấn đề nào. * **Liên kết hàm:** Khám phá các liên kết Azure Functions khác (ví dụ: Blob Storage, Queue Storage, Cosmos DB) để tích hợp với các dịch vụ Azure khác. Liên kết đơn giản hóa quá trình đọc và ghi dữ liệu vào các dịch vụ này. * **Cân nhắc sử dụng `System.Text.Json`:** Mặc dù `Newtonsoft.Json` được sử dụng rộng rãi, `System.Text.Json` là thư viện JSON được khuyến nghị cho .NET 6 trở lên do hiệu suất và lợi ích bảo mật của nó. Bạn sẽ cần điều chỉnh mã giải tuần tự cho phù hợp. Ví dụ MCP này cung cấp một nền tảng vững chắc để xây dựng các Azure Functions phức tạp hơn trong F#. Hãy nhớ điều chỉnh nó cho phù hợp với nhu cầu cụ thể của bạn và tuân theo các phương pháp hay nhất về bảo mật, hiệu suất và khả năng bảo trì.

Gotas Commerce MCP Server
A bridge between AI assistants and cryptocurrency payment services that enables creating and verifying USDT transactions through the Gotas Commerce API.

SFCC Development MCP Server
Provides comprehensive access to Salesforce B2C Commerce Cloud development tools including SFCC API documentation, best practices guides, log analysis, and system object definitions. Enables AI assistants to help with SFCC development tasks through both documentation-only mode and full credential-based mode.

markdownlint-mcp
Provides AI assistants with the ability to lint, validate, and auto-fix Markdown files to ensure compliance with established Markdown standards and best practices.

MCP Server Gemini
A Model Context Protocol server that enables Claude Desktop and other MCP-compatible clients to leverage Google's Gemini AI models with features like thinking models, Google Search grounding, JSON mode, and vision support.

Celery MCP
Enables interaction with Celery distributed task queues through MCP tools. Supports task management, monitoring worker statistics, and controlling asynchronous job execution through natural language.
MCP-SERVER-GENE
Custom MCP Servers
Một bộ sưu tập các máy chủ MCP tùy chỉnh mà tôi đã xây dựng 🧠⚡️.

Giphy API MCP Server
An auto-generated Multi-Agent Conversation Protocol (MCP) Server that enables interaction with Giphy's API through natural language, allowing users to search, retrieve, and work with GIF content programmatically.

Street View Publish API MCP Server
Enables interaction with Google's Street View Publish API for publishing and managing 360 photos on Google Street View through natural language commands.

Jokes MCP Server
A Model Context Protocol server that provides Chuck Norris and Dad jokes which can be integrated with Microsoft Copilot Studio and GitHub Copilot.
Laravel MCP (Model Context Protocol)
Một gói phần mềm để phát triển Máy chủ MCP bằng Laravel.

MCP Server
A Django-based implementation of the Model Context Protocol (MCP) for managing political preferences and visions for the future.

context-awesome
Give your AI agents access to 8,500+ community curated awesome lists with over 1 million curated resources.
Burpsuite MCP Server
Azure Database for PostgreSQL MCP Server (Preview)
Máy chủ MCP cho Azure Database for PostgreSQL

MCP Memory Server
Provides persistent memory functionality for AI conversations by creating, managing and querying entities and relationships in a knowledge graph. Features SQLite storage, advanced search capabilities, and Windows auto-start integration for long-term AI memory retention.

国金QMT-MCP
A modular quantitative trading assistant that integrates with XTQuant/QMT trading platform, enabling AI-assisted trading strategy generation, real-time trade execution, and performance backtesting.