Discover Awesome MCP Servers

Extend your agent with 20,526 capabilities via MCP servers.

All20,526
MCP Codebase Index

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

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

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

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

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 server

Membaseとの安全なインタラクションを可能にするモデルコンテキストプロトコル(MCP)サーバー

Union Unity MCP Server

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

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 MCP Server

Procesio API と連携するための MCP サーバー

llm-mcp-server-template

llm-mcp-server-template

LLM-MCPサーバー開発のテンプレートプロジェクト

Gemini Agent MCP Server

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

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

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

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

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

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

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

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

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

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

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

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

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

MCP Server Python

Granola MCP Server

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

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

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

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

MCP Dust Server

鏡 (Kagami)

GitHub-Jira MCP Server

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.