This page is generated from the module’s exported API and ## documentation comments.
Resource definitions, URI templates, contents, and safe file helpers.
McpResourceContentKind = enum
mcpResourceText, mcpResourceBlob
View source
McpResourceContent = object
case kind*: McpResourceContentKind
View source
McpResourceReadHandler = proc (uri: string; context: McpContext): Future[
seq[McpResourceContent]] {.closure.}
View source
McpResourceSingleReadHandler = proc (uri: string; context: McpContext): Future[
McpResourceContent] {.closure.}
View source
McpSyncResourceReadHandler = proc (uri: string; context: McpContext): seq[
McpResourceContent] {.closure.}
View source
McpSyncResourceSingleReadHandler = proc (uri: string; context: McpContext): McpResourceContent {.
View source
McpResourceCompletionHandler = proc (argument, prefix: string;
context: McpContext): Future[seq[string]] {.
View source
McpSyncResourceCompletionHandler = proc (argument, prefix: string;
context: McpContext): seq[string] {.closure.}
View source
size*: int64 ## Untrusted caller-facing metadata; never use it as an authorization policy.
contents*: seq[McpResourceContent]
View source
McpResourceTemplate = object
mimeType*: string ## Untrusted caller-facing metadata; never use it as an authorization policy.
View source
McpResourceTemplateReadHandler = proc (uri: string; arguments: JsonNode;
context: McpContext): Future[
seq[McpResourceContent]] {.closure.}
View source
McpResourceTemplateSingleReadHandler = proc (uri: string; arguments: JsonNode;
context: McpContext): Future[McpResourceContent] {.closure.}
View source
McpSyncResourceTemplateReadHandler = proc (uri: string; arguments: JsonNode;
context: McpContext): seq[McpResourceContent] {.closure.}
View source
McpSyncResourceTemplateSingleReadHandler = proc (uri: string;
arguments: JsonNode; context: McpContext): McpResourceContent {.closure.}
View source
proc validateResourceUri(uriValue: string; context = "resource") {.
raises: [McpError, McpError], tags: [], forbids: [].}
| Name |
Type |
Default |
uriValue |
string |
|
context |
inferred |
"resource" |
View source
proc resourceText(uri, text: string; mimeType = ""): McpResourceContent {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpResourceContent.
| Name |
Type |
Default |
uri |
string |
|
text |
string |
|
mimeType |
inferred |
"" |
View source
proc resourceBlob(uri, blob: string; mimeType = ""): McpResourceContent {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpResourceContent.
| Name |
Type |
Default |
uri |
string |
|
blob |
string |
|
mimeType |
inferred |
"" |
View source
proc resourceBytes(uri, data: string; mimeType = ""): McpResourceContent {.
raises: [McpError], tags: [], forbids: [].}
Returns: McpResourceContent.
| Name |
Type |
Default |
uri |
string |
|
data |
string |
|
mimeType |
inferred |
"" |
View source
proc newMcpResource(uri, name: string; contents: seq[McpResourceContent];
title = ""; description = ""; icons: JsonNode = nil;
mimeType = ""; size: int64 = -1; annotations: JsonNode = nil): McpResource {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResource.
| Name |
Type |
Default |
uri |
string |
|
name |
string |
|
contents |
seq[McpResourceContent] |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
size |
int64 |
-1 |
annotations |
JsonNode |
nil |
View source
proc newMcpResource(uri, name: string; content: McpResourceContent; title = "";
description = ""; icons: JsonNode = nil; mimeType = "";
size: int64 = -1; annotations: JsonNode = nil): McpResource {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResource.
| Name |
Type |
Default |
uri |
string |
|
name |
string |
|
content |
McpResourceContent |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
size |
int64 |
-1 |
annotations |
JsonNode |
nil |
View source
proc newMcpResource(uri, name: string; handler: McpResourceReadHandler;
title = ""; description = ""; icons: JsonNode = nil;
mimeType = ""; size: int64 = -1; annotations: JsonNode = nil): McpResource {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResource.
| Name |
Type |
Default |
uri |
string |
|
name |
string |
|
handler |
McpResourceReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
size |
int64 |
-1 |
annotations |
JsonNode |
nil |
View source
proc newMcpResource(uri, name: string; handler: McpResourceSingleReadHandler;
title = ""; description = ""; icons: JsonNode = nil;
mimeType = ""; size: int64 = -1; annotations: JsonNode = nil): McpResource {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResource.
| Name |
Type |
Default |
uri |
string |
|
name |
string |
|
handler |
McpResourceSingleReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
size |
int64 |
-1 |
annotations |
JsonNode |
nil |
View source
proc newMcpResource(uri, name: string; handler: McpSyncResourceReadHandler;
title = ""; description = ""; icons: JsonNode = nil;
mimeType = ""; size: int64 = -1; annotations: JsonNode = nil): McpResource {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResource.
| Name |
Type |
Default |
uri |
string |
|
name |
string |
|
handler |
McpSyncResourceReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
size |
int64 |
-1 |
annotations |
JsonNode |
nil |
View source
proc newMcpResource(uri, name: string;
handler: McpSyncResourceSingleReadHandler; title = "";
description = ""; icons: JsonNode = nil; mimeType = "";
size: int64 = -1; annotations: JsonNode = nil): McpResource {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResource.
| Name |
Type |
Default |
uri |
string |
|
name |
string |
|
handler |
McpSyncResourceSingleReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
size |
int64 |
-1 |
annotations |
JsonNode |
nil |
View source
proc validateUriTemplate(uriTemplate: string) {.raises: [McpError, McpError],
| Name |
Type |
Default |
uriTemplate |
string |
|
View source
proc resourceTemplateVariables(uriTemplate: string): seq[string] {.
raises: [McpError], tags: [], forbids: [].}
Returns: seq[string].
| Name |
Type |
Default |
uriTemplate |
string |
|
View source
proc newMcpResourceTemplate(uriTemplate, name: string;
handler: McpResourceTemplateReadHandler; title = "";
description = ""; icons: JsonNode = nil;
mimeType = ""; annotations: JsonNode = nil): McpResourceTemplate {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResourceTemplate.
| Name |
Type |
Default |
uriTemplate |
string |
|
name |
string |
|
handler |
McpResourceTemplateReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
annotations |
JsonNode |
nil |
View source
proc toJson(resource: McpResource): JsonNode {.raises: [], tags: [], forbids: [].}
Returns: JsonNode.
| Name |
Type |
Default |
resource |
McpResource |
|
View source
proc toJson(resourceTemplate: McpResourceTemplate): JsonNode {.raises: [],
Returns: JsonNode.
| Name |
Type |
Default |
resourceTemplate |
McpResourceTemplate |
|
View source
proc newMcpResourceTemplate(uriTemplate, name: string;
handler: McpResourceTemplateSingleReadHandler;
title = ""; description = ""; icons: JsonNode = nil;
mimeType = ""; annotations: JsonNode = nil): McpResourceTemplate {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResourceTemplate.
| Name |
Type |
Default |
uriTemplate |
string |
|
name |
string |
|
handler |
McpResourceTemplateSingleReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
annotations |
JsonNode |
nil |
View source
proc newMcpResourceTemplate(uriTemplate, name: string;
handler: McpSyncResourceTemplateReadHandler;
title = ""; description = ""; icons: JsonNode = nil;
mimeType = ""; annotations: JsonNode = nil): McpResourceTemplate {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResourceTemplate.
| Name |
Type |
Default |
uriTemplate |
string |
|
name |
string |
|
handler |
McpSyncResourceTemplateReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
annotations |
JsonNode |
nil |
View source
proc newMcpResourceTemplate(uriTemplate, name: string;
handler: McpSyncResourceTemplateSingleReadHandler;
title = ""; description = ""; icons: JsonNode = nil;
mimeType = ""; annotations: JsonNode = nil): McpResourceTemplate {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResourceTemplate.
| Name |
Type |
Default |
uriTemplate |
string |
|
name |
string |
|
handler |
McpSyncResourceTemplateSingleReadHandler |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
annotations |
JsonNode |
nil |
View source
proc addCompletion(resourceTemplate: var McpResourceTemplate; argument: string;
handler: McpResourceCompletionHandler) {.raises: [McpError],
| Name |
Type |
Default |
resourceTemplate |
var McpResourceTemplate |
|
argument |
string |
|
handler |
McpResourceCompletionHandler |
|
View source
proc addCompletion(resourceTemplate: var McpResourceTemplate;
completion: McpCompletion) {.raises: [McpError], tags: [],
| Name |
Type |
Default |
resourceTemplate |
var McpResourceTemplate |
|
completion |
McpCompletion |
|
View source
proc addCompletion(resourceTemplate: var McpResourceTemplate; argument: string;
handler: McpSyncResourceCompletionHandler) {.
raises: [McpError], tags: [], forbids: [].}
| Name |
Type |
Default |
resourceTemplate |
var McpResourceTemplate |
|
argument |
string |
|
handler |
McpSyncResourceCompletionHandler |
|
View source
proc matchResourceTemplate(resourceTemplate: McpResourceTemplate;
uriValue: string): JsonNode {.raises: [McpError],
Returns: JsonNode.
| Name |
Type |
Default |
resourceTemplate |
McpResourceTemplate |
|
uriValue |
string |
|
View source
proc readResource(resource: McpResource; uriValue: string; context: McpContext): Future[
seq[McpResourceContent]] {.stackTrace: false,
raises: [Exception, ValueError],
tags: [RootEffect], forbids: [].}
Returns: Future[seq[McpResourceContent]].
| Name |
Type |
Default |
resource |
McpResource |
|
uriValue |
string |
|
context |
McpContext |
|
View source
proc readResourceTemplate(resourceTemplate: McpResourceTemplate;
uriValue: string; arguments: JsonNode;
context: McpContext): Future[seq[McpResourceContent]] {.
stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect],
Returns: Future[seq[McpResourceContent]].
| Name |
Type |
Default |
resourceTemplate |
McpResourceTemplate |
|
uriValue |
string |
|
arguments |
JsonNode |
|
context |
McpContext |
|
View source
proc completeResourceTemplate(resourceTemplate: McpResourceTemplate;
argument, prefix: string; context: McpContext): Future[
seq[string]] {.stackTrace: false, raises: [Exception, ValueError, KeyError],
tags: [RootEffect], forbids: [].}
Returns: Future[seq[string]].
| Name |
Type |
Default |
resourceTemplate |
McpResourceTemplate |
|
argument |
string |
|
prefix |
string |
|
context |
McpContext |
|
View source
proc resourceContentJson(content: McpResourceContent; defaultMimeType = ""): JsonNode {.
raises: [McpError], tags: [], forbids: [].}
Returns: JsonNode.
| Name |
Type |
Default |
content |
McpResourceContent |
|
defaultMimeType |
inferred |
"" |
View source
proc toJson(content: McpResourceContent): JsonNode {.raises: [McpError],
Returns: JsonNode.
| Name |
Type |
Default |
content |
McpResourceContent |
|
View source
proc safeResourcePath(root, path: string): string {.raises: [McpError, OSError],
tags: [ReadDirEffect], forbids: [].}
Returns: string.
| Name |
Type |
Default |
root |
string |
|
path |
string |
|
View source
proc newFileResource(root, relativePath: string; name = ""; title = "";
description = ""; mimeType = ""; binary = false;
uriValue = ""; icons: JsonNode = nil;
annotations: JsonNode = nil): McpResource {.
raises: [McpError, OSError, KeyError], tags: [ReadDirEffect, ReadIOEffect],
Returns: McpResource.
| Name |
Type |
Default |
root |
string |
|
relativePath |
string |
|
name |
inferred |
"" |
title |
inferred |
"" |
description |
inferred |
"" |
mimeType |
inferred |
"" |
binary |
inferred |
false |
uriValue |
inferred |
"" |
icons |
JsonNode |
nil |
annotations |
JsonNode |
nil |
View source
proc newFileResourceTemplate(root, uriTemplate, name: string;
pathArgument = "path"; title = "";
description = ""; mimeType = ""; binary = false;
icons: JsonNode = nil; annotations: JsonNode = nil): McpResourceTemplate {.
raises: [McpError, KeyError], tags: [], forbids: [].}
Returns: McpResourceTemplate.
| Name |
Type |
Default |
root |
string |
|
uriTemplate |
string |
|
name |
string |
|
pathArgument |
inferred |
"path" |
title |
inferred |
"" |
description |
inferred |
"" |
mimeType |
inferred |
"" |
binary |
inferred |
false |
icons |
JsonNode |
nil |
annotations |
JsonNode |
nil |
View source
Concise static or handler-backed resource declaration.
template mcpResource(uri, name: string; value: untyped; title = "";
description = ""; icons: JsonNode = nil; mimeType = "";
size: int64 = -1; annotations: JsonNode = nil): McpResource
Returns: McpResource.
| Name |
Type |
Default |
uri |
string |
|
name |
string |
|
value |
untyped |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
size |
int64 |
-1 |
annotations |
JsonNode |
nil |
View source
Concise URI-template resource declaration.
template mcpResourceTemplate(uriTemplate, name: string; handler: untyped;
title = ""; description = "";
icons: JsonNode = nil; mimeType = "";
annotations: JsonNode = nil): McpResourceTemplate
Returns: McpResourceTemplate.
| Name |
Type |
Default |
uriTemplate |
string |
|
name |
string |
|
handler |
untyped |
|
title |
inferred |
"" |
description |
inferred |
"" |
icons |
JsonNode |
nil |
mimeType |
inferred |
"" |
annotations |
JsonNode |
nil |
View source