PHP code example of monkeyscloud / monkeyslegion-mcp
1. Go to this page and download the library: Download monkeyscloud/monkeyslegion-mcp library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
monkeyscloud / monkeyslegion-mcp example snippets
use MonkeysLegion\Mcp\Server\McpServer;
use MonkeysLegion\Mcp\Protocol\ServerInfo;
$server = new McpServer(new ServerInfo('MyApp', '1.0.0'));
use MonkeysLegion\Mcp\Attributes\McpTool;
use MonkeysLegion\Mcp\Attributes\McpParam;
use MonkeysLegion\Mcp\Attributes\McpResource;
use MonkeysLegion\Mcp\Attributes\McpPrompt;
use MonkeysLegion\Mcp\Prompt\PromptDefinition;
class AppTools
{
/**
* Search the database for records matching a query.
*/
#[McpTool(name: 'search', description: 'Search records')]
public function search(
#[McpParam(description: 'Search query string')]
string $query,
#[McpParam(description: 'Max results to return', finition(
name: 'code_review',
description: 'Review code for best practices',
arguments: [
'language' => ['description' => 'Programming language', '
use MonkeysLegion\Mcp\Discovery\AttributeScanner;
AttributeScanner::scan($server, [AppTools::class]);
// or scan an entire directory:
AttributeScanner::scanDirectory($server, __DIR__ . '/app/Mcp', 'App\\Mcp');
use MonkeysLegion\Mcp\Transport\StdioTransport;
$transport = new StdioTransport();
$transport->start($server);
use MonkeysLegion\Mcp\Transport\StreamableHttpTransport;
$transport = new StreamableHttpTransport();
// In a route handler or controller:
$transport->handleRequest($server);
use MonkeysLegion\Mcp\Middleware\McpMiddleware;
// Mount on your middleware stack — handles POST, GET, DELETE on /mcp
$middleware = new McpMiddleware($server, '/mcp');
// Or use the Provider for zero-config setup:
use MonkeysLegion\Mcp\Provider\McpProvider;
$provider = new McpProvider($config['mcp'] ?? []);
$middleware = $provider->middleware(); // Auto-wired with server + discovery
$server = $provider->server(); // Singleton, pre-scanned
$transport = $provider->transport(); // stdio or http based on config
MonkeysLegion\Mcp\Server\McpServer;
use MonkeysLegion\Mcp\Protocol\ServerInfo;
use MonkeysLegion\Mcp\Discovery\AttributeScanner;
use MonkeysLegion\Mcp\Transport\StdioTransport;
$server = new McpServer(new ServerInfo('MyApp', '1.0.0'));
// Register your tools
AttributeScanner::scanDirectory($server, __DIR__ . '/app/Mcp', 'App\\Mcp');
// Start stdio transport
(new StdioTransport())->start($server);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.