registerFileResources (files.ts)

servers · files

Registers file handlers in MCP server; detects MIME types and reads local files for resource operations.

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { dirname, join } from "path";
import { fileURLToPath } from "url";
import { readdirSync, readFileSync, statSync } from "fs";

/**
 * Register static file resources
 * - Each file in src/everything/docs is exposed as an individual static resource
 * - URIs follow the pattern: "demo://static/docs/<filename>"
 * - Markdown (.md) files are served as mime type "text/markdown"
 * - Text (.txt) files are served as mime type "text/plain"
 * - JSON (.json) files are served as mime type "application/json"
 *
 * @param server
 */
export const registerFileResources = (server: McpServer) => {
  // Read the entries in the docs directory
  const __filename = fileURLToPath(import.meta.url);
  const __dirname = dirname(__filename)

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key