Resources
Give clients stable context with text resources, URI templates, and uploaded files.
Create a text resource
In the server's Resources workspace, give a resource a URI, name, optional description, MIME type, and text content. Static URIs are useful for stable documents such as docs://handbook. Text content is limited to 50,000 characters.
Text resources can reference workspace values with ${NAME}. The resolved value is included in the response to the requesting client. Do not reference secrets in resources intended for untrusted clients.
Use URI templates
Use a URI template when clients should select among related pieces of content, for example docs://{document_id}. Use the matching double-brace placeholder in the text body:
URI: docs://{document_id}
Content:
Document {{document_id}} is part of the handbook.
URI parameters such as {{document_id}} are substituted as plain text; user-authored code is not executed.
Upload a file
Binary files are published at static URIs and are limited to 50 MiB. Supported extensions are:
- Documents:
.pdf,.rtf,.doc,.docx,.xls,.xlsx,.ppt, and.pptx. - Text and structured data:
.txt,.md,.markdown,.csv,.json, and.xml. - Images:
.png,.jpg,.jpeg,.gif,.webp, and.svg.
MCPKite checks the selected MIME type against the file extension and reported MIME type. File bytes and storage keys are not returned by the management API; clients read them through MCP resources/read.
Annotations and limits
Resources support optional audience and priority annotations. Priority ranges from 0 to 1 in increments of 0.1. The server manages the lastModified value.
Subscriptions and pushed resource change notifications are not enabled in this release. Deleting a server removes its resources and uploaded files; deleting an individual file resource also removes its stored file.
Storage
Uploaded files use one private object-storage provider configured by the deployment operator: an S3-compatible bucket or Azure Blob container. Local Compose starts S3Mock and Azurite for development; neither local emulator is intended for production.
See Resource storage configuration to select and configure the provider. Keep the bucket or container private and grant the backend only the object permissions it needs.