Discover Awesome MCP Servers
Extend your agent with 15,905 capabilities via MCP servers.
- All15,905
- 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 Agent Platform
複数のエージェントが連携する人間とコンピュータのインタラクションシステムで、統合された画像認識、音声認識、音声合成機能を通じて自然なインタラクションを実現します。
DatahubMCP
Enables Claude to query MySQL databases and access Google Workspace (Sheets, Forms, Drive) for education program management, with built-in templates for data analysis and report generation.
AI Pull Request Generator
An AI-powered FastMCP server tool that automates the process of planning tasks, generating code, and creating GitHub pull requests.
TheHive MCP Server
TheHive MCP Server
MCP2Brave
Brave API を使用してウェブ検索機能を提供する、MCP プロトコルに基づいたサーバー。
Laravel Forge MCP Server
A minimalist MCP server that integrates with Laravel Forge, allowing users to manage their Laravel Forge servers, sites, and deployments through AI assistants like Claude Desktop, Windsurf, or Cursor.
facebook-mcp-server
facebook-mcp-server
Remote MCP Server with Bearer Auth
A Cloudflare Workers-based MCP server implementation that supports OAuth/bearer token authentication, enabling secure remote interaction with Model Context Protocol tools.
WhatsApp MCP Server
A WhatsApp MCP (Message Control Protocol) Server implementation
Google Calendar MCP Server
モデルコンテキストプロトコル (MCP) サーバー (Google Calendar API と統合)
AI Agent with MCP
Okay, here's a basic outline and code snippets to help you create your first MCP (Model Context Protocol) server in a Playground environment. This will be a simplified example to get you started. Keep in mind that a full MCP implementation can be quite complex depending on the features you want to support. **Conceptual Overview** The Model Context Protocol (MCP) is a protocol that allows a client (e.g., a code editor, IDE, or other tool) to interact with a language server or other process that provides information about a code model. It's similar in spirit to the Language Server Protocol (LSP), but often focuses on more general model information rather than just language-specific features. **Simplified Example Structure** For this Playground example, we'll create a very basic server that responds to a single request: 1. **Client Request:** The client sends a request to the server asking for information about a specific "model element" (e.g., a variable, function, class). We'll represent this with a simple string identifier. 2. **Server Processing:** The server receives the request, looks up information about the model element (in our case, from a hardcoded dictionary), and sends a response back to the client. 3. **Client Response:** The client receives the response and displays the information. **Playground Code (Swift)** ```swift import Foundation // 1. Define the data structures struct MCPRequest: Codable { let elementId: String } struct MCPResponse: Codable { let elementId: String let description: String } // 2. Simulated Model Data (Replace with your actual model) let modelData: [String: String] = [ "myVariable": "This is a variable that stores an integer.", "myFunction": "This is a function that calculates the square of a number.", "MyClass": "This is a class that represents a user.", "anotherVariable": "This is another variable used for counting." ] // 3. Server Logic (Simplified) func handleRequest(requestData: Data) -> Data? { do { let decoder = JSONDecoder() let request = try decoder.decode(MCPRequest.self, from: requestData) guard let description = modelData[request.elementId] else { print("Element not found: \(request.elementId)") return nil // Or return an error response } let response = MCPResponse(elementId: request.elementId, description: description) let encoder = JSONEncoder() return try encoder.encode(response) } catch { print("Error decoding/encoding: \(error)") return nil // Or return an error response } } // 4. Simulate Client-Server Communication (in the same Playground) // Simulate a client request let clientRequest = MCPRequest(elementId: "myFunction") do { let encoder = JSONEncoder() let requestData = try encoder.encode(clientRequest) // Simulate sending the request to the server (in reality, this would be over a network connection) if let responseData = handleRequest(requestData: requestData) { let decoder = JSONDecoder() let response = try decoder.decode(MCPResponse.self, from: responseData) print("Received response for element: \(response.elementId)") print("Description: \(response.description)") } else { print("No response received or error occurred.") } } catch { print("Error creating request: \(error)") } // Example of a request for a non-existent element let clientRequest2 = MCPRequest(elementId: "nonExistentElement") do { let encoder = JSONEncoder() let requestData = try encoder.encode(clientRequest2) // Simulate sending the request to the server (in reality, this would be over a network connection) if let responseData = handleRequest(requestData: requestData) { let decoder = JSONDecoder() let response = try decoder.decode(MCPResponse.self, from: responseData) print("Received response for element: \(response.elementId)") print("Description: \(response.description)") } else { print("No response received or error occurred for non-existent element.") } } catch { print("Error creating request: \(error)") } ``` **Explanation:** 1. **Data Structures:** `MCPRequest` and `MCPResponse` define the structure of the messages exchanged between the client and server. They use `Codable` to make it easy to serialize and deserialize them to/from JSON. 2. **Model Data:** `modelData` is a dictionary that simulates your code model. In a real application, this would be replaced with a more sophisticated representation of your code. 3. **`handleRequest` Function:** This function is the core of the server. It receives the request data, decodes it, looks up the information in `modelData`, creates a response, encodes it, and returns the response data. Error handling is included. 4. **Client Simulation:** The code simulates a client sending a request to the server and receiving the response. In a real application, this would involve network communication (e.g., using sockets or a framework like `NIO`). **How to Run:** 1. Open Xcode. 2. Create a new Playground (File -> New -> Playground). 3. Copy and paste the code into the Playground. 4. Run the Playground (Shift + Command + Enter). **Important Considerations and Next Steps:** * **Network Communication:** This example uses in-memory communication. To create a real server, you'll need to use sockets or another networking mechanism to allow clients to connect to the server. Consider using SwiftNIO for asynchronous network handling. * **Error Handling:** The error handling in this example is basic. You should implement more robust error handling, including sending error responses to the client. * **Model Representation:** The `modelData` dictionary is a very simple representation of a code model. In a real application, you'll need a more sophisticated data structure to represent the code, including information about types, scopes, relationships between elements, etc. Consider using a graph database or a custom data structure. * **Request Types:** This example only handles one type of request. You'll need to define different request types for different operations (e.g., getting the type of a variable, finding all references to a function, etc.). * **Asynchronous Operations:** Many operations in a language server can be time-consuming (e.g., parsing code, performing static analysis). You should use asynchronous operations to avoid blocking the server's main thread. * **Concurrency:** If you want to handle multiple client requests concurrently, you'll need to use concurrency mechanisms (e.g., threads, dispatch queues, actors). * **JSON RPC:** MCP often uses JSON RPC as the underlying communication protocol. Consider using a library that provides JSON RPC support. * **Real-World MCP Implementations:** Look at existing MCP implementations (if any are publicly available) for inspiration. The Language Server Protocol (LSP) is a good starting point, as MCP is often inspired by it. **Example using SwiftNIO (Illustrative - Requires Setup)** This is a very basic example to show how you *might* use SwiftNIO. You'll need to add SwiftNIO as a dependency to your project (using Swift Package Manager). This code *won't* run directly in a Playground without extra setup. ```swift // **This is illustrative and requires SwiftNIO setup** import NIO import NIOFoundationCompat // ... (MCPRequest, MCPResponse, modelData, handleRequest from above) class MCPHandler: ChannelInboundHandler { typealias InboundIn = ByteBuffer typealias OutboundOut = ByteBuffer func channelRead(context: ChannelHandlerContext, data: NIOAny) { var buffer = self.unwrapInboundIn(data) let requestData = Data(buffer: buffer) if let responseData = handleRequest(requestData: requestData) { var responseBuffer = context.channel.allocator.buffer(capacity: responseData.count) responseBuffer.writeBytes(responseData) context.writeAndFlush(self.wrapOutboundOut(responseBuffer), promise: nil) } else { // Handle error (e.g., send an error response) print("Error handling request") } } func channelReadComplete(context: ChannelHandlerContext) { context.flush() } func errorCaught(context: ChannelHandlerContext, error: Error) { print("error: ", error) context.close(promise: nil) } } let group = MultiThreadedEventLoopGroup(numberOfThreads: 1) // Or more threads let bootstrap = ServerBootstrap(group: group) // Specify backlog and enable SO_REUSEADDR for the server itself .serverChannelOption(ChannelOptions.backlog, value: 256) .serverChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1) // Set the handlers that are applied to the accepted Channels .childChannelInitializer { channel in channel.pipeline.addHandler(MCPHandler()) } // Enable SO_REUSEADDR for the accepted Channels .childChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1) .childChannelOption(ChannelOptions.maxMessagesPerRead, value: 16) .childChannelOption(ChannelOptions.recvAllocator, value: AdaptiveRecvByteBufferAllocator()) defer { try! group.syncShutdownGracefully() } do { let channel = try bootstrap.bind(host: "localhost", port: 8888).wait() print("Server started and listening on \(channel.localAddress!)") // This will block. try channel.closeFuture.wait() } catch { fatalError("Failed to start server: \(error)") } ``` **Explanation of SwiftNIO Example:** 1. **`MCPHandler`:** This is a `ChannelInboundHandler` that receives data from the client, processes it using the `handleRequest` function, and sends the response back to the client. 2. **`ServerBootstrap`:** This sets up the server to listen for incoming connections. 3. **Event Loop Group:** SwiftNIO uses an event loop group to handle asynchronous operations. 4. **Binding:** The `bind` function starts the server listening on a specific host and port. **To use the SwiftNIO example:** 1. Create a new Xcode project (not a Playground). 2. Add SwiftNIO as a dependency using Swift Package Manager (File -> Add Packages...). 3. Copy and paste the code into your project. 4. Run the project. You would then need to write a client application (also using SwiftNIO or another networking library) to connect to the server and send requests. This is a complex topic, and this is just a starting point. Good luck! Remember to break down the problem into smaller, manageable steps.
focus_mcp_data
DataFocusのインテリジェントデータクエリプラグインは、複数ラウンドの会話をサポートし、プラグアンドプレイのChatBI機能を提供します。
PDF Reader MCP Server (@shtse8/pdf-reader-mcp)
Node.js/TypeScript で構築された MCP サーバー。AI エージェントが PDF ファイル (ローカルまたは URL) を安全に読み込み、テキスト、メタデータ、またはページ数を抽出できます。pdf-parse を使用。
MySQL MCP Server
A Model Context Protocol server that provides secure, multi-database MySQL access with configurable security levels, enabling SQL queries across multiple databases directly from VS Code.
GitHub MCP Bridge
A Model Context Protocol server that enables AI agents to securely access and interact with GitHub Enterprise data, providing access to enterprise users, organizations, emails, and license information.
YouTube Data API MCP Server
A FastAPI server that enables interaction with YouTube's data through search, video details, channel information, and comment retrieval endpoints.
Flutter MCP Server
A TypeScript-based MCP server that implements a simple notes system, enabling users to manage text notes with creation and summarization functionalities through structured prompts.
This is my package laravel-mcp-server
Fetch MCP Server
シンプルなAPI呼び出しを通じて、様々な形式(HTML、JSON、プレーンテキスト、Markdown)のウェブコンテンツを取得・変換する機能を提供します。
inked
inked
MCP AI Service Platform
A powerful AI service platform that provides complete MCP tool calling capabilities and RAG knowledge base functionality, enabling users to connect to multiple MCP servers and perform intelligent document search.
Basic MCP
A simple MCP server built with FastMCP for experimentation and learning purposes. Includes basic web tools like article fetching and serves as a human-readable template for building custom MCP servers.
Remote MCP Server Authless
A deployable MCP server on Cloudflare Workers that provides tools without requiring authentication, allowing users to connect from Cloudflare AI Playground or Claude Desktop.
Weather MCP Server
Provides weather forecasts and alerts for US locations using the National Weather Service API. Supports getting detailed forecasts by coordinates and active weather alerts by state code.
MCP Protocol Validator
MCPプロトコル仕様に対するMCPサーバー実装を検証するためのテストスイートです。開発者がプロトコル準拠と相互運用性を確保するのに役立ちます。
Alfresco MCP Server
Python-based server that provides AI-native access to Alfresco content management operations through the Model Context Protocol, enabling search, document lifecycle management, version control, and other content operations.
Kollektiv
Kollektiv
Docker MCP Server
Enables natural language management of Docker containers, images, networks, and volumes with support for both local and remote Docker engines. Features automated container composition, debugging capabilities, and persistent data management through an intuitive conversational interface.
Mastercard BIN Table MCP Server
An MCP server that provides access to Mastercard's BIN Table Resource API, allowing users to look up and interact with Bank Identification Number data through natural language queries.
YouTube MCP Server
Model Context Protocol を介して YouTube データとのインタラクションを可能にするサーバー。ユーザーは動画の検索、動画/チャンネルに関する詳細情報の取得、コメントの取得などを行うことができます。