Medium Risk

generate_html

Generate a complete, self-contained HTML document from Markdown with all styles inlined. Renders GFM (tables, task lists, strikethrough) and KaTeX math into a full HTML page with an embedded <style> block and a KaTeX CSS CDN link. Returns the HTML string directly — no file is written to disk. Sid...

Part of the Markdown server.

generate_html can modify Markdown data, with no limits today. PolicyLayer puts allow, deny, and rate-limit rules on every call. Live in minutes.

SECURE MARKDOWN →

Free to start. No card required.

AI agents use generate_html to create or modify resources in Markdown. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call generate_html repeatedly, creating or modifying resources faster than any human could review. PolicyLayer's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Markdown.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "generate_html": {
      "limits": [
        {
          "counter": "generate_html_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

See the full Markdown policy for all 34 tools.

Get this rule live on your own Markdown server in minutes. PolicyLayer enforces it on every call, before it runs.

ENFORCE ON MY MARKDOWN →

View all 34 tools →

These attack patterns abuse exactly the kind of access generate_html gives an agent. Each links to the full case and the policy that stops it:

Browse the full MCP Attack Database →

Every attack above starts with a tool call. PolicyLayer checks each one against your policy first, so generate_html only ever does what you allow.

SECURE MARKDOWN →

Other write tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.

What does the generate_html tool do? +

Generate a complete, self-contained HTML document from Markdown with all styles inlined. Renders GFM (tables, task lists, strikethrough) and KaTeX math into a full HTML page with an embedded <style> block and a KaTeX CSS CDN link. Returns the HTML string directly — no file is written to disk. Side effects: none. This tool is read-only and performs no file I/O. Returns: a complete HTML document string (<!DOCTYPE html>…</html>) with inline styles, ready for rendering in a browser. The optional title parameter sets the <title> tag in the HTML <head> section. Use this when you need styled HTML output returned as a string (e.g., for embedding in responses or previewing). Prefer convert_to_html when you need to write the HTML to a file on disk. Prefer convert_to_pdf or convert_to_image for non-HTML visual output formats.. It is categorised as a Write tool in the Markdown MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on generate_html? +

Register the Markdown MCP server in PolicyLayer and add a rule for generate_html: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Markdown. Nothing to install.

What risk level is generate_html? +

generate_html is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit generate_html? +

Yes. Add a rate_limit block to the generate_html rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block generate_html completely? +

Set action: deny in the PolicyLayer policy for generate_html. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides generate_html? +

generate_html is provided by the Markdown MCP server (@xjtlumedia/markdown-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Markdown tool call.

Deterministic rules across all 34 Markdown tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

4,600+ MCP servers and 31,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.