
php-mcp/client
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Основная реализация PHP для клиента Model Context Protocol (MCP)
Обзор
Он предоставляет удобный для разработчиков интерфейс для подключения к отдельным MCP-серверам с использованием различных транспортных средств (stdio, http+sse), управления жизненным циклом соединения, обнаружения возможностей сервера (инструменты, ресурсы, рекомендации) и выполнения запросов, таких как инструменты вызова или ресурсы чтения. При использовании асинхронного ввода/вывода внутри через ReactPHP для надежности и функций обработки, таких как события, отправленные сервером, библиотека предлагает простой для общих случаев использования и расширенный контроль и параллелизм. Эта библиотека согласуется с моделью спецификации MCP, где один экземпляр клиента управляет состоянием соединения с одним сервером. Model Context Protocol (MCP) - это открытый стандарт, предназначенный для стандартизации того, как помощники и приложения ИИ подключаются к внешним источникам данных, API и инструментам (таким как кодовые базы, базы данных, веб-браузеры).
Обзор (машинный перевод)
**PHP MCP Client - это библиотека PHP для взаимодействия с серверами, реализующими протокол Model Context Protocol (MCP).
Он предоставляет удобный для разработчиков интерфейс для подключения к отдельным MCP-серверам с использованием различных транспортов ([T0], [T1]), управления жизненным циклом соединения, обнаружения возможностей сервера (Инструменты, Ресурсы, Оперативность) и выполнения запросов, таких как инструменты вызова или ресурсы чтения.
При использовании асинхронного ввода/вывода внутри через ReactPHP для надежности и обработки функций, таких как события, отправленные сервером, библиотека предлагает ** как простой ** синхронный (блокирующий) API ** для общих случаев использования, так и ** асинхронный (на основе обещаний) API ** для расширенного управления и параллелизма.
Эта библиотека согласуется с моделью спецификации MCP, где один экземпляр клиента управляет состоянием соединения с одним сервером.
Введение в MCP
Model Context Protocol (MCP) - это открытый стандарт, предназначенный для стандартизации того, как помощники и приложения ИИ подключаются к внешним источникам данных, API и инструментам (таким как кодовые базы, базы данных, веб-браузеры).
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
PHP MCP Client
PHP MCP Client is a PHP library for interacting with servers that implement the Model Context Protocol (MCP).
It provides a developer-friendly interface to connect to individual MCP servers using different transports (stdio, http+sse), manage the connection lifecycle, discover server capabilities (Tools, Resources, Prompts), and execute requests like calling tools or reading resources.
While utilizing asynchronous I/O internally via ReactPHP for robustness and handling features like server-sent events, the library offers both a straightforward synchronous (blocking) API for common use cases and an asynchronous (Promise-based) API for advanced control and concurrency.
This library aligns with the MCP specification’s model where one client instance manages a stateful connection to one server.
Introduction to MCP
The Model Context Protocol (MCP) is an open standard designed to standardize how AI assistants and applications connect to external data sources, APIs, and tools (like codebases, databases, web browsers). It acts as a communication layer, enabling AI models (like Claude, or models integrated via frameworks like OpenAI’s) to securely access and interact with context provided by different servers.
This client library allows your PHP application (acting as the “Host” in MCP terminology) to consume capabilities offered by one or more MCP servers.
Features
- Client-per-Server Model: Each
Clientinstance manages a stateful connection to a single configured MCP server, aligning with the MCP specification. - Fluent Configuration: Easy setup for each client instance using a
Client::make()->with...()builder pattern. - Dual API:
- Synchronous Facade: Interact with the server using straightforward, blocking methods (e.g.,
$client->listTools(),$client->callTool(...)) for simple integration. - Asynchronous API: Access underlying Promise-based methods (e.g.,
$client->listToolsAsync(),$client->callToolAsync(...)) for concurrency and integration with async PHP applications.
- Synchronous Facade: Interact with the server using straightforward, blocking methods (e.g.,
- Multiple Transports: Built-in support for:
stdio: Communicating with server processes via Standard Input/Output.http: Communicating with servers via HTTP POST and Server-Sent Events (SSE).
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
use PhpMcp\Client\ServerConfig;
use PhpMcp\Client\Exception\ConfigurationException;
$jsonConfig = '{
"mcpServers": {
"stdio_files": {
"command": "php",
"args": ["/app/mcp/file_server.php"],
"timeout": 10
},
"http_api": {
"url": "https://api.example.com/mcp/sse",
"transport": "http",
"headers": {"X-API-Key": "secret"}
}
}
}';
$decodedConfig = json_decode($jsonConfig, true)['mcpServers'] ?? [];
$serverConfigs = [];
foreach ($decodedConfig as $name => $data) {
try {
$serverConfigs[$name] = ServerConfig::fromArray($name, $data);
} catch (ConfigurationException $e) {
echo "Error parsing config for '{$name}': {$e->getMessage()}\n";
}
}
// Now $serverConfigs['stdio_files'] and $serverConfigs['http_api']
// contain ServerConfig objects.