wpboilerplate/wpb-mcp-servers-list
Composer 安装命令:
composer require wpboilerplate/wpb-mcp-servers-list
包简介
Composer library to retrieve all MCP servers registered in WordPress via the MCP Adapter plugin. Provides typed data objects and an optional REST endpoint. Styling and display are intentionally left to the consuming plugin.
README 文档
README
A Composer library that retrieves all MCP servers registered in WordPress via the MCP Adapter plugin.
This package is intentionally display-free. It provides typed PHP data objects and an optional REST endpoint. How the data is styled and rendered is entirely up to the consuming plugin.
Requirements
| Dependency | Version |
|---|---|
| PHP | >= 7.4 |
| WordPress | >= 6.8 |
| Jetpack Autoloader | ^5.0 (≥ v5.0.18, Composer dependency) |
| MCP Adapter plugin | >= 0.5.0 (soft dependency) |
The package works gracefully when MCP Adapter is not active — get_servers() simply returns an empty array and is_adapter_available() returns false.
Installation
composer require wpboilerplate/wpb-mcp-servers-list
Make sure your plugin loads the Jetpack Autoloader (installed alongside this package):
require_once __DIR__ . '/vendor/autoload_packages.php';
This package uses Jetpack Autoloader instead of the standard Composer autoloader to prevent class-version conflicts when multiple plugins require the same package. Always load
vendor/autoload_packages.php, notvendor/autoload.php.
Usage
1. Collect server data
MCP Adapter registers servers during rest_api_init at priority 15. You must collect after that:
use WPBoilerplate\McpServersList\McpServersList; // Option A – one-liner bootstrap (registers the hook automatically) add_action( 'plugins_loaded', [ McpServersList::class, 'bootstrap' ] ); // Option B – manual hook (more control) add_action( 'rest_api_init', function () { McpServersList::instance()->collect(); }, 20 );
2. Read the data
use WPBoilerplate\McpServersList\McpServersList; $servers = McpServersList::instance()->get_servers(); // $servers → ServerData[] foreach ( $servers as $server ) { echo $server->get_name(); // "WordPress MCP Server" echo $server->get_id(); // "default" echo $server->get_version(); // "0.5.0" echo $server->get_endpoint_url(); // "https://example.com/wp-json/wp/mcp/v1/mcp" foreach ( $server->get_tools() as $tool ) { echo $tool->get_name(); // "discover_abilities" echo $tool->get_description(); // "..." } foreach ( $server->get_resources() as $resource ) { echo $resource->get_name(); echo $resource->get_uri(); echo $resource->get_description(); } foreach ( $server->get_prompts() as $prompt ) { echo $prompt->get_name(); echo $prompt->get_description(); } }
3. Optional REST endpoint
Register the built-in endpoint so your admin JS can fetch server data:
use WPBoilerplate\McpServersList\RestEndpoint; add_action( 'rest_api_init', function () { // Default: GET /wp-json/wpb-mcp-servers-list/v1/servers (requires manage_options) RestEndpoint::register(); // Custom namespace / capability at registration time: // RestEndpoint::register( 'read', 'my-plugin/v1', '/mcp-servers' ); }, 20 );
The endpoint is admin-only by default (manage_options). Use the wpb_mcp_servers_list_rest_capability filter to change the required capability at runtime:
// Allow editors to access the endpoint: add_filter( 'wpb_mcp_servers_list_rest_capability', function ( string $cap ): string { return 'edit_posts'; } ); // Allow any logged-in user: add_filter( 'wpb_mcp_servers_list_rest_capability', function ( string $cap ): string { return 'read'; } );
Note: The filter takes precedence over the
$capabilityargument passed toRestEndpoint::register(). Non-admin users always receive a401 Unauthorizedresponse if neither the argument nor the filter grants them access.
Response shape:
{
"adapter_available": true,
"servers": [
{
"id": "default",
"name": "WordPress MCP Server",
"description": "...",
"version": "0.5.0",
"endpoint_url": "https://example.com/wp-json/wp/mcp/v1/mcp",
"route_namespace": "wp/mcp/v1",
"route": "/mcp",
"tools": [
{ "name": "discover_abilities", "description": "..." }
],
"resources": [],
"prompts": []
}
]
}
4. Check adapter availability
if ( McpServersList::is_adapter_available() ) { // MCP Adapter plugin is active }
API Reference
McpServersList
| Method | Returns | Description |
|---|---|---|
::instance() |
McpServersList |
Get singleton instance |
::bootstrap() |
void |
Register collect() on rest_api_init at priority 20 |
::is_adapter_available() |
bool |
Check if MCP Adapter is active |
->collect() |
void |
Collect all registered servers (idempotent) |
->get_servers() |
ServerData[] |
All collected servers |
->get_server( $id ) |
ServerData|null |
Single server by ID |
->has_servers() |
bool |
Whether any servers were collected |
->is_collected() |
bool |
Whether collect() has run |
RestEndpoint
| Method | Description |
|---|---|
::register( $capability, $namespace, $route ) |
Register the REST endpoint (admin-only by default) |
::get_schema() |
Get the JSON schema for the response |
Constants: RestEndpoint::NAMESPACE, RestEndpoint::ROUTE
Filter: wpb_mcp_servers_list_rest_capability — override the required WordPress capability at runtime.
// Default behaviour (administrators only): // apply_filters( 'wpb_mcp_servers_list_rest_capability', 'manage_options' )
ServerData
| Method | Returns |
|---|---|
get_id() |
string |
get_name() |
string |
get_description() |
string |
get_version() |
string |
get_endpoint_url() |
string |
get_route_namespace() |
string |
get_route() |
string |
get_tools() |
ToolData[] |
get_resources() |
ResourceData[] |
get_prompts() |
PromptData[] |
to_array() |
array |
ToolData / PromptData
get_name(), get_description(), to_array()
ResourceData
get_name(), get_uri(), get_description(), to_array()
Changelog
See CHANGELOG.md.
License
GPL-2.0-or-later — see LICENSE.
wpboilerplate/wpb-mcp-servers-list 适用场景与选型建议
wpboilerplate/wpb-mcp-servers-list 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 323 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wordpress」 「mcp」 「model-context-protocol」 「mcp-adapter」 「mcp-servers」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 wpboilerplate/wpb-mcp-servers-list 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 wpboilerplate/wpb-mcp-servers-list 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 wpboilerplate/wpb-mcp-servers-list 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP DTOs for the Model Context Protocol (MCP) specification
Secure HTTP transport wrapper for MCP servers with API key auth, IP/Origin allowlisting, and rate limiting
Standardized event classes for MCP (Model Context Protocol) tool execution lifecycle
JSON Schema builder and validator for MCP tool definitions
Laravel implementation of the Model Context Protocol (MCP) SDK
Standalone CLI that generates codebase context (JSON + Markdown) for AI agents.
统计信息
- 总下载量: 323
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 44
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2026-05-14