MCPcopy
hub / github.com/modelcontextprotocol/python-sdk / Server

Class Server

src/mcp/server/lowlevel/server.py:128–572  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

126
127
128class 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],

Calls

no outgoing calls