MCP Server Framework - v1.0.0
    Preparing search index...

    Function defineResourceTemplate

    • Define a resource template with automatic registration.

      Resource templates support dynamic URIs using RFC 6570 URI Templates. The template is automatically registered in the global registry when defined.

      Type Parameters

      Parameters

      Returns ResourceTemplateDefinition<TInput>

      The registered template (for re-export and type inference)

      // resources/logs.ts - With typed parameters
      import { defineResourceTemplate } from 'mcp-server-framework';
      import { z } from 'zod';

      export const logResource = defineResourceTemplate({
      name: 'log-viewer',
      description: 'View application logs by ID',
      uriTemplate: 'myapp://logs/{logId}',
      mimeType: 'text/plain',
      input: z.object({
      logId: z.string().describe('Log identifier'),
      }),
      read: async ({ logId }) => {
      const log = await fetchLogById(logId);
      return log.content;
      },
      });
      // resources/users.ts - User profile template
      import { defineResourceTemplate } from 'mcp-server-framework';

      export const userProfileResource = defineResourceTemplate({
      name: 'user-profile',
      description: 'Get user profile by ID',
      uriTemplate: 'myapp://users/{userId}/profile',
      mimeType: 'application/json',
      read: async ({ userId }) => {
      const user = await getUserById(userId);
      return JSON.stringify(user);
      },
      });