| 72 | * @category McpServer |
| 73 | */ |
| 74 | export class McpServer extends Context.Tag("@effect/ai/McpServer")< |
| 75 | McpServer, |
| 76 | { |
| 77 | readonly notifications: RpcClient.RpcClient<RpcGroup.Rpcs<typeof ServerNotificationRpcs>> |
| 78 | readonly notificationsMailbox: Mailbox.ReadonlyMailbox<RpcMessage.Request<any>> |
| 79 | readonly initializedClients: Set<number> |
| 80 | |
| 81 | readonly tools: ReadonlyArray<Tool> |
| 82 | readonly addTool: (options: { |
| 83 | readonly tool: Tool |
| 84 | readonly handle: (payload: any) => Effect.Effect<CallToolResult, never, McpServerClient> |
| 85 | }) => Effect.Effect<void> |
| 86 | readonly callTool: ( |
| 87 | requests: typeof CallTool.payloadSchema.Type |
| 88 | ) => Effect.Effect<CallToolResult, InternalError | InvalidParams, McpServerClient> |
| 89 | |
| 90 | readonly resources: ReadonlyArray<Resource> |
| 91 | readonly addResource: ( |
| 92 | resource: Resource, |
| 93 | handle: Effect.Effect<typeof ReadResourceResult.Type, InternalError, McpServerClient> |
| 94 | ) => Effect.Effect<void> |
| 95 | |
| 96 | readonly resourceTemplates: ReadonlyArray<ResourceTemplate> |
| 97 | readonly addResourceTemplate: (options: { |
| 98 | readonly template: ResourceTemplate |
| 99 | readonly routerPath: string |
| 100 | readonly completions: Record<string, (input: string) => Effect.Effect<CompleteResult, InternalError>> |
| 101 | readonly handle: (uri: string, params: Array<string>) => Effect.Effect< |
| 102 | typeof ReadResourceResult.Type, |
| 103 | InvalidParams | InternalError, |
| 104 | McpServerClient |
| 105 | > |
| 106 | }) => Effect.Effect<void> |
| 107 | |
| 108 | readonly findResource: (uri: string) => Effect.Effect< |
| 109 | typeof ReadResourceResult.Type, |
| 110 | InvalidParams | InternalError, |
| 111 | McpServerClient |
| 112 | > |
| 113 | |
| 114 | readonly prompts: ReadonlyArray<Prompt> |
| 115 | readonly addPrompt: (options: { |
| 116 | readonly prompt: Prompt |
| 117 | readonly completions: Record< |
| 118 | string, |
| 119 | (input: string) => Effect.Effect<CompleteResult, InternalError, McpServerClient> |
| 120 | > |
| 121 | readonly handle: ( |
| 122 | params: Record<string, string> |
| 123 | ) => Effect.Effect<GetPromptResult, InternalError | InvalidParams, McpServerClient> |
| 124 | }) => Effect.Effect<void> |
| 125 | readonly getPromptResult: ( |
| 126 | request: typeof GetPrompt.payloadSchema.Type |
| 127 | ) => Effect.Effect<GetPromptResult, InternalError | InvalidParams, McpServerClient> |
| 128 | |
| 129 | readonly completion: ( |
| 130 | complete: typeof Complete.payloadSchema.Type |
| 131 | ) => Effect.Effect<CompleteResult, InternalError, McpServerClient> |
nothing calls this directly
no test coverage detected