Skip to main content
Glama

file_read

Read file contents from local storage to access documents, notes, or operational data for AI-assisted analysis and task management.

Instructions

Читать содержимое файла

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesПуть к файлу

Implementation Reference

  • Core handler function for the 'file_read' tool. Sanitizes the file path to prevent directory traversal, reads the file content using Node.js fs.promises.readFile, logs the operation, and returns the content as a string. Handles errors appropriately.
    async readFile(filePath: string): Promise<string> {
      try {
        // Проверяем безопасность пути
        const safePath = this.sanitizePath(filePath);
        
        console.log(`📖 Чтение файла: ${safePath}`);
        
        const content = await fs.readFile(safePath, 'utf-8');
        
        console.log(`✅ Файл прочитан: ${safePath} (${content.length} символов)`);
        
        return content;
      } catch (error) {
        console.error('Ошибка чтения файла:', error);
        throw new Error(`Ошибка чтения файла: ${error}`);
      }
  • Input schema definition for the 'file_read' tool, requiring a 'path' string parameter. Part of the tool list returned by ListToolsRequestSchema handler.
    {
      name: 'file_read',
      description: 'Читать содержимое файла',
      inputSchema: {
        type: 'object',
        properties: {
          path: {
            type: 'string',
            description: 'Путь к файлу',
          },
        },
        required: ['path'],
      },
    },
  • src/server.ts:196-199 (registration)
    Registration of the 'file_read' tool handler in the main CallToolRequestSchema switch statement in the stdio server transport. Delegates execution to FileService.readFile.
    case 'file_read':
      return {
        content: await this.fileService.readFile(args.path as string)
      };
  • Helper method used by readFile to sanitize the file path, preventing path traversal attacks by restricting to the notes directory and removing dangerous characters.
    private sanitizePath(filePath: string): string {
      // Убираем потенциально опасные символы
      const cleanPath = filePath.replace(/[<>:"|?*]/g, '');
      
      // Разрешаем только относительные пути
      if (path.isAbsolute(cleanPath)) {
        throw new Error('Абсолютные пути не разрешены');
      }
      
      // Разрешаем только файлы в notes директории
      const resolvedPath = path.resolve(this.notesDir, cleanPath);
      const notesDirResolved = path.resolve(this.notesDir);
      
      if (!resolvedPath.startsWith(notesDirResolved)) {
        throw new Error('Доступ к файлу вне notes директории запрещен');
      }
      
      return resolvedPath;

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Galiusbro/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server