php-sdk/tests/Inspector/Stdio/StdioExplicitRegistrationTest.php
Tobias Nyholm 6dac6f3b4a
Move examples to server directory (#198)
* move examples to server directory

This will prepare for the client implementation in https://github.com/modelcontextprotocol/php-sdk/pull/192

* fix move bootstrap too
2025-12-27 15:39:05 +01:00

82 lines
2.7 KiB
PHP

<?php
/*
* This file is part of the official PHP MCP SDK.
*
* A collaboration between Symfony and the PHP Foundation.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Inspector;
use Mcp\Tests\Inspector\Stdio\StdioInspectorSnapshotTestCase;
final class StdioExplicitRegistrationTest extends StdioInspectorSnapshotTestCase
{
public static function provideMethods(): array
{
return [
...parent::provideMethods(),
'Echo Tool Call' => [
'method' => 'tools/call',
'options' => [
'toolName' => 'echo_text',
'toolArgs' => ['text' => 'Hello World!'],
],
'testName' => 'echo_text',
],
'Echo Tool with Special Characters' => [
'method' => 'tools/call',
'options' => [
'toolName' => 'echo_text',
'toolArgs' => ['text' => 'Test with emoji 🎉 and symbols @#$%'],
],
'testName' => 'echo_text_special_chars',
],
'Read App Version Resource' => [
'method' => 'resources/read',
'options' => [
'uri' => 'app://version',
],
'testName' => 'read_app_version',
],
'Read Item Details (123)' => [
'method' => 'resources/read',
'options' => [
'uri' => 'item://123/details',
],
'testName' => 'read_item_123_details',
],
'Read Item Details (ABC)' => [
'method' => 'resources/read',
'options' => [
'uri' => 'item://ABC/details',
],
'testName' => 'read_item_ABC_details',
],
'Personalized Greeting Prompt (Alice)' => [
'method' => 'prompts/get',
'options' => [
'promptName' => 'personalized_greeting',
'promptArgs' => ['userName' => 'Alice'],
],
'testName' => 'personalized_greeting_alice',
],
'Personalized Greeting Prompt (Bob)' => [
'method' => 'prompts/get',
'options' => [
'promptName' => 'personalized_greeting',
'promptArgs' => ['userName' => 'Bob'],
],
'testName' => 'personalized_greeting_bob',
],
];
}
protected function getServerScript(): string
{
return \dirname(__DIR__, 3).'/examples/server/explicit-registration/server.php';
}
}