leafwright
Render HTML, URLs, and templates to PDF. AI drafts templates and fixes them from logs.
Should I use this
Quality & Safety
Findings (1)
- LOWin leafwright_logout
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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
0.2.4stdioRemote endpoints
https://leafwright.co/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
⚪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"
},
"expires_at": {
"type": "string"
},
"next_step": {
"type": "string"
}
},
"required": [
"status",
"verification_url",
"user_code",
"expires_at",
"next_step"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢leafwright_auth_status
Check whether Leafwright MCP is authenticated. Completes a pending browser login if approved.
Input Schema
{
"type": "object",
"properties": {},
"$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
Evidence