Pressmark

Vector PDF document engine for invoices, estimates, receipts, contracts & real estate agreements.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
88%
命名质量
100%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 generate_document 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,225token 数(工具定义)
~3.7 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.74%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "pressmark": {
      "url": "https://www.pressmark.dev/mcp"
    }
  }
}

远程端点

https://www.pressmark.dev/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🔴generate_document(compliance_mode, county, currency, currency_placement, currency_separators, ...)

Creates a PDF from the supplied document details. When customer sync is enabled, it also updates Pressmark's customer records with contact details and a document summary, and may start automated follow-up. It uses the signed-in email when available, otherwise the sender email, then the recipient email. See https://pressmark.dev/privacy for the fields shared.

输入模式

{
  "type": "object",
  "properties": {
    "compliance_mode": {
      "description": "Compliance banner (none, eu_vat, peppol_bis, hipaa_baa).",
      "type": "string"
    },
    "county": {
      "description": "County name for jurats and headers.",
      "type": "string"
    },
    "currency": {
      "default": "USD",
      "description": "ISO 4217 currency code.",
      "type": "string"
    },
    "currency_placement": {
      "description": "Currency prefix or suffix placement.",
      "type": "string"
    },
    "currency_separators": {
      "description": "Number separators (comma_dot, dot_comma).",
      "type": "string"
    },
    "currency_symbol_mode": {
      "description": "Display currency symbol or ISO code.",
      "type": "string"
    },
    "custom_fields": {
      "description": "Custom key-value metadata fields.",
      "type": "array"
    },
    "date_format": {
      "description": "Date format (iso, us_slash, euro, formal_prose).",
      "type": "string"
    },
    "doc_type": {
      "description": "Archetype slug (invoice, receipt, residential_lease, nda, etc.).",
      "type": "string"
    },
    "execution_mode": {
      "description": "Signature mode (esign, wet_ink, notarized_wet, ron).",
      "type": "string"
    },
    "from": {
      "description": "Issuer or landlord details.",
      "properties": {
        "address": {
          "description": "Issuer address.",
          "type": "string"
        },
        "email": {
          "description": "Issuer email.",
          "type": "string"
        },
        "name": {
          "description": "Issuer name.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "items": {
      "description": "Line items or rent schedule.",
      "items": {
        "properties": {
          "description": {
            "description": "Item description.",
            "type": "string"
          },
          "quantity": {
            "description": "Item quantity.",
            "type": "number"
          },
          "unit_price": {
            "description": "Unit price.",
            "type": "number"
          }
        },
        "required": [
          "description",
          "quantity",
          "unit_price"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "municipality": {
      "description": "Municipal profile (Chicago, Cook County, NYC, SF, Seattle, Portland).",
      "type": "string"
    },
    "notary_required": {
      "description": "Render state notarial jurat block.",
      "type": "boolean"
    },
    "number_decimals": {
      "description": "Decimal places for amounts (default 2).",
      "type": "integer"
    },
    "payment_link": {
      "description": "HTTPS checkout URL for QR code.",
      "type": "string"
    },
    "payment_qr_code": {
      "description": "Embed vector SVG QR code.",
      "type": "boolean"
    },
    "recordable": {
      "description": "Enable County Recorder 3-inch top margin.",
      "type": "boolean"
    },
    "sections": {
      "description": "Structured legal clause sections.",
      "type": "array"
    },
    "signatures": {
      "description": "Multi-party signature blocks.",
      "type": "array"
    },
    "state_code": {
      "description": "2-letter US state or DC code.",
      "type": "string"
    },
    "tax_rate": {
      "description": "Percentage tax rate.",
      "type": "number"
    },
    "to": {
      "description": "Recipient or tenant details.",
      "properties": {
        "address": {
          "description": "Recipient address.",
          "type": "string"
        },
        "email": {
          "description": "Recipient email.",
          "type": "string"
        },
        "name": {
          "description": "Recipient name.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    }
  },
  "required": [
    "doc_type",
    "from",
    "to"
  ],
  "examples": [
    {
      "doc_type": "invoice",
      "from": {
        "name": "Acme Corp"
      },
      "items": [
        {
          "description": "Design retainer",
          "quantity": 1,
          "unit_price": 1500
        }
      ],
      "to": {
        "name": "Client LLC"
      }
    }
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "compile_time_ms": {
      "description": "Compile time in ms.",
      "type": "integer"
    },
    "doc_number": {
      "description": "Document number.",
      "type": "string"
    },
    "grand_total": {
      "description": "Computed grand total.",
      "type": "number"
    },
    "pdf_base64": {
      "description": "Base64 vector PDF.",
      "type": "string"
    }
  },
  "required": [
    "pdf_base64",
    "doc_number",
    "grand_total",
    "compile_time_ms"
  ]
}
🟢preview_document(currency, doc_type, from, items, payment_link, ...)

Statelessly render a 144-PPI PNG preview of a document as a Base64 data URI without mutating server records. Example: doc_type='invoice' or preview_document({"doc_type":"invoice","from":{"name":"Acme"},"to":{"name":"Client"}})

输入模式

{
  "type": "object",
  "properties": {
    "currency": {
      "default": "USD",
      "description": "ISO 4217 currency code.",
      "type": "string"
    },
    "doc_type": {
      "description": "Archetype slug (invoice, receipt, residential_lease, nda).",
      "type": "string"
    },
    "from": {
      "description": "Issuer or landlord details.",
      "properties": {
        "name": {
          "description": "Issuer name.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "items": {
      "description": "Line items array ({description, quantity, unit_price}).",
      "type": "array"
    },
    "payment_link": {
      "description": "HTTPS checkout URL for QR code.",
      "type": "string"
    },
    "state_code": {
      "description": "2-letter US state or DC code.",
      "type": "string"
    },
    "to": {
      "description": "Recipient or tenant details.",
      "properties": {
        "name": {
          "description": "Recipient name.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    }
  },
  "required": [
    "doc_type",
    "from",
    "to"
  ],
  "examples": [
    {
      "doc_type": "invoice",
      "from": {
        "name": "Acme Corp"
      },
      "to": {
        "name": "Client LLC"
      }
    }
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "compile_time_ms": {
      "description": "Compile time in ms.",
      "type": "integer"
    },
    "image_data_uri": {
      "description": "Base64 PNG data URI.",
      "type": "string"
    }
  },
  "required": [
    "image_data_uri",
    "compile_time_ms"
  ]
}
🟢calculate_totals(document)

Statelessly compute subtotal, tax, discount, grand total, and balance due for a document payload without mutating server records. Example: tax_rate=8.25 or calculate_totals({"document":{"items":[{"quantity":2,"unit_price":50}]}})

输入模式

{
  "type": "object",
  "properties": {
    "document": {
      "description": "Document JSON with items, tax_rate, discount_amount, and optional amount_paid.",
      "type": "object"
    }
  },
  "required": [
    "document"
  ],
  "examples": [
    {
      "document": {
        "items": [
          {
            "description": "Service",
            "quantity": 2,
            "unit_price": 50
          }
        ]
      }
    }
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "amount_paid": {
      "description": "Amount paid.",
      "type": "number"
    },
    "balance_due": {
      "description": "Remaining balance due.",
      "type": "number"
    },
    "discount_amount": {
      "description": "Discount applied.",
      "type": "number"
    },
    "grand_total": {
      "description": "Payable grand total.",
      "type": "number"
    },
    "is_paid": {
      "description": "True when paid in full.",
      "type": "boolean"
    },
    "subtotal": {
      "description": "Subtotal before tax/discount.",
      "type": "number"
    },
    "tax_total": {
      "description": "Tax amount.",
      "type": "number"
    }
  },
  "required": [
    "subtotal",
    "tax_total",
    "discount_amount",
    "grand_total",
    "amount_paid",
    "balance_due",
    "is_paid"
  ]
}
🟢get_pricing

Read static subscription tiers, single-pass unlocks, and checkout links without mutating server records. Example: currency='USD' or get_pricing({})

输入模式

{
  "type": "object",
  "properties": {},
  "examples": [
    {}
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "currency": {
      "description": "Catalog currency (USD).",
      "type": "string"
    },
    "microtransactions": {
      "description": "Single-pass unlocks.",
      "type": "array"
    },
    "plans": {
      "description": "Subscription tiers.",
      "type": "array"
    }
  },
  "required": [
    "currency",
    "plans",
    "microtransactions"
  ]
}
🟢convert_document(credit_reason, document, due_days, payment_link, payment_qr_code, ...)

Stateless in-memory conversion and PDF synthesis from Estimate/Quote JSON to Invoice, Receipt, or Credit Note without mutating server records. Example: target_type='invoice', convert_document({"document":{},"target_type":"invoice"})

输入模式

{
  "type": "object",
  "properties": {
    "credit_reason": {
      "description": "Credit note or refund reason.",
      "type": "string"
    },
    "document": {
      "description": "Stateless input document JSON payload to transform.",
      "type": "object"
    },
    "due_days": {
      "description": "Days until payment due.",
      "type": "integer"
    },
    "payment_link": {
      "description": "HTTPS checkout URL for QR code.",
      "type": "string"
    },
    "payment_qr_code": {
      "description": "Embed SVG vector QR code.",
      "type": "boolean"
    },
    "target_type": {
      "description": "Target type (invoice, receipt, estimate, credit_note, refund).",
      "enum": [
        "invoice",
        "receipt",
        "estimate",
        "credit_note",
        "refund"
      ],
      "type": "string"
    }
  },
  "required": [
    "document",
    "target_type"
  ],
  "examples": [
    {
      "document": {
        "doc_type": "estimate",
        "from": {
          "name": "Acme"
        },
        "to": {
          "name": "Client"
        }
      },
      "target_type": "invoice"
    }
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "compile_time_ms": {
      "description": "Compile time in ms.",
      "type": "integer"
    },
    "document": {
      "description": "Converted document JSON.",
      "type": "object"
    },
    "pdf_base64": {
      "description": "Base64 vector PDF.",
      "type": "string"
    }
  },
  "required": [
    "document",
    "pdf_base64",
    "compile_time_ms"
  ]
}
🟢record_payment(amount_paid, document, paid_date, payment_method, transaction_reference)

Stateless in-memory payment calculation and PDF synthesis returning a Receipt or partial-payment Invoice without mutating server records. Example: amount_paid=100, record_payment({"document":{},"amount_paid":100})

输入模式

{
  "type": "object",
  "properties": {
    "amount_paid": {
      "description": "Amount paid toward balance.",
      "type": "number"
    },
    "document": {
      "description": "Stateless input invoice JSON payload.",
      "type": "object"
    },
    "paid_date": {
      "description": "Payment date (YYYY-MM-DD).",
      "type": "string"
    },
    "payment_method": {
      "description": "Payment method (Stripe, Apple Pay, Wire).",
      "type": "string"
    },
    "transaction_reference": {
      "description": "Transaction reference ID.",
      "type": "string"
    }
  },
  "required": [
    "document"
  ],
  "examples": [
    {
      "amount_paid": 100,
      "document": {
        "doc_type": "invoice",
        "from": {
          "name": "Acme"
        },
        "to": {
          "name": "Client"
        }
      }
    }
  ]
}

输出模式

{
  "type": "object",
  "properties": {
    "compile_time_ms": {
      "description": "Compile time in ms.",
      "type": "integer"
    },
    "document": {
      "description": "Receipt or updated invoice JSON.",
      "type": "object"
    },
    "pdf_base64": {
      "description": "Base64 vector PDF.",
      "type": "string"
    }
  },
  "required": [
    "document",
    "pdf_base64",
    "compile_time_ms"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本6 个工具