nimwire/extensions
This page is generated from the module’s exported API and ## documentation comments.
Generic, opt-in extension registry and dispatch.
McpExtensionMethodHandler
Section titled “McpExtensionMethodHandler”McpExtensionMethodHandler = proc (params: JsonNode; context: McpContext): Future[ McpWireResult] {.closure.}McpExtensionMethod
Section titled “McpExtensionMethod”McpExtensionMethod = object name*: string handler*: McpExtensionMethodHandler inputSchema*: JsonNode outputSchema*: JsonNode metadata*: JsonNode transportRules*: JsonNodeMcpExtension
Section titled “McpExtension”McpExtension = ref object name*: string capabilities*: JsonNode metadata*: JsonNode methods*: seq[McpExtensionMethod] requiresClientCapability*: boolMcpExtensionRegistry
Section titled “McpExtensionRegistry”McpExtensionRegistry = ref objectProcedures
Section titled “Procedures”newMcpExtension
Section titled “newMcpExtension”proc newMcpExtension(name: string; capabilities: JsonNode = nil; metadata: JsonNode = nil; requiresClientCapability = false): McpExtension {. raises: [McpError], tags: [], forbids: [].}Returns: McpExtension.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
name |
string |
|
capabilities |
JsonNode |
nil |
metadata |
JsonNode |
nil |
requiresClientCapability |
inferred |
false |
addExtensionMethod
Section titled “addExtensionMethod”proc addExtensionMethod(extension: McpExtension; name: string; handler: McpExtensionMethodHandler; inputSchema: JsonNode = nil; outputSchema: JsonNode = nil; metadata: JsonNode = nil; transportRules: JsonNode = nil) {. raises: [McpError, Exception], tags: [RootEffect], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
extension |
McpExtension |
|
name |
string |
|
handler |
McpExtensionMethodHandler |
|
inputSchema |
JsonNode |
nil |
outputSchema |
JsonNode |
nil |
metadata |
JsonNode |
nil |
transportRules |
JsonNode |
nil |
newMcpExtensionRegistry
Section titled “newMcpExtensionRegistry”proc newMcpExtensionRegistry(): McpExtensionRegistry {.raises: [], tags: [], forbids: [].}Returns: McpExtensionRegistry.
registerExtension
Section titled “registerExtension”proc registerExtension(registry: McpExtensionRegistry; extension: McpExtension) {. raises: [McpError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
|
extension |
McpExtension |
finalizeExtension
Section titled “finalizeExtension”proc finalizeExtension(registry: McpExtensionRegistry; name: string) {. raises: [McpError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
|
name |
string |
hasFinalizedExtension
Section titled “hasFinalizedExtension”proc hasFinalizedExtension(registry: McpExtensionRegistry; name: string): bool {. raises: [], tags: [], forbids: [].}Returns: bool.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
|
name |
string |
hasDraftExtension
Section titled “hasDraftExtension”proc hasDraftExtension(registry: McpExtensionRegistry; name: string): bool {. raises: [], tags: [], forbids: [].}Returns: bool.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
|
name |
string |
finalizedExtensions
Section titled “finalizedExtensions”proc finalizedExtensions(registry: McpExtensionRegistry): seq[McpExtension] {. raises: [], tags: [], forbids: [].}Returns: seq[McpExtension].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
draftExtensions
Section titled “draftExtensions”proc draftExtensions(registry: McpExtensionRegistry): seq[McpExtension] {. raises: [], tags: [], forbids: [].}Returns: seq[McpExtension].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
extensionCapabilities
Section titled “extensionCapabilities”proc extensionCapabilities(registry: McpExtensionRegistry): JsonNode {. raises: [], tags: [], forbids: [].}Returns: JsonNode.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
addExtensionMetadata
Section titled “addExtensionMetadata”proc addExtensionMetadata(registry: McpExtensionRegistry; target: JsonNode) {. raises: [], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
|
target |
JsonNode |
clientSupportsExtension
Section titled “clientSupportsExtension”proc clientSupportsExtension(context: McpContext; name: string): bool {. raises: [KeyError], tags: [], forbids: [].}Returns: bool.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
context |
McpContext |
|
name |
string |
requireClientExtension
Section titled “requireClientExtension”proc requireClientExtension(context: McpContext; name: string) {. raises: [KeyError, McpError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
context |
McpContext |
|
name |
string |
dispatchExtensionAsync
Section titled “dispatchExtensionAsync”proc dispatchExtensionAsync(registry: McpExtensionRegistry; request: McpRpcRequest; context: McpContext): Future[ McpWireResult] {.stackTrace: false, raises: [Exception, ValueError, McpError, KeyError], tags: [RootEffect], forbids: [].}Returns: Future[McpWireResult].
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
registry |
McpExtensionRegistry |
|
request |
McpRpcRequest |
|
context |
McpContext |