Token导航 LogoToken导航TokenDH.com
Php MCP SDK Foundation Launch logo
AI代理未说明官方级别未说明来源级核验

Php MCP SDK Foundation Launch

MCP Server

一个轻量级、生产就绪的PHP SDK,用于通过JSON-RPC 2.0与模型上下文协议(MCP)服务器通信,支持多种传输后端和内置重试逻辑。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PHPHTTP传输AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

victorstack-ai

提供方

victorstack-ai

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

PHP-MCP-SDK

![License: MIT](LICENSE) ](https://www.php.net/) ![PHPUnit](https://phpunit.de/) ![PSR-12](https://www.php-fig.org/psr/psr-12/)

一个轻量级的、可用于生产的PHP SDK,用于与 模型上下文协议(MCP) 服务器使用 JSON-RPC 2.0。该包裹附带多个运输后端和内置 具有指数回退的重试逻辑,因此您可以将MCP工具调用集成到 任何PHP应用程序,只需付出最小的努力。

______________________________________________________________________

特性

  • JSON-RPC 2.0客户端 -- listTools()callTool() 直接映射到MCP

协议方法。

  • 运输抽象 --交换HTTP、stdio或内存传输,无需

更改客户端代码。

  • HTTP传输 --使用cURL通过HTTP/HTTPS连接到远程MCP服务器。
  • 标准运输 --启动本地MCP服务器进程并与之通信

通过stdin/stdout。

  • 内存传输 --用于单元测试的确定性、基于队列的传输。
  • 使用指数回退重试 --可配置的最大重试次数、基本延迟和

瞬态故障的退避倍数。

  • 严格打字 -- declare(strict_types=1) 在任何地方,全面覆盖PHPDoc。

______________________________________________________________________

安装

composer require victorstack-ai/php-mcp-sdk-foundation-launch
要求: PHP 8.1或更高版本,ext curl(用于 HttpTransport).

______________________________________________________________________

用法

HTTP传输(远程MCP服务器)

use VictorStackAi\McpSdk\McpClient;
use VictorStackAi\McpSdk\Transport\HttpTransport;

$transport = new HttpTransport('https://mcp.example.com/rpc');
$client    = new McpClient($transport);

// List available tools
$tools = $client->listTools();
foreach ($tools as $tool) {
    echo $tool['name'] . ': ' . $tool['description'] . PHP_EOL;
}

// Call a tool
$result = $client->callTool('search_docs', ['query' => 'installation']);
print_r($result);

标准传输(本地MCP服务器进程)

use VictorStackAi\McpSdk\McpClient;
use VictorStackAi\McpSdk\Transport\StdioTransport;

// Launch a local MCP server and communicate over stdin/stdout
$transport = new StdioTransport('node', ['./mcp-server.js']);
$client    = new McpClient($transport);

$tools  = $client->listTools();
$result = $client->callTool($tools[0]['name'], ['key' => 'value']);

// Close the process when done
$transport->close();

内存传输(测试)

use VictorStackAi\McpSdk\McpClient;
use VictorStackAi\McpSdk\Transport\InMemoryTransport;

$transport = new InMemoryTransport([
    [
        'jsonrpc' => '2.0',
        'id'      => 1,
        'result'  => [
            'tools' => [
                ['name' => 'ping', 'description' => 'Pings the server.'],
            ],
        ],
    ],
]);

$client = new McpClient($transport);
$tools  = $client->listTools();
assert($tools[0]['name'] === 'ping');

重试逻辑

默认情况下 McpClient 重试失败的请求最多 3次 随着 指数退避(基延迟500ms,乘数2x)。您可以对此进行自定义:

$client = new McpClient(
    transport:  $transport,
    maxRetries: 5,      // retry up to 5 times
    retryDelay: 1000,   // start with 1 000 ms delay
    retryMultiplier: 1.5,
);

maxRetries0 完全禁用重试逻辑。

______________________________________________________________________

建筑

+---------------------+
|     McpClient       |  JSON-RPC 2.0 client with retry logic
+----------+----------+
           |
           | send(payload): array
           v
+---------------------+
| TransportInterface  |  Contract for all transports
+---------------------+
     ^    ^    ^
     |    |    |
+----+  +-+-+  +----+
| Http| |Stdio| |InMem|
| Trnsp| |Trnsp| |Trnsp|
+------+ +-----+ +-----+
  cURL   proc_open  queue

______________________________________________________________________

通过定制运输进行扩展

实施 TransportInterface 并将您的运输工具注入 McpClient:

use VictorStackAi\McpSdk\Transport\TransportInterface;

final class RedisTransport implements TransportInterface
{
    public function send(array $payload): array
    {
        // Publish the JSON-RPC payload to a Redis channel,
        // wait for the response, and return it as an array.
    }
}

$client = new McpClient(new RedisTransport());

______________________________________________________________________

发展

# Install dependencies
composer install

# Run linter (PSR-12)
composer lint

# Run tests
composer test

______________________________________________________________________

许可证

该项目根据 MIT许可证.

版权所有(c)2025维克托·希门尼斯。

目录标签

目录标签

PHPHTTP传输AI代理本地部署PHPSDKJSON-RPCMCP协议Stdio传输重试逻辑

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP