nimwire/transport
This page is generated from the module’s exported API and ## documentation comments.
Transport-neutral MCP messages and request/response handling.
McpTransportRequest
Section titled “McpTransportRequest”McpTransportRequest = proc (message: McpJsonRpcMessage): Future[ McpJsonRpcMessage] {.closure.}McpTransportNotification
Section titled “McpTransportNotification”McpTransportNotification = proc (message: McpJsonRpcMessage): Future[void] {. closure.}McpTransportClose
Section titled “McpTransportClose”McpTransportClose = proc () {.closure.}McpMessageTransport
Section titled “McpMessageTransport”A message transport carries already validated JSON-RPC values. It does not know about servers, HTTP, stdio, or any higher-level client API.
McpMessageTransport = ref objectMcpPeer
Section titled “McpPeer”Small client-side request/response helper shared by proxies and clients.
McpPeer = ref object transport*: McpMessageTransport metadata*: McpRequestMetaProcedures
Section titled “Procedures”newMcpRequestMeta
Section titled “newMcpRequestMeta”proc newMcpRequestMeta(clientName = "nimwire"; clientVersion = "0.1.0"; clientCapabilities: JsonNode = nil): McpRequestMeta {. raises: [McpError], tags: [], forbids: [].}Returns: McpRequestMeta.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
clientName |
inferred |
"nimwire" |
clientVersion |
inferred |
"0.1.0" |
clientCapabilities |
JsonNode |
nil |
newMcpParams
Section titled “newMcpParams”proc newMcpParams(values: JsonNode = nil; metadata = McpRequestMeta()): McpParams {. raises: [McpError], tags: [], forbids: [].}Returns: McpParams.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
values |
JsonNode |
nil |
metadata |
inferred |
McpRequestMeta() |
newMcpRequest
Section titled “newMcpRequest”proc newMcpRequest(id: McpId; methodName: string; values: JsonNode = nil; metadata = McpRequestMeta()): McpRpcRequest {. raises: [McpError], tags: [], forbids: [].}Returns: McpRpcRequest.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
id |
McpId |
|
methodName |
string |
|
values |
JsonNode |
nil |
metadata |
inferred |
McpRequestMeta() |
newMcpNotification
Section titled “newMcpNotification”proc newMcpNotification(methodName: string; values: JsonNode = nil; metadata = McpRequestMeta()): McpRpcRequest {. raises: [McpError], tags: [], forbids: [].}Returns: McpRpcRequest.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
methodName |
string |
|
values |
JsonNode |
nil |
metadata |
inferred |
McpRequestMeta() |
newMcpMessageTransport
Section titled “newMcpMessageTransport”proc newMcpMessageTransport(request: McpTransportRequest; notification: McpTransportNotification = nil; close: McpTransportClose = nil): McpMessageTransport {. raises: [McpError], tags: [], forbids: [].}Returns: McpMessageTransport.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
request |
McpTransportRequest |
|
notification |
McpTransportNotification |
nil |
close |
McpTransportClose |
nil |
isClosed
Section titled “isClosed”proc isClosed(transport: McpMessageTransport): bool {.raises: [], tags: [], forbids: [].}Returns: bool.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
transport |
McpMessageTransport |
requestAsync (overload 1)
Section titled “requestAsync (overload 1)”proc requestAsync(transport: McpMessageTransport; message: McpJsonRpcMessage): Future[ McpJsonRpcMessage] {.stackTrace: false, raises: [Exception, ValueError, McpError], tags: [RootEffect], forbids: [].}Returns: Future[McpJsonRpcMessage].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
transport |
McpMessageTransport |
|
message |
McpJsonRpcMessage |
notifyAsync (overload 1)
Section titled “notifyAsync (overload 1)”proc notifyAsync(transport: McpMessageTransport; message: McpJsonRpcMessage): Future[ void] {.stackTrace: false, raises: [Exception, McpError, ValueError], tags: [RootEffect], forbids: [].}Returns: Future[void].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
transport |
McpMessageTransport |
|
message |
McpJsonRpcMessage |
close (overload 1)
Section titled “close (overload 1)”proc close(transport: McpMessageTransport) {.raises: [Exception], tags: [RootEffect], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
transport |
McpMessageTransport |
newMcpPeer
Section titled “newMcpPeer”proc newMcpPeer(transport: McpMessageTransport; metadata = McpRequestMeta()): McpPeer {. raises: [McpError], tags: [], forbids: [].}Returns: McpPeer.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
transport |
McpMessageTransport |
|
metadata |
inferred |
McpRequestMeta() |
requestAsync (overload 2)
Section titled “requestAsync (overload 2)”proc requestAsync(peer: McpPeer; methodName: string; values: JsonNode = nil): Future[ McpWireResult] {.stackTrace: false, raises: [Exception, ValueError, McpError], tags: [RootEffect], forbids: [].}Returns: Future[McpWireResult].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
peer |
McpPeer |
|
methodName |
string |
|
values |
JsonNode |
nil |
request
Section titled “request”proc request(peer: McpPeer; methodName: string; values: JsonNode = nil): McpWireResult {. raises: [ValueError, Exception, OSError, McpError], tags: [TimeEffect, RootEffect], forbids: [].}Returns: McpWireResult.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
peer |
McpPeer |
|
methodName |
string |
|
values |
JsonNode |
nil |
notifyAsync (overload 2)
Section titled “notifyAsync (overload 2)”proc notifyAsync(peer: McpPeer; methodName: string; values: JsonNode = nil): Future[ void] {.stackTrace: false, raises: [Exception, McpError, ValueError], tags: [RootEffect], forbids: [].}Returns: Future[void].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
peer |
McpPeer |
|
methodName |
string |
|
values |
JsonNode |
nil |
notify
Section titled “notify”proc notify(peer: McpPeer; methodName: string; values: JsonNode = nil) {. raises: [ValueError, Exception, OSError, McpError], tags: [TimeEffect, RootEffect], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
peer |
McpPeer |
|
methodName |
string |
|
values |
JsonNode |
nil |
close (overload 2)
Section titled “close (overload 2)”proc close(peer: McpPeer) {.raises: [Exception], tags: [RootEffect], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
peer |
McpPeer |