发现优秀的 MCP 服务器
通过 MCP 服务器扩展您的代理能力,拥有 12,350 个能力。
CISA Vulnerability Checker
kev-mcp 服务器 (kev-mcp fúwùqì)
MCP-Recon-Server
带有用于域名侦察的工具的 MCP 服务器 (Dài yǒu yòng yú yú míng zhēnchá de gōngjù de MCP fúwùqì) Alternatively, a more technical translation could be: 配备域名侦察工具的 MCP 服务器 (Pèibèi yú míng zhēnchá gōngjù de MCP fúwùqì) Which one is better depends on the context. The first is more general, while the second is more precise.
weather-mcp-server
天气 MCP 服务器 (Tiānqì MCP fúwùqì)
Korea Weather MCP Server
使用韩国气象厅 (KWS) 的 MCP 服务器
MCP_server_example

mcp-cps-data MCP serverWhat is mcp-cps-data?How to use mcp-cps-data?Key features of mcp-cps-data?Use cases of mcp-cps-data?FAQ from mcp-cps-data?
芝加哥公立学校本地托管数据的 MCP 服务器
mentor-mcp-server
镜子 (jìng zi)
EOL MCP Server 📅
镜子 (jìng zi)
mcpServerStudy
MCP服务器研究 (MCP fúwùqì yánjiū)
Cryptocurrency Market Data MCP Server
镜子 (jìng zi)
YR MCP Server
使用 Yr 天气数据作为 LLM 工具上下文的 MCP 服务器。
Mcp Gaodeweather Server
Weather MCP Server
镜子 (jìng zi)
Time MCP Server by PHP
好的,这是使用 PHP 实现的 MCP (Model Context Protocol) 服务器,用于检索时间信息的示例: ```php <?php // 定义 MCP 服务器的地址和端口 $address = 'tcp://127.0.0.1:12345'; // 创建一个 TCP 套接字 $socket = stream_socket_server($address, $errno, $errstr); if (!$socket) { die("Could not create socket: $errstr ($errno)\n"); } echo "MCP Server listening on $address...\n"; while (true) { // 接受客户端连接 $client = stream_socket_accept($socket, -1); if ($client) { echo "Client connected.\n"; // 读取客户端请求 $request = fread($client, 1024); // 处理请求 $response = handleRequest($request); // 发送响应 fwrite($client, $response); // 关闭客户端连接 fclose($client); echo "Client disconnected.\n"; } } fclose($socket); /** * 处理客户端请求并返回响应。 * * @param string $request 客户端请求 * @return string MCP 响应 */ function handleRequest(string $request): string { // 假设请求是简单的 "get_time" if (trim($request) === 'get_time') { $currentTime = date('Y-m-d H:i:s'); $response = "time: " . $currentTime . "\n"; // MCP 响应格式,可以根据需要调整 } else { $response = "error: invalid request\n"; // 错误响应 } return $response; } ?> ``` **代码解释:** 1. **`$address = 'tcp://127.0.0.1:12345';`**: 定义了服务器监听的地址和端口。 `tcp://127.0.0.1` 表示监听本地回环地址,`12345` 是端口号。 你可以根据需要修改这些值。 2. **`$socket = stream_socket_server($address, $errno, $errstr);`**: 使用 `stream_socket_server` 函数创建一个 TCP 套接字服务器。 `$errno` 和 `$errstr` 用于存储错误代码和错误信息,如果套接字创建失败。 3. **`while (true)`**: 进入一个无限循环,等待客户端连接。 4. **`$client = stream_socket_accept($socket, -1);`**: 使用 `stream_socket_accept` 函数接受客户端连接。 `-1` 表示无限期等待连接。 5. **`$request = fread($client, 1024);`**: 从客户端读取请求数据。 `1024` 是读取的最大字节数。 6. **`$response = handleRequest($request);`**: 调用 `handleRequest` 函数处理客户端请求并生成响应。 7. **`fwrite($client, $response);`**: 将响应数据发送给客户端。 8. **`fclose($client);`**: 关闭客户端连接。 9. **`handleRequest(string $request): string`**: 这个函数负责处理客户端请求。 在这个例子中,它检查请求是否为 "get_time"。 如果是,它获取当前时间并将其格式化为 `Y-m-d H:i:s`。 然后,它构建一个 MCP 响应,格式为 `time: <当前时间>\n`。 如果请求无效,它返回一个错误响应。 **如何运行:** 1. 将代码保存为 `mcp_server.php`。 2. 在命令行中运行 `php mcp_server.php`。 3. 服务器将开始监听 `tcp://127.0.0.1:12345`。 **如何测试:** 你可以使用 `telnet` 或 `netcat` 等工具来测试服务器。 * **使用 telnet:** ```bash telnet 127.0.0.1 12345 ``` 连接成功后,输入 `get_time` 并按回车键。 服务器应该返回当前时间。 * **使用 netcat:** ```bash nc 127.0.0.1 12345 ``` 连接成功后,输入 `get_time` 并按回车键。 服务器应该返回当前时间。 **重要注意事项:** * **错误处理:** 这个示例代码只包含基本的错误处理。 在生产环境中,你需要添加更完善的错误处理机制,例如记录错误日志。 * **安全性:** 这个示例代码没有考虑安全性。 在生产环境中,你需要采取安全措施,例如验证客户端身份、防止注入攻击等。 * **MCP 协议:** 这个示例代码只是一个简单的 MCP 服务器的演示。 真正的 MCP 协议可能更复杂,需要根据实际需求进行调整。 你需要定义清晰的请求和响应格式。 * **并发:** 这个示例代码是单线程的,一次只能处理一个客户端连接。 如果需要处理大量并发连接,你需要使用多线程或异步编程。 可以使用 `pcntl_fork` 创建子进程来处理并发连接,或者使用 `ReactPHP` 等异步框架。 * **扩展性:** 这个示例代码只提供了一个简单的 `get_time` 功能。 你可以根据需要添加更多功能,例如获取系统信息、执行命令等。 **更完善的示例 (使用 `pcntl_fork` 实现并发):** ```php <?php // 定义 MCP 服务器的地址和端口 $address = 'tcp://127.0.0.1:12345'; // 创建一个 TCP 套接字 $socket = stream_socket_server($address, $errno, $errstr); if (!$socket) { die("Could not create socket: $errstr ($errno)\n"); } echo "MCP Server listening on $address...\n"; // 设置信号处理函数,防止僵尸进程 pcntl_signal(SIGCHLD, SIG_IGN); while (true) { // 接受客户端连接 $client = stream_socket_accept($socket, -1); if ($client) { // 创建一个子进程来处理客户端连接 $pid = pcntl_fork(); if ($pid == -1) { // Fork 失败 fclose($client); echo "Fork failed.\n"; } elseif ($pid == 0) { // 子进程 fclose($socket); // 子进程不需要监听套接字 echo "Client connected (PID: " . getmypid() . ").\n"; // 读取客户端请求 $request = fread($client, 1024); // 处理请求 $response = handleRequest($request); // 发送响应 fwrite($client, $response); // 关闭客户端连接 fclose($client); echo "Client disconnected (PID: " . getmypid() . ").\n"; exit(0); // 子进程退出 } else { // 父进程 fclose($client); // 父进程不需要客户端套接字 } } } fclose($socket); /** * 处理客户端请求并返回响应。 * * @param string $request 客户端请求 * @return string MCP 响应 */ function handleRequest(string $request): string { // 假设请求是简单的 "get_time" if (trim($request) === 'get_time') { $currentTime = date('Y-m-d H:i:s'); $response = "time: " . $currentTime . "\n"; // MCP 响应格式,可以根据需要调整 } else { $response = "error: invalid request\n"; // 错误响应 } return $response; } ?> ``` 这个并发版本使用 `pcntl_fork` 创建子进程来处理每个客户端连接。 这允许多个客户端同时连接到服务器。 `pcntl_signal(SIGCHLD, SIG_IGN);` 用于忽略子进程结束的信号,防止产生僵尸进程。 记住,这只是一个基本的示例。 你需要根据你的具体需求进行修改和扩展。 在生产环境中使用之前,请务必进行充分的测试和安全审查。
MODEL CONTEXT PROTOCOL
Anthropic 的模型上下文协议的实现
Story IP Creator Agent
一个使用我们 MCP 服务器的演示代理
Bitcoin Model Context Protocol Server
これなに
🦊 MCPBench: A Benchmark for Evaluating MCP Servers
MCP 服务器上的评估基准
mcp-projects
MCP (模型上下文协议) 的项目仓库
apm-mcp-server: アジャイルプラクティスマップ MCPサーバー
这是一个用于知识和交互的敏捷实践地图的 MCP 服务器。
Model Context Protocol Resources & Guides
探索模型上下文协议 (MCP):通过我在学习这个新协议时构建的实用指南、客户端和服务器。
Plex MCP Server
用于 Plex 的 MCP 服务器,允许 LLM 与 Plex 对话。
LegalContext MCP Server
LegalContext 是一个开源的“模型上下文协议”(Model Context Protocol,简称 MCP)服务器,它在律师事务所的文档管理系统(特别是 Clio)和 AI 助手(从 Claude Desktop 开始)之间建立一个安全、标准化的桥梁。
Weather MCP Server
bioRxiv MCP Server
镜子 (jìng zi)
Welcome to Agent MCP
人工智能代理和多云平台编排开源工具目录
Tavily Search MCP Server
镜子 (jìng zi)
Whoop API MCP Server
用于与 Whoop API 交互以检索健身和健康数据的 MCP 服务器
mcp-dagster: A Dagster MCP Server