DocMorph Studio

Render Mermaid diagrams, Markdown to PDF and outlines, image OCR, and media metadata cleanup.

Should I use this

Quality & Safety

A
Description quality
85%
Schema completeness
100%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (4)

  • LOWTool 'extract_markdown_outline' description lacks action verbin extract_markdown_outline
  • LOWTool 'parse_pdf_to_markdown' description lacks action verbin parse_pdf_to_markdown
  • LOWTool 'image_ocr_recognize' description lacks action verbin image_ocr_recognize
  • LOWTool 'sanitize_media_security' description lacks action verbin sanitize_media_security

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,060Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.83% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "docmorph-studio": {
      "url": "https://docmorph.dev/mcp/sse"
    }
  }
}

Remote endpoints

https://docmorph.dev/mcp/ssesse
https://docmorph.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪render_mermaid_diagram(syntax, title, theme)

Render a Mermaid diagram into styled SVG vector image code and node metadata. Supports flowchart/graph and sequenceDiagram (sequence) types. Other types (ER/gantt/mindmap/pie/state) should be rendered on client-side using mermaid.js.

Input Schema

{
  "type": "object",
  "properties": {
    "syntax": {
      "type": "string",
      "description": "Mermaid chart syntax (e.g. 'graph TD; A[Start]-->B[End];')"
    },
    "title": {
      "type": "string",
      "description": "Optional diagram title"
    },
    "theme": {
      "type": "string",
      "enum": [
        "default",
        "neutral",
        "dark",
        "forest",
        "corporate"
      ],
      "description": "Color palette theme (default: 'default')"
    }
  },
  "required": [
    "syntax"
  ]
}
🟢extract_markdown_outline(content, markdown)

Extract hierarchical headings, table of contents, word/character statistics, and document structure outline from Markdown text.

Input Schema

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Full Markdown text to analyze"
    },
    "markdown": {
      "type": "string",
      "description": "Alternative alias for content property"
    }
  },
  "required": [
    "content"
  ]
}
⚪convert_markdown_to_pdf(markdown, title, theme, pageSize)

Compile Markdown text into a styled, publication-ready PDF document with automatic pagination and headers.

Input Schema

{
  "type": "object",
  "properties": {
    "markdown": {
      "type": "string",
      "description": "Markdown text to compile"
    },
    "title": {
      "type": "string",
      "description": "Document title for the PDF header"
    },
    "theme": {
      "type": "string",
      "enum": [
        "default",
        "neutral",
        "dark",
        "forest",
        "corporate",
        "academic",
        "modern",
        "minimal"
      ],
      "description": "PDF layout and typography theme (default: 'academic')"
    },
    "pageSize": {
      "type": "string",
      "enum": [
        "A4",
        "Letter"
      ],
      "description": "Page size specification (default: 'A4')"
    }
  },
  "required": [
    "markdown"
  ]
}
🟢parse_pdf_to_markdown(base64Pdf, fileName)

Extract structured Markdown, tables, and mathematical formulas from a base64 encoded PDF using AI vision OCR.

Input Schema

{
  "type": "object",
  "properties": {
    "base64Pdf": {
      "type": "string",
      "description": "Base64 encoded PDF binary data"
    },
    "fileName": {
      "type": "string",
      "description": "Original filename"
    }
  },
  "required": [
    "base64Pdf"
  ]
}
🟢image_ocr_recognize(base64Image, language, mode)

Extract multilingual text, complex headings, formulas, and tabular data from images using multimodal AI vision.

Input Schema

{
  "type": "object",
  "properties": {
    "base64Image": {
      "type": "string",
      "description": "Base64 encoded image string or data URL"
    },
    "language": {
      "type": "string",
      "description": "Language hint (auto, zh, en, ja, ko, etc.)"
    },
    "mode": {
      "type": "string",
      "enum": [
        "general",
        "table",
        "handwriting",
        "meme_scene",
        "formula"
      ],
      "description": "OCR recognition mode"
    }
  },
  "required": [
    "base64Image"
  ]
}
⚪assist_ocr_text(text, action, targetLang)

AI assistant to translate, proofread, or summarize extracted OCR document text.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Extracted text content"
    },
    "action": {
      "type": "string",
      "enum": [
        "translate",
        "proofread",
        "summarize"
      ],
      "description": "AI action to perform"
    },
    "targetLang": {
      "type": "string",
      "description": "Target language for translation"
    }
  },
  "required": [
    "text",
    "action"
  ]
}
🟢inspect_media_security(base64Data, mediaType, fileName)

Deeply inspect image, video, or audio files for privacy leaks, including GPS physical coordinates, camera/recorder hardware serials, recording timestamps, and editing software signatures.

Input Schema

{
  "type": "object",
  "properties": {
    "base64Data": {
      "type": "string",
      "description": "Base64 encoded image, video, or audio binary payload (or data URI)"
    },
    "mediaType": {
      "type": "string",
      "enum": [
        "auto",
        "image",
        "video",
        "audio"
      ],
      "description": "Media classification type (default: auto)"
    },
    "fileName": {
      "type": "string",
      "description": "Optional filename with extension (e.g. photo.jpg, vlog.mp4, interview.mp3)"
    }
  },
  "required": [
    "base64Data"
  ]
}
🔴sanitize_media_security(base64Data, mediaType, fileName, clearGps, clearDevice, ...)

Permanently wipe and sanitize privacy metadata from image, video, or audio files (strip GPS coordinates, device fingerprints, timestamps, and comments) with zero quality loss.

Input Schema

{
  "type": "object",
  "properties": {
    "base64Data": {
      "type": "string",
      "description": "Base64 encoded image, video, or audio binary payload (or data URI)"
    },
    "mediaType": {
      "type": "string",
      "enum": [
        "auto",
        "image",
        "video",
        "audio"
      ],
      "description": "Media classification type (default: auto)"
    },
    "fileName": {
      "type": "string",
      "description": "Optional filename with extension (e.g. photo.jpg, vlog.mp4, note.wav)"
    },
    "clearGps": {
      "type": "string",
      "description": "Whether to erase GPS coordinates ('true' or 'false', default 'true')"
    },
    "clearDevice": {
      "type": "string",
      "description": "Whether to erase camera device fingerprints ('true' or 'false', default 'true')"
    },
    "clearTimestamps": {
      "type": "string",
      "description": "Whether to zero container recording timestamps ('true' or 'false', default 'true')"
    }
  },
  "required": [
    "base64Data"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools