list_data_files
Retrieve and filter available data files in the OSRS MCP Server directory by specifying a file type.
Instructions
List available data files in the data directory.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fileType | No | Optional filter for file type (e.g., 'txt') |
Implementation Reference
- index.ts:239-252 (handler)Core handler function that lists files in the data directory, optionally filtering by file type extension.async function listDataFiles(fileType?: string): Promise<string[]> { try { const files = await fs.promises.readdir(getDataDir()); if (fileType) { return files.filter(file => file.endsWith(`.${fileType}`)); } return files; } catch (error) { console.error("Error listing data files:", error); return []; } }
- index.ts:69-71 (schema)Zod input schema defining the optional fileType parameter for the tool.const ListDataFilesSchema = z.object({ fileType: z.string().optional().describe("Optional filter for file type (e.g., 'txt')") });
- index.ts:374-376 (registration)Tool definition registration in the getToolDefinitions() function used for tool discovery.name: "list_data_files", description: "List available data files in the data directory.", },
- index.ts:485-489 (handler)Tool dispatch handler in the main CallToolRequest switch that validates arguments and invokes the listDataFiles function.case "list_data_files": const listFilesArgs = getSchemaForTool(name).parse(args) as { fileType?: string }; const { fileType } = listFilesArgs; const files = await listDataFiles(fileType); return responseToString({ files, path: getDataDir() });
- index.ts:287-288 (schema)Schema retrieval case in getSchemaForTool() that returns the tool's input schema for validation.case "list_data_files": return ListDataFilesSchema;