leafwright

Render HTML, URLs, and templates to PDF. AI drafts templates and fixes them from logs.

Should I use this

Quality & Safety

B
Description quality
90%
Schema completeness
70%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'leafwright_logout' description lacks action verbin leafwright_logout

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~700Tokens (tool definitions)
~2.0 KBTypical response size
Moderate attention impact (0.55% 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": {
    "leafwright": {
      "command": "npx",
      "args": [
        "@leafwright/mcp"
      ]
    }
  }
}

Runnable packages

npm@leafwright/mcp0.2.4stdio

Remote endpoints

https://leafwright.co/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪leafwright_login(client_name)

Start a browser login flow for Leafwright MCP. Open the returned URL, choose an organization and project, then call leafwright_auth_status.

Input Schema

{
  "type": "object",
  "properties": {
    "client_name": {
      "description": "Optional client name shown in Leafwright.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "const": "pending"
    },
    "verification_url": {
      "type": "string"
    },
    "user_code": {
      "type": "string"
    },
    "device_code": {
      "type": "string"
    },
    "expires_at": {
      "type": "string"
    },
    "next_step": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "verification_url",
    "user_code",
    "device_code",
    "expires_at",
    "next_step"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢leafwright_auth_status(device_code)

Check whether Leafwright MCP is authenticated. Completes a pending browser login if approved. Pass the device_code returned by leafwright_login when the client has no local storage, which is the case over HTTP.

Input Schema

{
  "type": "object",
  "properties": {
    "device_code": {
      "description": "The device_code from leafwright_login. Required when the client stores no local auth state.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "connected",
        "not_authenticated",
        "pending"
      ]
    },
    "token_source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "active_project_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "token": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "userId": {
          "type": "string"
        },
        "orgId": {
          "type": "string"
        },
        "defaultProjectId": {
          "type": "string"
        },
        "tokenPreview": {
          "type": "string"
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "expiresAt": {
          "type": "string"
        },
        "revokedAt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "lastUsedAt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "createdAt": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "userId",
        "orgId",
        "defaultProjectId",
        "tokenPreview",
        "permissions",
        "expiresAt",
        "revokedAt",
        "lastUsedAt",
        "createdAt"
      ],
      "additionalProperties": false
    },
    "next_step": {
      "type": "string"
    },
    "user_code": {
      "type": "string"
    },
    "expires_at": {
      "type": "string"
    }
  },
  "required": [
    "status"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴leafwright_logout

Revoke the stored Leafwright MCP token and clear local auth state.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "const": "logged_out"
    }
  },
  "required": [
    "status"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools