Skip to main content
Glama
FradSer

MCP Markdown Conversion Server

by FradSer

MCP Server To Markdown

Twitter Follow

English | 简体中文

A powerful Model Context Protocol (MCP) server that leverages Cloudflare AI services to convert various file formats into Markdown descriptions. This server provides a standardized interface for seamless file conversion and description generation.

Key Features

  • Seamless integration with Cloudflare AI services

  • Efficient Markdown description generation

  • Comprehensive file format support

  • Native Cloudflare tomarkdown API integration

  • User-friendly MCP interface

  • Cross-platform compatibility

Related MCP server: Textin MCP Server

Supported File Formats

Category

File Extensions

Documents

.pdf

Images

.jpeg, .jpg, .png, .webp, .svg

Web Content

.html

Data

.xml, .csv

Spreadsheets

.xlsx, .xlsm, .xlsb, .xls, .et, .ods, .numbers

System Requirements

  • Node.js 18 or later

  • Valid Cloudflare API Token

  • Active Cloudflare Account ID

Installation

Installing via Smithery

To install Markdown转换服务器 for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @FradSer/mcp-server-to-markdown --client claude

Manual Installation

Install globally using npm:

npm install -g mcp-server-to-markdown

MCP Client Configuration

Cursor Integration

  1. Navigate to Cursor settings

  2. Select "MCP" from the sidebar

  3. Choose "Add new global MCP server"

  4. Apply the following configuration:

    {
      "mcpServers": {
        "to-markdown": {
          "command": "mcp-server-to-markdown",
          "args": [
            "CLOUDFLARE_API_TOKEN": "your_api_token"
            "CLOUDFLARE_ACCOUNT_ID": "your_account_id"
          ]
        }
      }
    }

Claude Desktop Setup

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "to-markdown": {
      "command": "mcp-server-to-markdown",
      "args": [
            "CLOUDFLARE_API_TOKEN": "your_api_token"
            "CLOUDFLARE_ACCOUNT_ID": "your_account_id"
          ]
    }
  }
}

ChatWise Configuration

  1. Launch ChatWise

  2. Access Settings

  3. Select Tools section

  4. Click "+" to add new tool

  5. Configure with these parameters:

    • Type: stdio

    • ID: to-markdown

    • Command: mcp-server-to-markdown

    • Args:

      CLOUDFLARE_API_TOKEN=your_api_token
      CLOUDFLARE_ACCOUNT_ID=your_account_id

API Reference

to-markdown Tool

Converts various file formats to Markdown descriptions.

Input Parameters:

  • filePaths: Array (required) - List of file paths to process

Response Structure:

[
  {
    "filename": "example.pdf",
    "mimeType": "application/pdf",
    "description": "Generated Markdown description",
    "tokens": 123
  }
]

Development Guide

Getting Started

  1. Clone and setup environment:

git clone <repository-url>
cd mcp-server-to-markdown
cp .env.example .env
  1. Configure Cloudflare credentials:

CLOUDFLARE_API_TOKEN=your_api_token
CLOUDFLARE_ACCOUNT_ID=your_account_id
  1. Install dependencies and build:

npm install
npm run build

Project Structure

.
├── src/             # Source code
├── dist/            # Compiled output
├── types.ts         # Type definitions
└── .env             # Environment configuration

Available Scripts

  • npm run build - Build TypeScript code

  • npm run inspect - Run with MCP inspector

Usage Example

const result = await toMarkdown({
  filePaths: [
    "/path/to/document.pdf",
    "/path/to/image.jpg"
  ]
});

License

MIT License

This project is maintained by Frad LEE

Available Tools

1 tool
to-markdownC

Generate markdown description for files including PDF (.pdf), Images (.jpeg, .jpg, .png, .webp, .svg), HTML (.html), XML (.xml), Microsoft Office (.xlsx, .xlsm, .xlsb, .xls, .et), Open Document Format (.ods), CSV (.csv), and Apple Documents (.numbers)

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathsYesArray of absolute file paths to generate descriptions for

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions what the tool does but lacks behavioral details like whether it processes files locally or remotely, error handling for unsupported formats, performance characteristics, or output format specifics. The description is functional but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and lists supported file types without unnecessary elaboration. Every word contributes to understanding the tool's scope, making it appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the generated markdown includes, how errors are handled, or any behavioral traits. For a tool with one parameter but significant implicit complexity (file processing), more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the 'filePaths' parameter. The description adds no additional parameter semantics beyond implying file type support, which is partially covered by the schema's lack of constraints. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate markdown description for files' and lists specific file types it supports. It uses a specific verb ('Generate') and identifies the resource ('files'), but since there are no sibling tools, it doesn't need to differentiate from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or any contextual prerequisites. It simply lists supported file types without indicating scenarios where this tool is appropriate or any limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedto-markdown

TDQS

B3.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool 'to-markdown' has a clearly defined and distinct purpose: converting various file formats to markdown descriptions.

Naming Consistency5/5

Since there is only one tool, naming consistency is inherently perfect. The tool name 'to-markdown' follows a clear verb-object pattern that is appropriate for its function.

Tool Count2/5

A single tool is too few for a server with a broad scope like 'Markdown Conversion Server' that handles multiple file types. This thin surface may force agents to rely on this one tool for all conversion tasks, lacking specialized operations for different formats or scenarios.

Completeness2/5

The tool set is severely incomplete for the server's purpose. While 'to-markdown' covers conversion, there are obvious gaps such as no tools for validating markdown, handling conversion errors, or providing metadata about supported formats, which limits agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/FradSer/mcp-server-to-markdown'

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