|
12 | 12 | ListResourceTemplatesResult, |
13 | 13 | PromptMessage, |
14 | 14 | ReadResourceResult, |
| 15 | + Resource, |
| 16 | + ResourceTemplate, |
15 | 17 | TextContent, |
16 | 18 | ) |
17 | 19 | from pydantic import AnyUrl |
@@ -67,10 +69,14 @@ def name(self) -> str: |
67 | 69 | class FakeMCPServer(MCPServer): |
68 | 70 | def __init__( |
69 | 71 | self, |
| 72 | + resources: ListResourcesResult = ListResourcesResult(resources=[]), |
| 73 | + resources_templates: ListResourceTemplatesResult = ListResourceTemplatesResult(resourceTemplates=[]), |
70 | 74 | tools: list[MCPTool] | None = None, |
71 | 75 | tool_filter: ToolFilter = None, |
72 | 76 | server_name: str = "fake_mcp_server", |
73 | 77 | ): |
| 78 | + self.resources = resources |
| 79 | + self.resources_templates = resources_templates |
74 | 80 | self.tools: list[MCPTool] = tools or [] |
75 | 81 | self.tool_calls: list[str] = [] |
76 | 82 | self.tool_results: list[str] = [] |
@@ -129,6 +135,12 @@ async def read_resource(self, uri: AnyUrl) -> ReadResourceResult: |
129 | 135 | """Return a fake resource read for fake server""" |
130 | 136 | return ReadResourceResult(contents=[]) |
131 | 137 |
|
| 138 | + def add_resource(self, uri: AnyUrl, description: str | None = None): |
| 139 | + self.resources.append(Resource(uri=uri, description=description)) |
| 140 | + |
| 141 | + def add_resource_template(self, uri: AnyUrl, description: str | None = None): |
| 142 | + self.resources_templates.append(ResourceTemplate(uriTemplate=uri, description=description)) |
| 143 | + |
132 | 144 | @property |
133 | 145 | def name(self) -> str: |
134 | 146 | return self._server_name |
0 commit comments