发现优秀的 MCP 服务器
通过 MCP 服务器扩展您的代理能力,拥有 86,267 个能力。
Database Analyzer MCP Server
MCP Test Client
MCP 测试客户端是一个用于模型上下文协议 (MCP) 服务器的 TypeScript 测试实用程序。
MCP with Langchain Sample Setup
Okay, here's a sample setup for an MCP (presumably referring to a **Multi-Client Processing** or **Message Communication Protocol**) server and client, designed to be compatible with LangChain. This example focuses on a simple request-response pattern, suitable for offloading LangChain tasks to a separate process or machine. **Important Considerations:** * **Serialization:** LangChain objects can be complex. You'll need a robust serialization/deserialization method (e.g., `pickle`, `json`, `cloudpickle`) to send data between the server and client. `cloudpickle` is often preferred for its ability to handle more complex Python objects, including closures and functions. * **Error Handling:** Implement comprehensive error handling on both the server and client to gracefully manage exceptions and network issues. * **Security:** If you're transmitting data over a network, consider security measures like encryption (e.g., TLS/SSL) to protect sensitive information. * **Asynchronous Operations:** For better performance, especially with LangChain tasks that might be I/O bound, consider using asynchronous programming (e.g., `asyncio`). This example shows a basic synchronous version for clarity. * **Message Format:** Define a clear message format (e.g., JSON with specific keys) for requests and responses. * **LangChain Compatibility:** The key is to serialize the *input* to a LangChain component (like a Chain or LLM) on the client, send it to the server, deserialize it, run the LangChain component on the server, serialize the *output*, and send it back to the client. **Python Code (using `socket` module for simplicity):** **1. Server (server.py):** ```python import socket import pickle # Or json, cloudpickle import langchain import os # Example LangChain setup (replace with your actual chain) from langchain.llms import OpenAI from langchain.chains import LLMChain from langchain.prompts import PromptTemplate os.environ["OPENAI_API_KEY"] = "YOUR_API_KEY" # Replace with your actual API key llm = OpenAI(temperature=0.7) prompt = PromptTemplate( input_variables=["product"], template="What is a good name for a company that makes {product}?", ) chain = LLMChain(llm=llm, prompt=prompt) HOST = '127.0.0.1' # Standard loopback interface address (localhost) PORT = 65432 # Port to listen on (non-privileged ports are > 1023) def process_langchain_request(data): """ Processes a LangChain request. This is the core logic on the server. """ try: # Deserialize the input (assuming it's a dictionary) input_data = pickle.loads(data) # Or json.loads(data) if using JSON # **Crucially, ensure the input_data matches what your LangChain component expects.** # For example, if your chain expects a dictionary with a "text" key: # input_text = input_data["text"] # Run the LangChain component result = chain.run(input_data["product"]) # Replace with your actual LangChain call # Serialize the result serialized_result = pickle.dumps(result) # Or json.dumps(result) return serialized_result except Exception as e: print(f"Error processing request: {e}") return pickle.dumps({"error": str(e)}) # Serialize the error message with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f"Server listening on {HOST}:{PORT}") conn, addr = s.accept() with conn: print(f"Connected by {addr}") while True: data = conn.recv(4096) # Adjust buffer size as needed if not data: break response = process_langchain_request(data) conn.sendall(response) ``` **2. Client (client.py):** ```python import socket import pickle # Or json, cloudpickle HOST = '127.0.0.1' # The server's hostname or IP address PORT = 65432 # The port used by the server def send_langchain_request(input_data): """ Sends a LangChain request to the server and returns the response. """ try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) # Serialize the input data serialized_data = pickle.dumps(input_data) # Or json.dumps(input_data) s.sendall(serialized_data) received = s.recv(4096) # Adjust buffer size as needed # Deserialize the response deserialized_response = pickle.loads(received) # Or json.loads(received) return deserialized_response except Exception as e: print(f"Error sending request: {e}") return {"error": str(e)} if __name__ == "__main__": # Example usage input_data = {"product": "eco-friendly cleaning products"} # Replace with your actual input response = send_langchain_request(input_data) if "error" in response: print(f"Error from server: {response['error']}") else: print(f"Server response: {response}") ``` **How to Run:** 1. **Install LangChain:** `pip install langchain openai` 2. **Set your OpenAI API Key:** Replace `"YOUR_API_KEY"` in `server.py` with your actual OpenAI API key. 3. **Run the server:** `python server.py` 4. **Run the client:** `python client.py` **Explanation:** * **Server (`server.py`):** * Creates a socket and listens for incoming connections. * When a client connects, it receives data, deserializes it (using `pickle`), processes it using a LangChain component (in this case, a simple `LLMChain`), serializes the result, and sends it back to the client. * Includes basic error handling. * **Client (`client.py`):** * Creates a socket and connects to the server. * Serializes the input data (using `pickle`), sends it to the server, receives the response, deserializes it, and prints the result. * Includes basic error handling. * **Serialization:** `pickle` (or `json`, `cloudpickle`) is used to convert Python objects into a byte stream that can be sent over the network. The same method must be used for both serialization and deserialization. * **LangChain Integration:** The `process_langchain_request` function on the server is where the LangChain logic resides. It receives the serialized input, deserializes it, runs the LangChain component, and serializes the output. **Key Improvements and Considerations for Production:** * **Asynchronous Communication (using `asyncio`):** Use `asyncio` for non-blocking I/O, allowing the server to handle multiple clients concurrently. This significantly improves performance. * **Message Queues (e.g., RabbitMQ, Redis):** Instead of direct socket connections, use a message queue for more robust and scalable communication. This decouples the client and server and allows for asynchronous processing. * **gRPC:** Consider using gRPC for efficient and type-safe communication between the client and server. gRPC uses Protocol Buffers for serialization, which is generally faster and more compact than `pickle` or `json`. * **Authentication and Authorization:** Implement authentication and authorization to secure the server and prevent unauthorized access. * **Logging:** Use a logging library (e.g., `logging`) to record events and errors for debugging and monitoring. * **Configuration:** Use a configuration file (e.g., YAML, JSON) to store settings like the server address, port, and API keys. * **Monitoring:** Monitor the server's performance and resource usage to identify bottlenecks and potential issues. * **Data Validation:** Validate the input data on both the client and server to prevent errors and security vulnerabilities. * **Retry Logic:** Implement retry logic on the client to handle transient network errors. * **Heartbeat Mechanism:** Implement a heartbeat mechanism to detect and handle server failures. * **Cloudpickle:** For complex LangChain objects, especially those involving custom functions or classes, `cloudpickle` is often necessary to ensure proper serialization and deserialization. Install it with `pip install cloudpickle`. **Example using `cloudpickle`:** ```python # Server (server.py) import cloudpickle def process_langchain_request(data): try: input_data = cloudpickle.loads(data) result = chain.run(input_data["product"]) serialized_result = cloudpickle.dumps(result) return serialized_result except Exception as e: print(f"Error processing request: {e}") return cloudpickle.dumps({"error": str(e)}) # Client (client.py) import cloudpickle def send_langchain_request(input_data): try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) serialized_data = cloudpickle.dumps(input_data) s.sendall(serialized_data) received = s.recv(4096) deserialized_response = cloudpickle.loads(received) return deserialized_response except Exception as e: print(f"Error sending request: {e}") return {"error": str(e)} ``` This more complete example provides a solid foundation for building a distributed LangChain application. Remember to adapt the code to your specific needs and consider the production-level improvements mentioned above. **Chinese Translation of Key Concepts:** * **MCP (Multi-Client Processing/Message Communication Protocol):** 多客户端处理/消息通信协议 (Duō kèhùduān chǔlǐ/Xiāoxī tōngxìn xiéyì) * **Serialization:** 序列化 (Xùlièhuà) * **Deserialization:** 反序列化 (Fǎn xùlièhuà) * **LangChain:** LangChain (No direct translation, use the English name) * **Socket:** 套接字 (Tàojiēzì) * **Asynchronous:** 异步 (Yìbù) * **Message Queue:** 消息队列 (Xiāoxī duìliè) * **gRPC:** gRPC (No direct translation, use the English name) * **Protocol Buffers:** 协议缓冲区 (Xiéyì huǎnchōngqū) * **Authentication:** 身份验证 (Shēnfèn yànzhèng) * **Authorization:** 授权 (Shòuquán) * **Logging:** 日志记录 (Rìzhì jìlù) * **Cloudpickle:** Cloudpickle (No direct translation, use the English name) This should give you a good starting point. Let me know if you have any more specific questions.
Cursor Rust Tools
一个 MCP 服务器,用于让 Cursor 中的 LLM 访问 Rust Analyzer、Crate 文档和 Cargo 命令。
TypeScript MCP Server
ActionKit MCP Starter
Okay, here's a translation of "Starter code for a MCP server powered by ActionKit" into Chinese, along with a few options depending on the nuance you want to convey: **Option 1 (Most Literal):** * **基于 ActionKit 的 MCP 服务器的起始代码** * (Jīyú ActionKit de MCP fúwùqì de qǐshǐ dàimǎ) This is a direct translation. It's clear and understandable. **Option 2 (Slightly More Natural):** * **使用 ActionKit 构建的 MCP 服务器的初始代码** * (Shǐyòng ActionKit gòujiàn de MCP fúwùqì de chūshǐ dàimǎ) This emphasizes that ActionKit is used to *build* the server. "构建 (gòujiàn)" means "to build" or "to construct." **Option 3 (Focus on Getting Started):** * **用于 ActionKit 驱动的 MCP 服务器的入门代码** * (Yòng yú ActionKit qūdòng de MCP fúwùqì de rùmén dàimǎ) This emphasizes that the code is for *getting started* with an ActionKit-powered server. "入门 (rùmén)" means "entry-level" or "getting started." "驱动 (qūdòng)" means "driven by" or "powered by." **Option 4 (Concise and Common):** * **ActionKit MCP 服务器的初始代码** * (ActionKit MCP fúwùqì de chūshǐ dàimǎ) This is a more concise version, assuming the context makes it clear that the code is *for* the server. It's common to omit "基于" or "使用" in Chinese when it's implied. **Which option is best depends on the specific context:** * If you want to be very precise and literal, use Option 1. * If you want to emphasize the building aspect, use Option 2. * If you want to emphasize that it's for beginners, use Option 3. * If you want a concise and common phrasing, use Option 4. **Key Vocabulary:** * **起始代码 (qǐshǐ dàimǎ) / 初始代码 (chūshǐ dàimǎ):** Starter code, initial code * **MCP 服务器 (MCP fúwùqì):** MCP server * **基于 (jīyú):** Based on * **使用 (shǐyòng):** To use * **构建 (gòujiàn):** To build, to construct * **驱动 (qūdòng):** Driven by, powered by * **入门 (rùmén):** Entry-level, getting started I hope this helps! Let me know if you have any other questions.
x64dbg MCP server
x64dbg 调试器的 MCP 服务器
Comedy MCP Server
Okay, here's a translation of the request "MCP server using C# SDK to enhance comments with jokes from JokeAPI.": **Simplified Chinese:** 使用 C# SDK 的 MCP 服务器,用 JokeAPI 的笑话来增强评论。 **Traditional Chinese:** 使用 C# SDK 的 MCP 伺服器,用 JokeAPI 的笑話來增強評論。 **Explanation of the translation choices:** * **MCP Server:** This is kept as "MCP 服务器/伺服器" as it's likely a specific term related to the project and should be recognizable. If you have more context about what "MCP" stands for, I can provide a more accurate translation. * **C# SDK:** This is kept as "C# SDK" as it's a standard technical term. * **Enhance comments:** "增强评论/增強評論" is a direct and common translation for "enhance comments." * **Jokes from JokeAPI:** "JokeAPI 的笑话/笑話" translates to "jokes from JokeAPI." Again, keeping "JokeAPI" as is since it's a proper noun. **Therefore, the translation means:** A MCP server that uses the C# SDK to add jokes from the JokeAPI to comments.
Intervals.icu MCP Server
镜子 (jìng zi)
Wisdom MCP Gateway
Enterpret Wisdom MCP SSE 服务器的 stdio 网关
Html2url
XFetch Mcp
更强大的 Fetch。 允许从任何网页检索内容,包括那些受 Cloudflare 和其他安全系统保护的网页。
CityGML MCP 서버
T2_C2
Please be more specific. "Server code for MCP" is too vague. MCP could refer to many things. To give you relevant information, I need to know which MCP you're referring to. For example, are you looking for: * **Minecraft Protocol (MCP):** If you're referring to the protocol used for Minecraft servers, I can provide information about how to implement a server that uses the Minecraft protocol. This is a complex topic, and I'd need to know which version of Minecraft you're targeting (e.g., 1.19.4, 1.20.1, etc.) and what language you want to use (e.g., Java, Python, C++). I can also provide links to existing libraries that handle the protocol. * **Minecraft Coder Pack (MCP):** If you're referring to the tool used to decompile, deobfuscate, and recompile Minecraft code, I can explain how it works and where to find it. However, I cannot provide the actual decompiled Minecraft code, as that would likely violate copyright. * **A specific application or system named MCP:** If you're referring to a specific application or system that uses the acronym MCP, please provide more context. What does the MCP do? Who developed it? Once you provide more details, I can give you a more helpful and accurate response. In the meantime, here's a general example of a very basic (and incomplete) Minecraft server in Python, just to illustrate the concept: ```python # This is a VERY basic example and not a functional Minecraft server. # It's just to illustrate the concept. You'll need a proper Minecraft # protocol implementation to build a real server. import socket HOST = '127.0.0.1' # Standard loopback interface address (localhost) PORT = 25565 # Port to listen on (non-privileged ports are > 1023) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f"Listening on {HOST}:{PORT}") conn, addr = s.accept() with conn: print(f"Connected by {addr}") while True: data = conn.recv(1024) if not data: break print(f"Received: {data}") # Here you would need to parse the Minecraft protocol data # and respond accordingly. This is where a library like # `mcproto` or similar would be essential. response = b"Hello, client!" # Example response conn.sendall(response) ``` **Important Considerations for a Real Minecraft Server:** * **Minecraft Protocol:** The Minecraft protocol is complex and binary. You'll need to understand how to encode and decode packets. * **Libraries:** Use a library to handle the protocol. Don't try to implement it from scratch unless you have a very good reason. * **Performance:** Minecraft servers need to handle many connections and process data quickly. Choose a language and libraries that are performant. * **Security:** Protect your server from attacks. * **World Generation:** You'll need to generate and manage the game world. * **Player Management:** Handle player authentication, inventory, and other player-related data. Please provide more information about what you're trying to do, and I can give you more specific guidance. --- **Translation to Chinese:** 请更具体地说明。“MCP的服务器代码”太笼统了。 MCP可能指代很多东西。 为了给您提供相关信息,我需要知道您指的是哪个MCP。 例如,您是否在寻找: * **Minecraft协议(MCP):** 如果您指的是用于Minecraft服务器的协议,我可以提供有关如何实现使用Minecraft协议的服务器的信息。 这是一个复杂的主题,我需要知道您要针对哪个版本的Minecraft(例如,1.19.4、1.20.1等)以及您想使用哪种语言(例如,Java,Python,C ++)。 我还可以提供指向现有库的链接,这些库可以处理该协议。 * **Minecraft Coder Pack(MCP):** 如果您指的是用于反编译,反混淆和重新编译Minecraft代码的工具,我可以解释它的工作原理以及在哪里可以找到它。 但是,我无法提供实际的反编译Minecraft代码,因为这可能会侵犯版权。 * **名为MCP的特定应用程序或系统:** 如果您指的是使用首字母缩写词MCP的特定应用程序或系统,请提供更多上下文。 MCP做什么? 谁开发的? 一旦您提供更多详细信息,我就可以给您更有效和准确的答复。 同时,这是一个非常基本的(且不完整的)Python中的Minecraft服务器示例,仅用于说明概念: ```python # 这是一个非常基本的例子,而不是一个功能齐全的Minecraft服务器。 # 这只是为了说明概念。 您需要一个适当的Minecraft协议实现来构建一个真正的服务器。 import socket HOST = '127.0.0.1' # 标准环回接口地址(localhost) PORT = 25565 # 要监听的端口(非特权端口> 1023) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f"Listening on {HOST}:{PORT}") conn, addr = s.accept() with conn: print(f"Connected by {addr}") while True: data = conn.recv(1024) if not data: break print(f"Received: {data}") # 在这里,您需要解析Minecraft协议数据 # 并做出相应的回应。 在这里,像`mcproto`这样的库 # 或类似的东西将是必不可少的。 response = b"Hello, client!" # 示例响应 conn.sendall(response) ``` **实际Minecraft服务器的重要注意事项:** * **Minecraft协议:** Minecraft协议复杂且是二进制的。 您需要了解如何编码和解码数据包。 * **库:** 使用库来处理协议。 除非您有充分的理由,否则不要尝试从头开始实现它。 * **性能:** Minecraft服务器需要处理许多连接并快速处理数据。 选择一种性能良好的语言和库。 * **安全性:** 保护您的服务器免受攻击。 * **世界生成:** 您需要生成和管理游戏世界。 * **玩家管理:** 处理玩家身份验证,库存和其他与玩家相关的数据。 请提供有关您要执行的操作的更多信息,我可以为您提供更具体的指导。
MCP Actions Adapter
一个简单的适配器,用于将 MCP 服务器转换为与 GPT actions 兼容的 API。
xtrace-mcp
Chrome MCP Server
用于 Chrome 扩展程序和 Claude AI 之间集成的 MCP 服务器
MCP MongoDB Integration
这个项目演示了 MongoDB 与模型上下文协议 (MCP) 的集成,旨在为 AI 助手提供数据库交互能力。
MCP Servers
Browse Together MCP
与你的 AI 共同浏览,在你编辑代码时。一个带有头部的、由 Playwright 控制的浏览器,以及配套的 MCP 服务器。
Servidor MCP do Supabase
Supabase 具有查询和插入数据功能的 MCP 服务器。
Ticket Tailor API Integration
ディーゼロ開発環境用 MCPサーバー
D-Zero 前端编码 MCP 服务器
OpenAPI MCP Server
允许人工智能使用简单语言来理解复杂的 OpenAPI。
Razorpay MCP Server
非官方 Razorpay MCP 服务器 (Fēiguānfāng Razorpay MCP fúwùqì)
Aseprite MCP Tools
用于与 Aseprite API 交互的 MCP 服务器
Omni Server
一个用于熟悉模型上下文协议 (Model Context Protocol) 的 MCP 服务器。 Or, more literally: 一个用于熟悉模型上下文协议的 MCP 服务器 (MCP Server)。
🌱 mcp-origin
管理 MCP 服务器的 MCP 服务器
Remote MCP Server on Cloudflare
MCP Jira Server
There are a few ways to interpret "MCP to talk to Jira from cursor," depending on what "MCP" refers to. Here are a few possibilities and their corresponding Chinese translations: **1. If "MCP" refers to a specific tool or plugin called "MCP":** * **English:** Use the MCP tool to interact with Jira from within Cursor. * **Chinese:** 使用 MCP 工具从 Cursor 内部与 Jira 交互。 (Shǐyòng MCP gōngjù cóng Cursor nèibù yǔ Jira jiāohù.) **2. If "MCP" is a typo and you meant "API" (Application Programming Interface):** * **English:** Use an API to interact with Jira from within Cursor. * **Chinese:** 使用 API 从 Cursor 内部与 Jira 交互。 (Shǐyòng API cóng Cursor nèibù yǔ Jira jiāohù.) **3. If "MCP" refers to a general method of communication or a specific protocol (less likely without more context):** * **English:** Use MCP to communicate with Jira from within Cursor. * **Chinese:** 使用 MCP 从 Cursor 内部与 Jira 进行通信。 (Shǐyòng MCP cóng Cursor nèibù yǔ Jira jìnxíng tōngxìn.) **4. If "MCP" is a company or product name (and you want to keep it in English):** * **English:** Use MCP to talk to Jira from cursor. * **Chinese:** 使用 MCP 从 Cursor 内部与 Jira 进行通信。(Shǐyòng MCP cóng Cursor nèibù yǔ Jira jìnxíng tōngxìn.) (Keeping "MCP" in English) **To give you the most accurate translation, please clarify what "MCP" refers to.** For example: * "I'm using a tool called MCP to connect to Jira..." * "I want to use an API to connect to Jira from Cursor..." Once you provide more context, I can give you a more precise and helpful translation.