发现优秀的 MCP 服务器
通过 MCP 服务器扩展您的代理能力,拥有 12,350 个能力。
calc-mcp
Okay, here's a simplified explanation of how you could create a simple Minecraft server mod (using MCP - Minecraft Coder Pack) that adds a calculator tool. I'll outline the key steps and provide conceptual code snippets. Keep in mind that this is a simplified example, and a fully functional mod would require more detailed code and setup. **Conceptual Overview** The basic idea is to: 1. **Set up your MCP environment:** This involves downloading MCP, deobfuscating the Minecraft code, and setting up your development environment (usually Eclipse or IntelliJ IDEA). 2. **Create a new item (the calculator):** You'll define a new item class that represents your calculator. 3. **Register the item:** You need to register your new item with Minecraft so it can be used in the game. 4. **Add functionality to the item:** When the player right-clicks with the calculator, you'll trigger the calculator logic. This might involve opening a GUI (graphical user interface) where the player can enter numbers and operations. 5. **Handle the GUI (if needed):** If you're using a GUI, you'll need to create the GUI class and handle user input (button clicks, text input, etc.). 6. **Perform calculations:** Implement the actual calculator logic (addition, subtraction, multiplication, division, etc.). 7. **Display the result:** Show the result of the calculation to the player (e.g., in the GUI, in chat, or as a floating text entity). **Simplified Code Snippets (Conceptual)** ```java // Example Item Class (CalculatorItem.java) package com.example.calculator; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.text.TextComponentString; public class CalculatorItem extends Item { public CalculatorItem() { super(); this.setRegistryName("calculator"); // Important: Set the registry name this.setUnlocalizedName("calculator"); // Set the unlocalized name (for localization) } @Override public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) { ItemStack itemstack = playerIn.getHeldItem(handIn); if (!worldIn.isRemote) { // Server-side only // Simple example: Just send a message to the player playerIn.sendMessage(new TextComponentString("Calculator Activated!")); // In a real mod, you would: // 1. Open a GUI (if you have one) // 2. Start the calculation process } return ActionResult.newResult(net.minecraft.util.EnumActionResult.SUCCESS, itemstack); } } // Example Mod Class (CalculatorMod.java) package com.example.calculator; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraft.item.Item; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.SidedProxy; @Mod(modid = CalculatorMod.MODID, version = CalculatorMod.VERSION, name = CalculatorMod.NAME) public class CalculatorMod { public static final String MODID = "calculator"; public static final String VERSION = "1.0"; public static final String NAME = "Calculator Mod"; @SidedProxy(clientSide = "com.example.calculator.ClientProxy", serverSide = "com.example.calculator.CommonProxy") public static CommonProxy proxy; public static Item calculator; @EventHandler public void preInit(FMLPreInitializationEvent event) { // Initialize your item here (but don't register it yet) calculator = new CalculatorItem(); } @EventHandler public void init(FMLInitializationEvent event) { proxy.registerItemRenderer(calculator, 0, "calculator"); } @Mod.EventBusSubscriber public static class RegistrationHandler { @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { event.getRegistry().register(calculator); } } } // CommonProxy.java package com.example.calculator; import net.minecraft.item.Item; public class CommonProxy { public void registerItemRenderer(Item item, int meta, String id) { } } // ClientProxy.java package com.example.calculator; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ClientProxy extends CommonProxy { @Override public void registerItemRenderer(Item item, int meta, String id) { ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(CalculatorMod.MODID + ":" + id, "inventory")); } } ``` **Explanation of the Code Snippets:** * **`CalculatorItem.java`:** * This defines the `CalculatorItem` class, which extends `Item`. * `onItemRightClick()` is the method that's called when the player right-clicks with the item. This is where you'd put your calculator logic. In this simplified example, it just sends a message to the player. * `setRegistryName()` and `setUnlocalizedName()` are *crucial*. The registry name is how Minecraft identifies the item internally. The unlocalized name is used for localization (making the item name appear correctly in different languages). * **`CalculatorMod.java`:** * This is the main mod class. * `@Mod` annotation: Defines the mod's ID, version, and name. * `@EventHandler preInit`: This method is called before the game loads. You initialize your item here. * `@EventHandler init`: This method is called during game initialization. This is where you register the item renderer. * `@Mod.EventBusSubscriber`: This is used to register the item. * `@SubscribeEvent registerItems`: This method registers the item with the game. * **`CommonProxy.java` and `ClientProxy.java`:** * These are used for handling client-side and server-side code separately. The `ClientProxy` is responsible for registering the item's model (how it looks in the inventory and in the world). **Steps to Implement (More Detailed):** 1. **MCP Setup:** * Download the correct version of MCP for your target Minecraft version. * Extract MCP to a directory. * Run `decompile.bat` (or `decompile.sh` on Linux/macOS) to deobfuscate the Minecraft code. This will take a while. * Run `recompile.bat` (or `recompile.sh`). * Run `reobfuscate.bat` (or `reobfuscate.sh`). * Run `createMcpToEclipse.bat` (or the equivalent for IntelliJ IDEA). 2. **Create the Project:** * In Eclipse or IntelliJ IDEA, create a new Java project. * Import the MCP source code into your project. 3. **Create the Item Class:** * Create the `CalculatorItem.java` file (as shown above). 4. **Create the Mod Class:** * Create the `CalculatorMod.java` file (as shown above). 5. **Create the Proxy Classes:** * Create the `CommonProxy.java` and `ClientProxy.java` files (as shown above). 6. **Register the Item:** * Make sure the `@Mod.EventBusSubscriber` and `@SubscribeEvent` annotations are correctly set up in your `CalculatorMod.java` file to register the item. 7. **Item Model (Important):** * Create a JSON file in `src/main/resources/assets/calculator/models/item/calculator.json` (replace "calculator" with your mod ID if different). This file defines how the item looks. A simple example: ```json { "parent": "item/generated", "textures": { "layer0": "calculator:items/calculator" // Replace with your texture path } } ``` * You'll also need a texture file (a `.png` image) in `src/main/resources/assets/calculator/textures/items/calculator.png`. Create a simple image for your calculator. 8. **GUI (If you want one):** * Create a GUI class that extends `net.minecraft.client.gui.GuiScreen`. * Override the `drawScreen()` method to draw the GUI elements (buttons, text fields, etc.). * Override the `mouseClicked()` method to handle button clicks. * In your `CalculatorItem.onItemRightClick()`, open the GUI using `playerIn.openGui(instance, guiID, worldIn, x, y, z);` You'll need to implement `IGuiHandler` in your main mod class and create a `GuiFactory` to handle the GUI opening. 9. **Calculator Logic:** * Implement the calculator logic (addition, subtraction, etc.) in a separate class or within the GUI class. 10. **Build and Test:** * Build your mod. * Copy the resulting `.jar` file to your Minecraft `mods` folder. * Run Minecraft and test your mod. **Important Considerations:** * **Minecraft Forge:** You'll need to use Minecraft Forge to load your mod. Make sure you have the correct Forge version for your Minecraft version. * **GUI Complexity:** Creating a good GUI is the most complex part of this. Consider using a library like Minecraft's built-in GUI system or a third-party GUI library. * **Error Handling:** Add error handling to your calculator logic to prevent crashes (e.g., division by zero). * **Localization:** Use localization files to make your mod's text translatable. * **Permissions:** If you want to restrict the use of the calculator, you can add permission checks. * **Networking:** If you want to perform calculations on the server-side (e.g., for security), you'll need to use Minecraft's networking system to send data between the client and the server. **Chinese Translation of Key Terms:** * **Minecraft Server Mod:** Minecraft服务器模组 (Minecraft Fúwùqì Mózǔ) * **Calculator Tool:** 计算器工具 (Jìsuànqì Gōngjù) * **MCP (Minecraft Coder Pack):** Minecraft代码包 (Minecraft Dàimǎ Bāo) * **Item:** 物品 (Wùpǐn) * **GUI (Graphical User Interface):** 图形用户界面 (Túxíng Yònghù Jièmiàn) * **Register:** 注册 (Zhùcè) * **Deobfuscate:** 反混淆 (Fǎn Hùnyáo) * **Reobfuscate:** 重新混淆 (Chóngxīn Hùnyáo) * **Forge:** Forge (usually kept in English) * **Texture:** 纹理 (Wénlǐ) * **Model:** 模型 (Móxíng) * **Client-side:** 客户端 (Kèhùduān) * **Server-side:** 服务器端 (Fúwùqìduān) This is a complex project, but hopefully, this detailed explanation and the code snippets give you a good starting point. Good luck!
PubMed MCP
用于 PubMed 数据的 MCP 服务器 (Yòng yú PubMed shùjù de MCP fúwùqì)
mcp-server-medRixv
Indian Stock Analysis MCP Server
MCPStudio: The Postman for Model Context Protocol
For MCP (Minecraft Protocol) servers, using Postman directly isn't the typical workflow. The Minecraft protocol is a binary protocol, not a standard HTTP protocol that Postman is designed for. Postman excels at sending and receiving HTTP requests and displaying JSON, XML, or other text-based responses. However, you can use Postman in conjunction with a custom script or proxy to interact with an MCP server. Here's a breakdown of the approaches and considerations: **Why Postman Isn't Directly Compatible:** * **Binary Protocol:** The Minecraft protocol uses a custom binary format for communication. Postman is designed for text-based protocols like HTTP. * **Authentication:** Minecraft authentication is handled differently than standard web authentication. * **Stateful Connection:** Minecraft connections are typically stateful, maintaining a persistent connection between the client and server. Postman is designed for stateless requests. **Possible Approaches (with varying levels of complexity):** 1. **Custom Script/Proxy:** This is the most common and flexible approach. * **Concept:** You create a script (e.g., in Python, Node.js, Java) that acts as a proxy. This script: * Listens for HTTP requests from Postman. * Translates those HTTP requests into the appropriate Minecraft protocol packets. * Sends the packets to the MCP server. * Receives responses from the MCP server. * Translates the responses back into a format Postman can understand (e.g., JSON). * Sends the JSON response back to Postman. * **Example (Conceptual Python using `mcstatus` library):** ```python from flask import Flask, request, jsonify from mcstatus import JavaServer app = Flask(__name__) @app.route('/minecraft/status', methods=['GET']) def get_minecraft_status(): server_address = request.args.get('address', 'localhost:25565') # Get server address from Postman try: server = JavaServer.lookup(server_address) status = server.status() return jsonify({ "online": True, "players_online": status.players.online, "players_max": status.players.max, "version": status.version.name, "motd": status.description }) except Exception as e: return jsonify({"online": False, "error": str(e)}) if __name__ == '__main__': app.run(debug=True, port=5000) ``` * **Explanation:** * This Python code uses Flask to create a simple web server. * It uses the `mcstatus` library to query a Minecraft server. * The `/minecraft/status` endpoint accepts a server address as a query parameter. * It returns a JSON response with the server status. * **Postman Setup:** * In Postman, you would send a GET request to `http://localhost:5000/minecraft/status?address=yourserver.com:25565`. * Postman would display the JSON response from the Python script. * **Libraries:** * **Python:** `mcstatus`, `nbt`, `pymclevel` (for level data) * **Node.js:** `minecraft-protocol`, `prismarine-nbt` * **Java:** `minecraft-server-util` (for status pings), custom packet handling * **Pros:** Most flexible, allows you to implement any Minecraft protocol interaction. * **Cons:** Requires significant programming effort. You need to understand the Minecraft protocol. 2. **Pre-built Minecraft API (if available):** * Some Minecraft server implementations (e.g., some modded servers) might expose a REST API. If so, you can use Postman to interact with that API directly. * **Check the server documentation** to see if an API exists. * **Pros:** Easiest if an API is available. * **Cons:** Relies on the server providing an API, which is not standard. 3. **Wireshark (for Packet Analysis):** * While not directly using Postman, you can use Wireshark to capture and analyze the raw Minecraft protocol packets being sent between a Minecraft client and server. * This is useful for understanding the protocol and debugging your own implementations. * **Pros:** Excellent for understanding the protocol. * **Cons:** Doesn't allow you to send custom packets. **Important Considerations:** * **Minecraft Protocol Version:** The Minecraft protocol changes with each version of Minecraft. Make sure your script or library supports the correct version. * **Authentication:** You'll need to handle Minecraft authentication if you want to interact with a server that requires it. This typically involves using the Mojang authentication API. * **Server Security:** Be careful when sending custom packets to a Minecraft server. Malicious packets could potentially crash the server or cause other problems. * **Rate Limiting:** Some servers may have rate limits to prevent abuse. Be mindful of these limits when sending requests. **In summary:** Postman is not a direct tool for interacting with Minecraft servers due to the binary protocol. You'll need to use a custom script or proxy to translate between HTTP requests (from Postman) and the Minecraft protocol. The `mcstatus` library (in Python) provides a simple example for getting server status. For more complex interactions, you'll need to delve deeper into the Minecraft protocol and use more advanced libraries. If the server provides a REST API, that's the easiest way to interact with it using Postman. --- **Chinese Translation (Summary):** 由于 Minecraft 服务器使用二进制协议,Postman 无法直接与之交互。你需要使用自定义脚本或代理来在 HTTP 请求(来自 Postman)和 Minecraft 协议之间进行转换。`mcstatus` 库(在 Python 中)提供了一个获取服务器状态的简单示例。对于更复杂的交互,你需要深入研究 Minecraft 协议并使用更高级的库。如果服务器提供了 REST API,那是使用 Postman 与之交互的最简单方法。 (Simplified Chinese) 由于 Minecraft 服务器使用二进制协议,Postman 无法直接与之交互。你需要使用自定义脚本或代理来在 HTTP 请求(来自 Postman)和 Minecraft 协议之间进行转换。`mcstatus` 库(在 Python 中)提供了一个获取服务器状态的简单示例。对于更复杂的交互,你需要深入研究 Minecraft 协议并使用更高级的库。如果服务器提供了 REST API,那是使用 Postman 与之交互的最简单方法。

Mcp Arcknowledge
这个 MCP 服务器可以方便地让你通过一个配置(知识库 JSON)来配置和交互所有自定义的 Webhook 端点。 你可以管理新的端点知识文档来源 URL。
connector-GitHubTestRepo
从 MCP 服务器演示创建。
Google Search MCP Server
一个集成了谷歌自定义搜索 JSON API 的 MCP 服务器实现,提供网页搜索功能。
ncbi-mcp
美国国立卫生研究院 (NIH) 国家生物技术信息中心 (NCBI) 的 MCP 服务器
usaspending-mcp
MCP服务器与USASpending.gov API交互。
Getting Started with Create React App
用于安全上限和 MCP 服务器的 AI 原生代理

Mcp Translate
Okay, I understand. Please provide the English text you would like me to translate to Chinese using the Model Context Protocol. I will do my best to provide an accurate and contextually appropriate translation. Just paste the text here, and I'll get started.
🏆 Audiense Demand MCP Server
这个 MCP 帮助您与您的 Audiense Demand 账户进行交互。它提供工具来创建和分析需求报告、跟踪实体表现,并获得跨不同渠道和国家/地区的洞察。
MCP Server Template
用于使用 Bun 运行时构建 AI 工具的 MCP 入门套件 - 专为交互式测验而设计
SSB-MCP
用于与挪威统计局 (SSB) API 交互的 MCP 服务器 - 使 AI 代理能够访问挪威统计数据
BirdNet-Pi MCP Server
镜子 (jìng zi)
memory-mcp-server
一个使用模型上下文协议(MCP)标准的LLM长期记忆存储系统。该系统帮助LLM记住整个项目历史中完成的工作的上下文,即使跨越多个会话。它使用带有嵌入的语义搜索来提供来自过去交互和开发决策的相关上下文。
MCP Servers
用于科学研究的开源 MCP 服务器 (Yòng yú kēxué yánjiū de kāiyuán MCP fúwùqì) Alternative translations, depending on the specific nuance you want to convey: * **用于科学研究的开源多通道板服务器** (Yòng yú kēxué yánjiū de kāiyuán duō tōngdào bǎn fúwùqì) - This is more specific, translating MCP as "Multi-Channel Plate" (多通道板). Useful if the audience is familiar with the acronym. * **开源的用于科学研究的 MCP 服务器** (Kāiyuán de yòng yú kēxué yánjiū de MCP fúwùqì) - This emphasizes the "open source" aspect. The first translation is the most general and likely the best starting point. Choose the others if you need to be more specific.
面试鸭 MCP Server
基于 Spring AI 的面试鸭搜索题目的 MCP Server 服务,快速让 AI 搜索企业面试真题和答案。 (Bā yú Spring AI de miànshì yā sōusuǒ tímù de MCP Server fúwù, kuàisù ràng AI sōusuǒ qǐyè miànshì zhēntí hé dá'àn.) **Translation Breakdown:** * **基于 (jī yú):** Based on * **Spring AI 的 (de):** of Spring AI * **面试鸭 (miànshì yā):** Mianshi Ya (likely a specific product or service name, "面试" means interview, "鸭" often implies something easy or helpful) * **搜索题目 (sōusuǒ tímù):** Search questions/topics * **的 (de):** of * **MCP Server 服务 (fúwù):** MCP Server service * **快速 (kuàisù):** Quickly * **让 (ràng):** Let/Allow * **AI 搜索 (sōusuǒ):** AI search * **企业 (qǐyè):** Enterprise/Company * **面试 (miànshì):** Interview * **真题 (zhēntí):** Real questions (from past exams/interviews) * **和 (hé):** and * **答案 (dá'àn):** Answers
Awesome MCP Servers
Cardano MCP Server
一个专门的 RAG 网关,为语言模型提供 Cardano 区块链知识。使 AI 助手能够访问文档、验证智能合约、理解 UTXO 模式以及发现开发资源。基于 MCP TypeScript SDK 构建。开源。
MCP with RAG Demo
这个演示项目展示了如何实现一个具有检索增强生成 (RAG) 功能的模型上下文协议 (MCP) 服务器。该演示允许 AI 模型与知识库交互、搜索信息以及添加新文档。
MCP-server

usensedata-mcp-server-query-china-company
羽山数据API服务现已全面兼容MCP协议,打造数据服务MCP Server。usensedata-mcp-server-query-china-company 项目是一个为企业类数据查询服务而设的服务器,用户可以通过简单的配置,快速地通过LLM使用羽山数据的企业类数据服务。它依赖于MCP Typescript SDK,因此可以快速接入到支持MCP协议的智能体助手中。
Nest Llm Argent
MCP 的出现带来了极大的灵活性,其最大的优势在于通过开发的 MCP Server,可以支持对接不同的客户端。这种高度可扩展性促使我们深入思考:如何将 MCP Server 无缝集成到现有的 Web 服务中?我的解决方案是设计一个适配层,既能保持 MCP Server 包的完整性,又能方便地接入到各种场景中。因此,诞生了这个项目。最终希望提供大模型的调用包装接口,以及 MCP 的相关配置请求接口。 Here's the translation: MCP 的出现带来了极大的灵活性,其最大的优势在于通过开发的 MCP Server,可以支持对接不同的客户端。这种高度可扩展性促使我们深入思考:如何将 MCP Server 无缝集成到现有的 Web 服务中?我的解决方案是设计一个适配层,既能保持 MCP Server 包的完整性,又能方便地接入到各种场景中。因此,这个项目应运而生。最终目标是提供大模型的调用包装接口,以及 MCP 的相关配置请求接口。 **Minor changes and explanations:** * "诞生了这个项目" was changed to "这个项目应运而生" which is a more natural and idiomatic way to say "this project came into being." * "最终希望提供" was changed to "最终目标是提供" which translates to "the ultimate goal is to provide" and sounds more formal and professional. * I added a space between "MCP" and "的相关配置请求接口" for better readability. This translation maintains the original meaning while improving the flow and naturalness of the Chinese.
Triplewhale MCP Server
镜子 (jìng zi)
TaiwanWeatherWithMCPServer
🧠 Browserbase SSE Server
Simple Time MCP
简单的 MCP 服务器,用于处理时间相关的功能。
Weather MCP Server
创建 MCP(模型上下文协议)天气相关项目涉及设置一个可以获取和提供天气数据的 MCP 服务器。