This page is generated from the module’s exported API and ## documentation comments.
Multi round-trip requests and low-level input handling.
McpElicitationMode = enum
mcpElicitationForm, mcpElicitationUrl
View source
McpElicitationRequest = object
mode*: McpElicitationMode
requestedSchema*: JsonNode
View source
McpElicitationAction = enum
mcpElicitationAccept, mcpElicitationDecline, mcpElicitationCancel
View source
McpElicitationResult = object
action*: McpElicitationAction
View source
McpInputRequests = Table[string, McpInputRequest]
View source
McpElicitationHandler = proc (request: McpElicitationRequest): McpElicitationResult {.
View source
McpInputResponseHandler = proc (request: McpInputRequest): JsonNode {.closure.}
View source
McpInputClient = ref object
elicitationHandler*: McpElicitationHandler
samplingHandler*: McpInputResponseHandler
rootsHandler*: McpInputResponseHandler
View source
proc newMcpInputRequest(methodName: string; params: JsonNode = nil): McpInputRequest {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpInputRequest.
| Name |
Type |
Default |
methodName |
string |
|
params |
JsonNode |
nil |
View source
proc newMcpElicitationFormRequest(message: string; requestedSchema: JsonNode): McpInputRequest {.
raises: [McpError, Exception, KeyError], tags: [RootEffect], forbids: [].}
Returns: McpInputRequest.
| Name |
Type |
Default |
message |
string |
|
requestedSchema |
JsonNode |
|
View source
proc newMcpElicitationUrlRequest(message, url: string): McpInputRequest {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpInputRequest.
| Name |
Type |
Default |
message |
string |
|
url |
string |
|
View source
proc toJson(value: McpInputRequest): JsonNode {.raises: [], tags: [],
Returns: JsonNode.
| Name |
Type |
Default |
value |
McpInputRequest |
|
View source
proc parseMcpInputRequest(node: JsonNode): McpInputRequest {.
raises: [KeyError, McpError], tags: [], forbids: [].}
Returns: McpInputRequest.
| Name |
Type |
Default |
node |
JsonNode |
|
View source
proc inputRequestsJson(inputRequests: McpInputRequests): JsonNode {.
raises: [McpError], tags: [], forbids: [].}
Returns: JsonNode.
| Name |
Type |
Default |
inputRequests |
McpInputRequests |
|
View source
proc newMcpInputRequiredResult(inputRequests: JsonNode = nil; requestState = ""): McpWireResult {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpWireResult.
| Name |
Type |
Default |
inputRequests |
JsonNode |
nil |
requestState |
inferred |
"" |
View source
proc newMcpInputRequiredResult(inputRequests: McpInputRequests;
requestState = ""): McpWireResult {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpWireResult.
| Name |
Type |
Default |
inputRequests |
McpInputRequests |
|
requestState |
inferred |
"" |
View source
proc newMcpInputRequiredResult(entries: openArray[(string, McpInputRequest)];
requestState = ""): McpWireResult {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpWireResult.
| Name |
Type |
Default |
entries |
openArray[(string, McpInputRequest)] |
|
requestState |
inferred |
"" |
View source
proc parseInputRequests(value: McpWireResult): McpInputRequests {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpInputRequests.
| Name |
Type |
Default |
value |
McpWireResult |
|
View source
proc parseMcpElicitationRequest(request: McpInputRequest): McpElicitationRequest {.
raises: [McpError, KeyError, Exception], tags: [RootEffect], forbids: [].}
Returns: McpElicitationRequest.
| Name |
Type |
Default |
request |
McpInputRequest |
|
View source
proc newMcpElicitationResult(action: McpElicitationAction;
content: JsonNode = nil): McpElicitationResult {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpElicitationResult.
| Name |
Type |
Default |
action |
McpElicitationAction |
|
content |
JsonNode |
nil |
View source
proc acceptElicitation(content: JsonNode = nil): McpElicitationResult {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpElicitationResult.
| Name |
Type |
Default |
content |
JsonNode |
nil |
View source
proc declineElicitation(): McpElicitationResult {.raises: [McpError], tags: [],
Returns: McpElicitationResult.
View source
proc cancelElicitation(): McpElicitationResult {.raises: [McpError], tags: [],
Returns: McpElicitationResult.
View source
proc toJson(value: McpElicitationResult): JsonNode {.raises: [], tags: [],
Returns: JsonNode.
| Name |
Type |
Default |
value |
McpElicitationResult |
|
View source
proc parseMcpElicitationResult(node: JsonNode): McpElicitationResult {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpElicitationResult.
| Name |
Type |
Default |
node |
JsonNode |
|
View source
proc validateElicitationResponse(request: McpElicitationRequest;
response: McpElicitationResult) {.
raises: [McpError, Exception, KeyError], tags: [RootEffect], forbids: [].}
| Name |
Type |
Default |
request |
McpElicitationRequest |
|
response |
McpElicitationResult |
|
View source
proc newMcpInputClient(firstRequestId = 1'i64;
elicitationHandler: McpElicitationHandler = nil;
samplingHandler: McpInputResponseHandler = nil;
rootsHandler: McpInputResponseHandler = nil): McpInputClient {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpInputClient.
| Name |
Type |
Default |
firstRequestId |
inferred |
1'i64 |
elicitationHandler |
McpElicitationHandler |
nil |
samplingHandler |
McpInputResponseHandler |
nil |
rootsHandler |
McpInputResponseHandler |
nil |
View source
proc setElicitationHandler(client: McpInputClient;
handler: McpElicitationHandler) {.raises: [],
| Name |
Type |
Default |
client |
McpInputClient |
|
handler |
McpElicitationHandler |
|
View source
proc setSamplingHandler(client: McpInputClient; handler: McpInputResponseHandler) {.
raises: [], tags: [], forbids: [].}
| Name |
Type |
Default |
client |
McpInputClient |
|
handler |
McpInputResponseHandler |
|
View source
proc setRootsHandler(client: McpInputClient; handler: McpInputResponseHandler) {.
raises: [], tags: [], forbids: [].}
| Name |
Type |
Default |
client |
McpInputClient |
|
handler |
McpInputResponseHandler |
|
View source
proc rememberRequest(client: McpInputClient; id: McpId) {.raises: [McpError],
| Name |
Type |
Default |
client |
McpInputClient |
|
id |
McpId |
|
View source
proc freshRequestId(client: McpInputClient): McpId {.raises: [McpError],
Returns: McpId.
| Name |
Type |
Default |
client |
McpInputClient |
|
View source
proc retryInputRequired(client: McpInputClient;
original, response: McpJsonRpcMessage; retryId: McpId): McpJsonRpcMessage {.
raises: [McpError, KeyError, Exception], tags: [RootEffect], forbids: [].}
Returns: McpJsonRpcMessage.
| Name |
Type |
Default |
client |
McpInputClient |
|
original |
McpJsonRpcMessage |
|
response |
McpJsonRpcMessage |
|
retryId |
McpId |
|
View source
proc retryInputRequired(client: McpInputClient;
original, response: McpJsonRpcMessage): McpJsonRpcMessage {.
raises: [McpError, KeyError, Exception], tags: [RootEffect], forbids: [].}
Returns: McpJsonRpcMessage.
| Name |
Type |
Default |
client |
McpInputClient |
|
original |
McpJsonRpcMessage |
|
response |
McpJsonRpcMessage |
|
View source