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:

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.