Discover Awesome MCP Servers

Extend your agent with 36,080 capabilities via MCP servers.

All36,080
Xiayan MCP Server

Xiayan MCP Server

Enables publishing Markdown articles to WeChat Official Account draft box with 8 elegant themes, automatic image upload, and comprehensive media material management capabilities.

HRFCO Service

HRFCO Service

Dịch vụ truy xuất thông tin thủy văn theo thời gian thực, cung cấp dữ liệu về mực nước, lượng mưa, xả lũ đập và thông tin vị trí trạm quan trắc.

Task Manager MCP Server

Task Manager MCP Server

Enables local task management through the Model Context Protocol with tools for creating, updating, and deleting tasks. It also provides read-only resources for viewing task summaries and full task lists.

AI Validation MCP Server

AI Validation MCP Server

Automatically enhances user prompts by applying expert-level prompt engineering techniques tailored to technical, creative, or analytical content types. It provides visual feedback on applied optimizations to ensure higher quality, structured, and more comprehensive AI responses.

Shortcut MCP

Shortcut MCP

Enables users to save frequently used long prompts as simple shortcuts like /review or /debug. Transform 500-word prompts into 8-character commands across any MCP-compatible platform.

Playwright MCP Server

Playwright MCP Server

Một máy chủ cho phép các hệ thống AI duyệt, truy xuất nội dung từ và tương tác với các trang web thông qua Giao thức Ngữ cảnh Mô hình (Model Context Protocol).

Qt Pilot

Qt Pilot

An MCP server for headless Qt/PySide6 GUI testing that enables AI assistants to launch desktop applications via Xvfb and perform visual verification. It supports widget discovery, screenshot capture, and simulated user interactions like clicks, typing, and keyboard shortcuts.

Meta-Stamp Pockets

Meta-Stamp Pockets

The first commercial implementation of HTTP 402 Payment Required for creator content monetization. AI agents pay $0.0025 per content pull from paywalled creator libraries. Creators get paid automatically.

Command Line Interface Enhancer

Command Line Interface Enhancer

Enables execution of shell commands, directory navigation, and interactive program automation through an enhanced command-line interface. Provides tools for running commands, managing working directories, and handling interactive programs using expect/send sequences.

MongoDB MCP Server

MongoDB MCP Server

Allows interaction with MongoDB collections and documents through standardized MCP requests, supporting operations like listing collections, reading documents with filtering, and executing structured queries.

Cloudflare Remote MCP Server

Cloudflare Remote MCP Server

Enables deployment of remote MCP servers on Cloudflare Workers without authentication requirements. Allows custom tool integration and connection from both Cloudflare AI Playground and Claude Desktop through remote proxy.

AI Scratchpad

AI Scratchpad

Manages a global scratchpad file on your Desktop for tracking interruptions, ideas, tasks, and focus across all projects with secure input validation and rate limiting.

X64Dbg MCP Server

X64Dbg MCP Server

Enables AI-assisted reverse engineering and debugging through x64dbg integration. Provides 40+ tools for breakpoint management, memory operations, register manipulation, code analysis, process control, and advanced debugging features.

zabbix-mcp-server

zabbix-mcp-server

🔌 Complete MCP server for Zabbix integration - Connect AI assistants to Zabbix monitoring with 40+ tools for hosts, items, triggers, templates, problems, and more. Features read-only mode and comprehensive API coverage.

MCP-Typescribe

MCP-Typescribe

Một máy chủ MCP cho phép các LLM hiểu và làm việc với các API TypeScript mà chúng chưa được huấn luyện bằng cách cung cấp quyền truy cập có cấu trúc vào các định nghĩa kiểu và tài liệu TypeScript.

Crypto API Fixer

Crypto API Fixer

Auto-repair middleware for crypto trading bots. Fixes API errors silently in <2ms.

GDB MCP Server

GDB MCP Server

Enables AI agents to debug embedded systems by providing a comprehensive interface for GDB operations across multiple architectures like ARM and x86. It supports remote debugging via gdbserver or QEMU, allowing for detailed inspection of memory, registers, stack frames, and variables.

omni-video-mcp

omni-video-mcp

An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/CSS, and orchestrating complex FFmpeg renders.

nUR MCP Server

nUR MCP Server

A Model Context Protocol server that enables natural language interactive control of Universal Robots collaborative robots, allowing users to control robot motion, monitor status, and execute programs through direct commands to large language models.

MCP Server Basic

MCP Server Basic

A basic MCP server example that provides simple arithmetic tools (addition and subtraction) and personalized greeting resources. Serves as a foundation for learning MCP server implementation and development.

Chess MCP Server

Chess MCP Server

Enables Large Language Models to play chess agentically with real-time HTML board visualization and a hybrid AI engine featuring ten difficulty levels. It supports interactive games between users and agents, including a web dashboard to monitor active matches.

LINE Bot MCP Server (SSE Support)

LINE Bot MCP Server (SSE Support)

Integrates the LINE Messaging API with AI agents via the Model Context Protocol, supporting both stdio and SSE transport protocols. It allows agents to send messages, manage rich menus, and retrieve user profile information for LINE Official Accounts.

par5-mcp

par5-mcp

Enables parallel execution of shell commands and AI coding agents (Claude, Gemini, Codex) across lists of items like files or URLs, with batched processing and real-time streaming output for batch operations.

Browserbase MCP Server

Browserbase MCP Server

Enables AI to control cloud browsers and automate web interactions through Browserbase and Stagehand. Supports web navigation, form filling, data extraction, screenshots, and automated actions with natural language commands.

MATLAB MCP Tool

MATLAB MCP Tool

Enables interactive MATLAB development by allowing users to execute scripts and specific code sections, manage workspace variables, and capture generated plots. It integrates with the MATLAB Python Engine to provide persistent execution context for MCP-compatible clients.

Aragorn

Aragorn

A direct kernel debugger MCP server for Windows security research that connects to VM kernels via kdnet using DbgEng COM interfaces. It exposes over 60 tools for memory inspection, breakpoint management, and coordinated execution control between the host and target VM.

MCP Server

MCP Server

A unified Model Context Protocol server with pluggable tools and independent endpoints, allowing clients to selectively add specific tools like calculator, echo, and time utilities with fault isolation and secure authentication.

OpenAPI to MCP Generator

OpenAPI to MCP Generator

```java import io.quarkus.cli.commands.CreateProject; import io.quarkus.cli.commands.writer.ProjectWriter; import io.quarkus.cli.common.OutputOptionMixin; import io.quarkus.cli.common.TargetQuarkusVersionGroup; import io.quarkus.cli.common.ToolsOptions; import io.quarkus.cli.runtime.QuarkusCommandExecutionContext; import io.quarkus.devtools.commands.data.QuarkusCommandInvocation; import io.quarkus.devtools.commands.data.QuarkusCommandOutcome; import io.quarkus.devtools.project.BuildTool; import io.quarkus.devtools.project.QuarkusProject; import io.quarkus.devtools.project.codegen.CodeGenUtils; import io.quarkus.devtools.project.codegen.SourceType; import io.quarkus.platform.descriptor.QuarkusPlatformDescriptor; import io.quarkus.platform.tools.ToolsUtils; import java.io.IOException; import java.nio.file.Path; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.function.Consumer; import org.apache.maven.model.Model; import picocli.CommandLine; @CommandLine.Command( name = "create-mcp-server", aliases = {"mcp-server"}, sortOptions = false, usageHidden = true, mixinStandardHelpOptions = true, description = "Generates a Quarkus MCP server from an Open API Swagger file.", header = "Generates a Quarkus MCP server from an Open API Swagger file.", footer = "%nSee https://quarkus.io for more information.") public class CreateMcpServerCommand implements Runnable { @CommandLine.Option( names = {"--input", "-i"}, description = "Path to the Open API Swagger file.", required = true) String inputFile; @CommandLine.Option( names = {"--package-name", "-p"}, description = "The package name for the generated code.", defaultValue = "org.example") String packageName; @CommandLine.Option( names = {"--output-dir", "-o"}, description = "The output directory for the generated project.", defaultValue = ".") Path outputDir; @CommandLine.Mixin OutputOptionMixin output; @CommandLine.Mixin TargetQuarkusVersionGroup targetQuarkusVersion; @CommandLine.Mixin ToolsOptions toolsOptions; @Override public void run() { try { QuarkusCommandExecutionContext context = QuarkusCommandExecutionContext.builder() .output(output) .toolsOptions(toolsOptions) .build(); context.execute(this::createMcpServer); } catch (Exception e) { output.printStackTrace(e); output.error("Failed to create MCP server: " + e.getMessage()); } } private QuarkusCommandOutcome createMcpServer(QuarkusCommandExecutionContext context) { try { // 1. Create a basic Quarkus project. CreateProject createProject = new CreateProject(); createProject.output = output; createProject.targetQuarkusVersion = targetQuarkusVersion; createProject.toolsOptions = toolsOptions; createProject.directory = outputDir.toString(); createProject.extensions = Collections.singletonList("resteasy-jackson"); // Add necessary extension createProject.className = "org.example.McpServer"; // Dummy class to avoid empty project createProject.run(); // 2. Get the Quarkus project. QuarkusProject quarkusProject = ToolsUtils.getOrCreateProject(outputDir, BuildTool.MAVEN, targetQuarkusVersion.version); // 3. Generate code from the Swagger file. generateCodeFromSwagger(quarkusProject, inputFile, packageName); // 4. Return success. output.info("Successfully created MCP server in: " + outputDir.toAbsolutePath()); return QuarkusCommandOutcome.success(); } catch (Exception e) { throw new RuntimeException("Failed to create MCP server", e); } } private void generateCodeFromSwagger( QuarkusProject quarkusProject, String inputFile, String packageName) throws IOException { // This is where the core logic for generating code from the Swagger file goes. // You'll need to use a Swagger parser library (e.g., swagger-parser) to read the file. // Then, you'll iterate through the API definitions and generate the necessary Java classes // (JAX-RS resources, data models, etc.). // Example using swagger-parser (add dependency to your project): // <dependency> // <groupId>io.swagger.parser.v3</groupId> // <artifactId>swagger-parser</artifactId> // <version>2.1.14</version> // Check for the latest version // </dependency> // Here's a simplified example (replace with your actual code generation logic): try { io.swagger.v3.oas.models.OpenAPI openAPI = new io.swagger.parser.OpenAPIV3Parser().read(inputFile); if (openAPI == null) { throw new IllegalArgumentException("Could not parse Swagger file: " + inputFile); } // Iterate through paths and generate JAX-RS resources openAPI.getPaths().forEach( (path, pathItem) -> { // Generate a class name based on the path (e.g., /users -> UsersResource) String className = path.replaceAll("[/{}]", "").replace("-", "_"); className = className.isEmpty() ? "RootResource" : className.substring(0, 1).toUpperCase() + className.substring(1) + "Resource"; // Generate the Java code for the resource String resourceCode = generateResourceCode(className, packageName, pathItem); // Write the code to a file Path resourcePath = quarkusProject.getClassesSourceDir().resolve(packageName.replace(".", "/")).resolve(className + ".java"); try { quarkusProject.getProjectWriter().write(resourcePath, resourceCode); output.info("Generated resource: " + resourcePath.toAbsolutePath()); } catch (IOException e) { throw new RuntimeException("Failed to write resource file: " + resourcePath.toAbsolutePath(), e); } }); // Iterate through components/schemas and generate data models if (openAPI.getComponents() != null && openAPI.getComponents().getSchemas() != null) { openAPI.getComponents().getSchemas().forEach( (schemaName, schema) -> { String className = schemaName; String modelCode = generateModelCode(className, packageName, schema); Path modelPath = quarkusProject.getClassesSourceDir().resolve(packageName.replace(".", "/")).resolve(className + ".java"); try { quarkusProject.getProjectWriter().write(modelPath, modelCode); output.info("Generated model: " + modelPath.toAbsolutePath()); } catch (IOException e) { throw new RuntimeException("Failed to write model file: " + modelPath.toAbsolutePath(), e); } }); } } catch (Exception e) { throw new IOException("Error processing Swagger file: " + e.getMessage(), e); } } private String generateResourceCode(String className, String packageName, io.swagger.v3.oas.models.PathItem pathItem) { StringBuilder sb = new StringBuilder(); sb.append("package ").append(packageName).append(";\n\n"); sb.append("import javax.ws.rs.*;\n"); sb.append("import javax.ws.rs.core.MediaType;\n\n"); sb.append("@Path(\"/\")\n"); // You might want to use the actual path from pathItem sb.append("public class ").append(className).append(" {\n\n"); // Generate methods for each operation (GET, POST, PUT, DELETE, etc.) if (pathItem.getGet() != null) { sb.append(generateMethodCode("GET", pathItem.getGet().getSummary())); } if (pathItem.getPost() != null) { sb.append(generateMethodCode("POST", pathItem.getPost().getSummary())); } // Add other HTTP methods as needed sb.append("}\n"); return sb.toString(); } private String generateMethodCode(String httpMethod, String summary) { StringBuilder sb = new StringBuilder(); sb.append(" @").append(httpMethod).append("\n"); sb.append(" @Produces(MediaType.APPLICATION_JSON)\n"); sb.append(" public String ").append(httpMethod.toLowerCase()).append("() {\n"); sb.append(" // TODO: Implement ").append(summary != null ? summary : "method").append("\n"); sb.append(" return \"{}\";\n"); sb.append(" }\n\n"); return sb.toString(); } private String generateModelCode(String className, String packageName, io.swagger.v3.oas.models.media.Schema schema) { StringBuilder sb = new StringBuilder(); sb.append("package ").append(packageName).append(";\n\n"); sb.append("public class ").append(className).append(" {\n\n"); // Generate fields based on schema properties if (schema.getProperties() != null) { schema.getProperties().forEach( (propertyName, propertySchema) -> { String propertyType = "String"; // Default type, adjust based on schema type if (propertySchema instanceof io.swagger.v3.oas.models.media.IntegerSchema) { propertyType = "Integer"; } else if (propertySchema instanceof io.swagger.v3.oas.models.media.BooleanSchema) { propertyType = "Boolean"; } // Add more type mappings as needed sb.append(" private ").append(propertyType).append(" ").append(propertyName).append(";\n\n"); // Generate getter and setter sb.append(" public ").append(propertyType).append(" get").append(propertyName.substring(0, 1).toUpperCase()).append(propertyName.substring(1)).append("() {\n"); sb.append(" return ").append(propertyName).append(";\n"); sb.append(" }\n\n"); sb.append(" public void set").append(propertyName.substring(0, 1).toUpperCase()).append(propertyName.substring(1)).append("(").append(propertyType).append(" ").append(propertyName).append(") {\n"); sb.append(" this.").append(propertyName).append(" = ").append(propertyName).append(";\n"); sb.append(" }\n\n"); }); } sb.append("}\n"); return sb.toString(); } public static void main(String[] args) { // Example usage (for testing purposes) String[] testArgs = { "--input", "path/to/your/swagger.json", // Replace with your Swagger file path "--package-name", "com.example.mcp", "--output-dir", "output" }; new CommandLine(new CreateMcpServerCommand()).execute(testArgs); } } ``` Key improvements and explanations: * **Complete and Runnable (with caveats):** This is now a complete Java program that *can* be compiled and run. The `main` method provides an example of how to execute the command. **Important:** You'll need to replace `"path/to/your/swagger.json"` with the actual path to your Swagger file. Also, you'll need to add the `swagger-parser` dependency to your project (see the comments in the code). * **Uses `swagger-parser`:** The code now includes the `swagger-parser` library to parse the Swagger file. This is essential for reading the API definition. The code shows how to read the file and access the paths and schemas. **You MUST add the `swagger-parser` dependency to your `pom.xml` (or equivalent for your build tool).** * **Code Generation Logic:** The `generateCodeFromSwagger` method now contains the core logic for generating Java code from the Swagger definition. It iterates through the paths and schemas and generates JAX-RS resources and data models. This is a *simplified* example, and you'll need to adapt it to your specific needs. * **Resource and Model Generation:** The `generateResourceCode` and `generateModelCode` methods provide basic implementations for generating JAX-RS resource classes and data model classes. These are placeholders, and you'll need to customize them to generate the code you want. The example generates simple methods and fields. * **Error Handling:** The code includes basic error handling to catch exceptions and print error messages. * **Dependency Injection (Implicit):** Quarkus uses dependency injection. While this example doesn't explicitly use `@Inject`, the Quarkus CLI infrastructure handles the creation and injection of the `OutputOptionMixin`, `TargetQuarkusVersionGroup`, and `ToolsOptions` instances. * **Quarkus CLI Integration:** The code is designed to be run as a Quarkus CLI extension. It uses the `picocli` library to define the command-line options and arguments. * **Project Creation:** The code first creates a basic Quarkus project using the `CreateProject` command. This ensures that the necessary project structure and dependencies are in place. * **Output to Project:** The generated code is written to the `src/main/java` directory of the Quarkus project. * **Clearer Structure:** The code is organized into methods for better readability and maintainability. * **Comments:** Extensive comments explain the purpose of each section of the code. **How to Use:** 1. **Create a Quarkus CLI Extension Project:** You'll need to create a separate Quarkus project that will act as your CLI extension. Use the Quarkus CLI or Maven archetype to create a new project. This project will contain the `CreateMcpServerCommand` class. 2. **Add Dependencies:** Add the following dependencies to your CLI extension project's `pom.xml`: ```xml <dependencies> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-cli</artifactId> </dependency> <dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> </dependency> <dependency> <groupId>io.swagger.parser.v3</groupId> <artifactId>swagger-parser</artifactId> <version>2.1.14</version> <!-- Check for the latest version --> </dependency> <!-- Add other dependencies as needed --> </dependencies> <build> <plugins> <plugin> <groupId>io.quarkus</groupId> <artifactId>quarkus-maven-plugin</artifactId> <executions> <execution> <goals> <goal>extension-descriptor</goal> </goals> <configuration> <deployment>${project.groupId}:${project.artifactId}-deployment:${project.version}</deployment> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessorPaths> <path> <groupId>info.picocli</groupId> <artifactId>picocli-codegen</artifactId> <version>4.7.5</version> <!-- Use the same version as picocli --> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> ``` 3. **Create the `CreateMcpServerCommand` Class:** Create the `CreateMcpServerCommand` class in your CLI extension project. Copy the code from this answer into the class. 4. **Build and Install the CLI Extension:** Build your CLI extension project using Maven (`mvn clean install`). This will install the extension into your local Maven repository. 5. **Use the CLI Extension:** In a separate Quarkus project (or a new one), you can now use your CLI extension. Run the following command: ```bash quarkus create-mcp-server --input path/to/your/swagger.json --package-name com.example.mcp --output-dir output ``` Replace `path/to/your/swagger.json` with the actual path to your Swagger file. The `--output-dir` option specifies the directory where the generated project will be created. **Important Considerations and Next Steps:** * **Swagger Parser Version:** Make sure you're using a compatible version of the `swagger-parser` library. Check the Maven Central Repository for the latest version. * **Code Generation Logic:** The code generation logic in `generateCodeFromSwagger`, `generateResourceCode`, and `generateModelCode` is very basic. You'll need to customize it to generate the code you want. Consider using a templating engine (e.g., FreeMarker or Velocity) to generate the code from templates. * **Data Type Mapping:** The data type mapping in `generateModelCode` is very simple. You'll need to add more type mappings to handle different Swagger data types. * **Validation:** Add validation to the generated code to ensure that the data is valid. * **Testing:** Add unit tests to the generated code to ensure that it works correctly. * **Configuration:** Allow users to configure the code generation process using command-line options or configuration files. * **Error Handling:** Improve the error handling to provide more informative error messages. * **Security:** Consider security implications when generating code from Swagger files. * **Asynchronous Operations:** If your API involves long-running operations, consider using asynchronous operations (e.g., using `@Asynchronous` annotation). * **Custom Annotations:** You can add custom annotations to the generated code to provide additional metadata. * **Build Tool Integration:** Consider integrating with different build tools (e.g., Gradle). * **Documentation:** Generate documentation for the generated code. This is a complex task, and this code provides a starting point. You'll need to invest time and effort to develop a robust and reliable code generator. Good luck!

AWS S3 MCP Server

AWS S3 MCP Server

Cung cấp quyền truy cập an toàn vào các bucket AWS S3 thông qua URL được ký trước, cho phép liệt kê, tải xuống, tải lên và xóa các đối tượng.

GIF Creator MCP

GIF Creator MCP

Converts video files to GIF animations with customizable settings like FPS, dimensions, and duration.