| 126 | |
| 127 | |
| 128 | class Server(Generic[LifespanResultT]): |
| 129 | def __init__( |
| 130 | self, |
| 131 | name: str, |
| 132 | *, |
| 133 | version: str | None = None, |
| 134 | title: str | None = None, |
| 135 | description: str | None = None, |
| 136 | instructions: str | None = None, |
| 137 | website_url: str | None = None, |
| 138 | icons: list[types.Icon] | None = None, |
| 139 | lifespan: Callable[ |
| 140 | [Server[LifespanResultT]], |
| 141 | AbstractAsyncContextManager[LifespanResultT], |
| 142 | ] = lifespan, |
| 143 | # Request handlers |
| 144 | on_list_tools: Callable[ |
| 145 | [ServerRequestContext[LifespanResultT], types.PaginatedRequestParams | None], |
| 146 | Awaitable[types.ListToolsResult], |
| 147 | ] |
| 148 | | None = None, |
| 149 | on_call_tool: Callable[ |
| 150 | [ServerRequestContext[LifespanResultT], types.CallToolRequestParams], |
| 151 | Awaitable[types.CallToolResult | types.InputRequiredResult], |
| 152 | ] |
| 153 | | None = None, |
| 154 | on_list_resources: Callable[ |
| 155 | [ServerRequestContext[LifespanResultT], types.PaginatedRequestParams | None], |
| 156 | Awaitable[types.ListResourcesResult], |
| 157 | ] |
| 158 | | None = None, |
| 159 | on_list_resource_templates: Callable[ |
| 160 | [ServerRequestContext[LifespanResultT], types.PaginatedRequestParams | None], |
| 161 | Awaitable[types.ListResourceTemplatesResult], |
| 162 | ] |
| 163 | | None = None, |
| 164 | on_read_resource: Callable[ |
| 165 | [ServerRequestContext[LifespanResultT], types.ReadResourceRequestParams], |
| 166 | Awaitable[types.ReadResourceResult | types.InputRequiredResult], |
| 167 | ] |
| 168 | | None = None, |
| 169 | on_subscribe_resource: Callable[ |
| 170 | [ServerRequestContext[LifespanResultT], types.SubscribeRequestParams], |
| 171 | Awaitable[types.EmptyResult], |
| 172 | ] |
| 173 | | None = None, |
| 174 | on_unsubscribe_resource: Callable[ |
| 175 | [ServerRequestContext[LifespanResultT], types.UnsubscribeRequestParams], |
| 176 | Awaitable[types.EmptyResult], |
| 177 | ] |
| 178 | | None = None, |
| 179 | on_subscriptions_listen: Callable[ |
| 180 | [ServerRequestContext[LifespanResultT], types.SubscriptionsListenRequestParams], |
| 181 | Awaitable[types.EmptyResult], |
| 182 | ] |
| 183 | | None = None, |
| 184 | on_list_prompts: Callable[ |
| 185 | [ServerRequestContext[LifespanResultT], types.PaginatedRequestParams | None], |
no outgoing calls