Discover Awesome MCP Servers
Extend your agent with 20,526 capabilities via MCP servers.
- All20,526
- 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 Codebase Index
Enables semantic search across your codebase using Google's Gemini embeddings and Qdrant Cloud vector storage. Supports 15+ programming languages with smart code chunking and real-time file change monitoring.
MCP Domain Checker Price
Provides domain registration pricing from Joker.com and generates affiliate purchase links. Supports both static pricing data for instant responses and optional real-time API pricing with smart caching.
FreeCAD MCP
Enables control of FreeCAD CAD software from Claude Desktop through natural language commands. Supports creating, editing, and managing 3D objects, executing Python code, and generating screenshots of designs.
Eye of Sauron - Discord Bot MCP
Enables AI assistants to control Discord servers with 93 tools for server management, moderation, voice TTS, AI chat via OpenRouter, and World of Warships stats lookup through the Model Context Protocol.
PuppeteerMCP Server
An MCP server that enables AI assistants to capture and analyze web page screenshots using Puppeteer, supporting multi-breakpoint captures, error reporting, and page interactions.
membase mcp server
Membaseとの安全なインタラクションを可能にするモデルコンテキストプロトコル(MCP)サーバー
Union Unity MCP Server
Enables AI agents to interact with Unity projects through multimodal vision, code analysis, asset management, and scene manipulation. Supports real-time Unity editor control, project search, script creation, and visual debugging through screenshots.
X(Twitter) V2 MCP Server
An MCP server implementation that provides tools for interacting with the Twitter/X API v2 interface.
Procesio MCP Server
Procesio API と連携するための MCP サーバー
llm-mcp-server-template
LLM-MCPサーバー開発のテンプレートプロジェクト
Gemini Agent MCP Server
Provides a Model Context Protocol interface to the Gemini CLI, enabling AI agents to call the Gemini model and interact with development tools like code linting, GitHub operations, and documentation generation. Includes security measures to prevent unauthorized file access through path validation.
MCP Agent Mail
A coordination layer for coding agents that provides identities, message threading, and searchable history. It features file reservation leases to prevent agents from overwriting each other's work in multi-agent environments.
Apify Model Context Protocol Server
Enables AI assistants to use Apify Actors as tools to perform specific tasks like web scraping, data extraction, and searching across various platforms through the Model Context Protocol.
Godot Docs MCP
Enables AI agents to search and retrieve information from the official Godot game engine documentation. Provides tools to search documentation, get page content, and access detailed class information.
Outlook Meetings Scheduler MCP Server
Allows scheduling meetings in Microsoft Outlook using Microsoft Graph API, with features for creating calendar events and adding attendees by finding their email addresses.
MCP Secure Installer
Automatically installs and containerizes MCP servers from GitHub repositories using MCP sampling to analyze repositories and create appropriate Docker images.
MCP Server Template
A production-ready TypeScript template for building MCP servers with dual transport support (stdio/HTTP), OAuth 2.1 foundations, SQLite caching, observability, and security features including PII sanitization and rate limiting.
Doris MCP Server
Backend service implementing the Model Control Panel protocol that connects to Apache Doris databases, allowing users to execute SQL queries, manage metadata, and potentially leverage LLMs for tasks like natural language to SQL conversion.
CodeRAG
A high-performance MCP server providing lightning-fast hybrid code search using TF-IDF and vector embeddings for AI assistants. It enables real-time codebase indexing and semantic retrieval with sub-50ms latency and offline support.
Claude-to-Gemini MCP Server
Enables Claude to use Google Gemini as a secondary AI through MCP for large-scale codebase analysis and complex reasoning tasks. Supports both Gemini Flash and Pro models with specialized functions for general queries and comprehensive code analysis.
A Simple MCP Server and Client
Okay, here's a simple example of an MCP (Minecraft Coder Pack) setup with a basic client and server, translated to Japanese. This focuses on the core structure and communication. Keep in mind that a *real* MCP setup is much more complex, but this illustrates the fundamental concepts. **Explanation:** This example demonstrates a very basic mod that: * **Client:** Sends a simple message to the server when the game starts. * **Server:** Receives the message and logs it. **Important Notes:** * **MCP Setup:** This assumes you have a working MCP development environment set up. This is a prerequisite. I won't cover the MCP setup process itself, as it's quite involved. Refer to the official MCP documentation for that. * **Simplified:** This is a *highly* simplified example. Real mods do much more. * **Minecraft Version:** The code will need to be adapted to the specific Minecraft version you are using with MCP. The imports and class names might change. * **Networking:** This uses a very basic networking approach. More robust mods use more sophisticated networking protocols. * **Gradle:** This assumes you are using Gradle for your build system, which is standard for MCP. **Code (English with Japanese Translation):** **1. Client-Side (src/main/java/com/example/mod/ClientProxy.java):** ```java package com.example.mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.relauncher.Side; public class ClientProxy extends CommonProxy { @Override public void init(FMLInitializationEvent event) { super.init(event); // Register the network channel on the client side. ModExample.network = NetworkRegistry.INSTANCE.newSimpleChannel(ModExample.MODID); ModExample.network.registerMessage(MessageHandler.class, Message.class, 0, Side.SERVER); // Send a message to the server when the game starts. ModExample.network.sendToServer(new Message("Hello from the client!")); } } ``` **Japanese Translation:** ```java package com.example.mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.relauncher.Side; public class ClientProxy extends CommonProxy { @Override public void init(FMLInitializationEvent event) { super.init(event); // クライアント側でネットワークチャネルを登録します。 ModExample.network = NetworkRegistry.INSTANCE.newSimpleChannel(ModExample.MODID); ModExample.network.registerMessage(MessageHandler.class, Message.class, 0, Side.SERVER); // ゲーム開始時にサーバーにメッセージを送信します。 ModExample.network.sendToServer(new Message("クライアントからこんにちは!")); } } ``` **2. Server-Side (src/main/java/com/example/mod/ServerProxy.java):** ```java package com.example.mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.relauncher.Side; public class ServerProxy extends CommonProxy { @Override public void init(FMLInitializationEvent event) { super.init(event); // Register the network channel on the server side. ModExample.network = NetworkRegistry.INSTANCE.newSimpleChannel(ModExample.MODID); ModExample.network.registerMessage(MessageHandler.class, Message.class, 0, Side.CLIENT); //Important to register the message handler on the client side as well. } } ``` **Japanese Translation:** ```java package com.example.mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.relauncher.Side; public class ServerProxy extends CommonProxy { @Override public void init(FMLInitializationEvent event) { super.init(event); // サーバー側でネットワークチャネルを登録します。 ModExample.network = NetworkRegistry.INSTANCE.newSimpleChannel(ModExample.MODID); ModExample.network.registerMessage(MessageHandler.class, Message.class, 0, Side.CLIENT); //クライアント側でもメッセージハンドラを登録することが重要です。 } } ``` **3. Common Proxy (src/main/java/com/example/mod/CommonProxy.java):** ```java package com.example.mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; public class CommonProxy { public void preInit(FMLPreInitializationEvent event) { } public void init(FMLInitializationEvent event) { } public void postInit(FMLPostInitializationEvent event) { } } ``` **Japanese Translation:** ```java package com.example.mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; public class CommonProxy { public void preInit(FMLPreInitializationEvent event) { } public void init(FMLInitializationEvent event) { } public void postInit(FMLPostInitializationEvent event) { } } ``` **4. Main Mod Class (src/main/java/com/example/mod/ModExample.java):** ```java package com.example.mod; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import org.apache.logging.log4j.Logger; @Mod(modid = ModExample.MODID, name = ModExample.NAME, version = ModExample.VERSION) public class ModExample { public static final String MODID = "modexample"; public static final String NAME = "Mod Example"; public static final String VERSION = "1.0"; private static Logger logger; @SidedProxy(clientSide = "com.example.mod.ClientProxy", serverSide = "com.example.mod.ServerProxy") public static CommonProxy proxy; public static SimpleNetworkWrapper network; @EventHandler public void preInit(FMLPreInitializationEvent event) { logger = event.getModLog(); proxy.preInit(event); } @EventHandler public void init(FMLInitializationEvent event) { proxy.init(event); } } ``` **Japanese Translation:** ```java package com.example.mod; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import org.apache.logging.log4j.Logger; @Mod(modid = ModExample.MODID, name = ModExample.NAME, version = ModExample.VERSION) public class ModExample { public static final String MODID = "modexample"; public static final String NAME = "Mod Example"; public static final String VERSION = "1.0"; private static Logger logger; @SidedProxy(clientSide = "com.example.mod.ClientProxy", serverSide = "com.example.mod.ServerProxy") public static CommonProxy proxy; public static SimpleNetworkWrapper network; @EventHandler public void preInit(FMLPreInitializationEvent event) { logger = event.getModLog(); proxy.preInit(event); } @EventHandler public void init(FMLInitializationEvent event) { proxy.init(event); } } ``` **5. Message Class (src/main/java/com/example/mod/Message.java):** ```java package com.example.mod; import io.netty.buffer.ByteBuf; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; public class Message implements IMessage { private String message; public Message() { // Required for reflection. } public Message(String message) { this.message = message; } public String getMessage() { return message; } @Override public void fromBytes(ByteBuf buf) { message = buf.readCharSequence(buf.readableBytes(), java.nio.charset.StandardCharsets.UTF_8).toString(); } @Override public void toBytes(ByteBuf buf) { buf.writeCharSequence(message, java.nio.charset.StandardCharsets.UTF_8); } } ``` **Japanese Translation:** ```java package com.example.mod; import io.netty.buffer.ByteBuf; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; public class Message implements IMessage { private String message; public Message() { // リフレクションのために必要です。 } public Message(String message) { this.message = message; } public String getMessage() { return message; } @Override public void fromBytes(ByteBuf buf) { message = buf.readCharSequence(buf.readableBytes(), java.nio.charset.StandardCharsets.UTF_8).toString(); } @Override public void toBytes(ByteBuf buf) { buf.writeCharSequence(message, java.nio.charset.StandardCharsets.UTF_8); } } ``` **6. Message Handler (src/main/java/com/example/mod/MessageHandler.java):** ```java package com.example.mod; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MessageHandler implements IMessageHandler<Message, IMessage> { private static final Logger LOGGER = LogManager.getLogger(); @Override public IMessage onMessage(Message message, MessageContext ctx) { // Log the message received on the server. LOGGER.info("Received message from client: " + message.getMessage()); return null; } } ``` **Japanese Translation:** ```java package com.example.mod; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MessageHandler implements IMessageHandler<Message, IMessage> { private static final Logger LOGGER = LogManager.getLogger(); @Override public IMessage onMessage(Message message, MessageContext ctx) { // サーバーで受信したメッセージをログに記録します。 LOGGER.info("クライアントからメッセージを受信しました: " + message.getMessage()); return null; } } ``` **7. `build.gradle` (Example - Adjust to your MCP setup):** ```gradle buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' version = "1.0" group = "com.example.mod" // Replace with your group ID archivesBaseName = "modexample" sourceCompatibility = targetCompatibility = "1.8" // Or your target Java version compileJava { sourceCompatibility = targetCompatibility = "1.8" } minecraft { version = "1.12.2-14.23.5.2854" // Replace with your Minecraft version runDir = "run" mappings = "stable_39" // Replace with your mappings version } dependencies { // Add any dependencies here } jar { manifest { attributes 'FMLCorePlugin': 'com.example.mod.core.ModCorePlugin' } } reobf { mappingsType = 'MCP' srgFile = minecraft.getSrgFile() } ``` **Japanese Explanation of `build.gradle`:** ```gradle buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' version = "1.0" // バージョン group = "com.example.mod" // グループID (あなたのパッケージ名) archivesBaseName = "modexample" // アーカイブ名 (modファイルの名前) sourceCompatibility = targetCompatibility = "1.8" // Javaのバージョン compileJava { sourceCompatibility = targetCompatibility = "1.8" } minecraft { version = "1.12.2-14.23.5.2854" // Minecraftのバージョン runDir = "run" // 実行ディレクトリ mappings = "stable_39" // マッピングバージョン } dependencies { // ここに依存関係を追加 } jar { manifest { attributes 'FMLCorePlugin': 'com.example.mod.core.ModCorePlugin' } } reobf { mappingsType = 'MCP' srgFile = minecraft.getSrgFile() } ``` **Explanation of the Code:** * **`ModExample.java`:** This is the main mod class. It's annotated with `@Mod` to tell Forge that this is a mod. It also handles the proxy setup. * **`ClientProxy.java` and `ServerProxy.java`:** These classes handle client-side and server-side specific logic. The `@SidedProxy` annotation in `ModExample.java` tells Forge which proxy to use on each side. The network channel is registered here. * **`CommonProxy.java`:** This class contains code that is common to both the client and the server. * **`Message.java`:** This class defines the message that will be sent between the client and the server. It implements `IMessage` and provides methods for serializing and deserializing the message data. * **`MessageHandler.java`:** This class handles the message when it is received. It implements `IMessageHandler` and provides the `onMessage` method, which is called when a message is received. * **`build.gradle`:** This file configures the Gradle build system. It specifies the Minecraft version, the mappings version, and any dependencies that the mod needs. **How to Use:** 1. **Set up your MCP environment.** 2. **Create the directory structure:** `src/main/java/com/example/mod/` 3. **Copy the code** into the appropriate files. 4. **Modify `build.gradle`** to match your Minecraft version and mappings. Change the `group` to your desired package name. 5. **Run Gradle tasks:** * `gradlew build` (to build the mod) * `gradlew runClient` (to run the client with the mod) **What to Expect:** When you run the client, you should see the message "Received message from client: Hello from the client!" (or the Japanese equivalent) in the server console. This indicates that the client successfully sent a message to the server. **Important Considerations:** * **Error Handling:** This example lacks proper error handling. In a real mod, you should handle potential exceptions and errors gracefully. * **Threading:** Minecraft is heavily threaded. Be careful when accessing Minecraft objects from different threads. Use `Minecraft.getMinecraft().addScheduledTask()` to execute code on the main thread. * **Synchronization:** If you are modifying shared data from multiple threads, you will need to use synchronization mechanisms (e.g., locks) to prevent race conditions. * **Configuration:** Consider adding a configuration file to allow users to customize the mod's behavior. * **More Complex Networking:** For more complex data transfer, consider using more advanced networking techniques, such as custom packets with more data fields. This is a starting point. You can expand upon this example to create more complex and interesting mods. Remember to consult the official Forge and MCP documentation for more information. Good luck!
Zerodha MCP Server
Enables trading operations on Zerodha platform through natural language, supporting account management, order placement/modification, portfolio holdings, positions, margins, and stock news retrieval.
Custom Search MCP Server
An MCP (Multi-Agent Conversation Protocol) Server that enables interaction with Google's Custom Search API, allowing agents to perform customized web searches through natural language requests.
MCP Server Python
Granola MCP Server
Provides access to Granola notes, meeting transcripts, calendar events, and document panels through the Granola API, enabling search and retrieval of meeting-related content.
SuricataMCP
SuricataMCP is a Model Context Protocol Server that allows MCP clients to autonomously use suricata for network traffic analysis. It enables programmatic interaction with Suricata through tools like get\_suricata\_version, get\_suricata\_help, and get\_alerts\_from\_pcap\_file.
Copy-Paste MCP
A Model Context Protocol server that provides a tool for extracting specific line ranges from text content while preserving exact formatting and newlines.
OpenRouter MCP Server
Provides access to 400+ AI models from OpenRouter, enabling users to chat with models like GPT-4, Claude, Gemini, and Llama, compare responses across multiple models, and retrieve model information with pricing details.
MCP Dust Server
鏡 (Kagami)
GitHub-Jira MCP Server
Enables secure integration between GitHub and Jira with permission controls, allowing users to manage repositories, create issues and pull requests, and handle Jira project workflows through natural language. Supports OAuth authentication and comprehensive security enforcement for both platforms.