Skip to main content
Glama

MCP File Preview Server

MCP File Preview Server

A Model Context Protocol (MCP) server that provides HTML file preview and analysis capabilities. This server enables capturing full-page screenshots of local HTML files and analyzing their structure.

Features

  • File Preview: Capture full-page screenshots of HTML files with proper CSS styling
  • Content Analysis: Analyze HTML structure (headings, paragraphs, images, links)
  • Local File Support: Handle local file paths and resources
  • Screenshot Management: Save screenshots to a dedicated directory

Installation

  1. Clone the repository:
git clone https://github.com/your-username/mcp-file-preview.git cd mcp-file-preview
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Configuration

Add the server to your Claude or Cline MCP settings:

Claude Desktop App

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "file-preview": { "command": "node", "args": ["/path/to/mcp-file-preview/build/index.js"] } } }

Cline VSCode Extension

Add to VSCode's MCP settings:

{ "mcpServers": { "file-preview": { "command": "node", "args": ["/path/to/mcp-file-preview/build/index.js"] } } }

Usage

The server provides two main tools:

preview_file

Captures a screenshot and returns HTML content:

<use_mcp_tool> <server_name>file-preview</server_name> <tool_name>preview_file</tool_name> <arguments> { "filePath": "/path/to/file.html", "width": 1024, // optional "height": 768 // optional } </arguments> </use_mcp_tool>

Screenshots are saved to screenshots/ directory in the project folder.

analyze_content

Analyzes HTML structure:

<use_mcp_tool> <server_name>file-preview</server_name> <tool_name>analyze_content</tool_name> <arguments> { "filePath": "/path/to/file.html" } </arguments> </use_mcp_tool>

Returns counts of:

  • Headings
  • Paragraphs
  • Images
  • Links

Development

  1. Install dependencies:
npm install @modelcontextprotocol/sdk puppeteer typescript @types/node @types/puppeteer
  1. Make changes in src/
  2. Build:
npm run build
  1. Test locally:
npm run dev

Implementation Details

The server uses the MCP SDK's Server class with proper initialization:

this.server = new Server( // Metadata object { name: 'file-preview-server', version: '0.1.0' }, // Options object with capabilities { capabilities: { tools: { preview_file: { description: 'Preview local HTML file and capture screenshot', inputSchema: { // ... schema definition } } } } } );

Key points:

  • Server constructor takes separate metadata and options objects
  • Tools are declared in capabilities.tools
  • Each tool needs a description and inputSchema
  • Screenshots are saved to a local screenshots/ directory

Debugging

  1. Use the MCP Inspector:
npx @modelcontextprotocol/inspector
  1. Connect with:
    • Transport Type: STDIO
    • Command: node
    • Arguments: /path/to/build/index.js
  2. Check Claude OS logs if tools don't appear in the dropdown

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Provides HTML file preview and analysis capabilities. This server enables capturing full-page screenshots of local HTML files and analyzing their structure.

  1. Features
    1. Installation
      1. Configuration
        1. Claude Desktop App
        2. Cline VSCode Extension
      2. Usage
        1. preview_file
        2. analyze_content
      3. Development
        1. Implementation Details
          1. Debugging
            1. Contributing
              1. License

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  Enables capturing screenshots of web pages and local HTML files through a simple MCP tool interface using Puppeteer with configurable options for dimensions and output paths.
                  Last updated -
                  1
                  0
                  4
                  JavaScript
                • A
                  security
                  A
                  license
                  A
                  quality
                  Enables web content scanning and analysis by fetching, analyzing, and extracting information from web pages using tools like page fetching, link extraction, site crawling, and more.
                  Last updated -
                  6
                  7
                  TypeScript
                  MIT License
                • A
                  security
                  A
                  license
                  A
                  quality
                  Provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.
                  Last updated -
                  4
                  125,855
                  353
                  TypeScript
                  MIT License
                • A
                  security
                  A
                  license
                  A
                  quality
                  This server generates placeholder image URLs from various providers, supporting input validation and integration with desktop applications like Claude and Cursor.
                  Last updated -
                  1
                  6
                  MIT License

                View all related MCP servers

                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/seanivore/mcp-file-preview'

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