Skip to content

Commit f1a76a6

Browse files
committed
refactor: drop unused McpApps::isUiResource helper
The helper was only referenced by its own tests — no caller in src/ or examples/ uses it. Server-side code building UI resources already knows their URI and MIME type, so the helper is YAGNI.
1 parent c40a6ae commit f1a76a6

3 files changed

Lines changed: 1 addition & 60 deletions

File tree

src/Schema/Extension/Apps/McpApps.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
namespace Mcp\Schema\Extension\Apps;
1313

1414
use Mcp\Schema\Extension\ServerExtensionInterface;
15-
use Mcp\Schema\Resource;
1615

1716
/**
1817
* The MCP Apps extension (io.modelcontextprotocol/ui).
@@ -44,13 +43,4 @@ public function getCapabilities(): array
4443
{
4544
return ['mimeTypes' => [self::MIME_TYPE]];
4645
}
47-
48-
/**
49-
* Checks whether a Resource is a UI resource based on its URI scheme and MIME type.
50-
*/
51-
public static function isUiResource(Resource $resource): bool
52-
{
53-
return str_starts_with($resource->uri, self::URI_SCHEME.'://')
54-
&& self::MIME_TYPE === $resource->mimeType;
55-
}
5646
}

src/Server/Builder.php

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -592,24 +592,9 @@ public function build(): Server
592592
promptsListChanged: $this->eventDispatcher instanceof EventDispatcherInterface,
593593
logging: true,
594594
completions: true,
595+
extensions: [] !== $this->extensions ? $this->extensions : null,
595596
);
596597

597-
if ([] !== $this->extensions) {
598-
$capabilities = new ServerCapabilities(
599-
tools: $capabilities->tools,
600-
toolsListChanged: $capabilities->toolsListChanged,
601-
resources: $capabilities->resources,
602-
resourcesSubscribe: $capabilities->resourcesSubscribe,
603-
resourcesListChanged: $capabilities->resourcesListChanged,
604-
prompts: $capabilities->prompts,
605-
promptsListChanged: $capabilities->promptsListChanged,
606-
logging: $capabilities->logging,
607-
completions: $capabilities->completions,
608-
experimental: $capabilities->experimental,
609-
extensions: array_merge($capabilities->extensions ?? [], $this->extensions),
610-
);
611-
}
612-
613598
$serverInfo = $this->serverInfo ?? new Implementation();
614599
$configuration = new Configuration($serverInfo, $capabilities, $this->paginationLimit, $this->instructions, $this->protocolVersion);
615600
$referenceHandler = $this->referenceHandler ?? new ReferenceHandler($container);

tests/Unit/Schema/Extension/Apps/McpAppsTest.php

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use Mcp\Schema\Extension\Apps\UiResourceCsp;
1818
use Mcp\Schema\Extension\Apps\UiResourcePermissions;
1919
use Mcp\Schema\Extension\Apps\UiToolMeta;
20-
use Mcp\Schema\Resource;
2120
use PHPUnit\Framework\TestCase;
2221

2322
class McpAppsTest extends TestCase
@@ -30,39 +29,6 @@ public function testServerExtensionInterface(): void
3029
$this->assertSame(['mimeTypes' => ['text/html;profile=mcp-app']], $extension->getCapabilities());
3130
}
3231

33-
public function testIsUiResourceReturnsTrueForUiResource(): void
34-
{
35-
$resource = new Resource(
36-
uri: 'ui://my-app',
37-
name: 'my-app',
38-
mimeType: McpApps::MIME_TYPE,
39-
);
40-
41-
$this->assertTrue(McpApps::isUiResource($resource));
42-
}
43-
44-
public function testIsUiResourceReturnsFalseForNonUiScheme(): void
45-
{
46-
$resource = new Resource(
47-
uri: 'file://my-app',
48-
name: 'my-app',
49-
mimeType: McpApps::MIME_TYPE,
50-
);
51-
52-
$this->assertFalse(McpApps::isUiResource($resource));
53-
}
54-
55-
public function testIsUiResourceReturnsFalseForNonUiMimeType(): void
56-
{
57-
$resource = new Resource(
58-
uri: 'ui://my-app',
59-
name: 'my-app',
60-
mimeType: 'text/html',
61-
);
62-
63-
$this->assertFalse(McpApps::isUiResource($resource));
64-
}
65-
6632
public function testUiResourceCspSerialization(): void
6733
{
6834
$csp = new UiResourceCsp(

0 commit comments

Comments
 (0)