Skip to main content
Glama
stornoro

Storno CLI

by stornoro

agent_sign_pdf

Sign PDF files with a qualified certificate using PAdES/CMS signature embedding. Provide file paths or directories; signed copies are created in the output directory, optionally with a visible signature box, using the certificate PIN.

Instructions

Sign one or many PDF files with the qualified certificate through the local Storno Agent (PAdES/CMS signature embedded in the PDF), e.g. declarations produced by DUKIntegrator, contracts, any document ANAF or a partner wants signed. Pass file paths and/or directories (all *.pdf inside); each signed copy is written next to the original as .signed.pdf (or into outDir). Requires the certificate PIN (pin, STORNO_AGENT_PIN, or the PIN remembered on this computer by the agent); the batch stops at the first PIN error to protect the token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pinNoToken PIN; defaults to STORNO_AGENT_PIN, or to the PIN the agent remembers for this certificate
filesYesPDF paths and/or directories
outDirNoDirectory for the signed copies (default: next to each file)
visibleNoDraw a visible signature box in the footer of the last page ("Semnat digital de …", date, issuer). Default: invisible signature (still verifiable in Adobe Reader / ANAF)
signerNameNoName shown in the visible box (default: the certificate subject)
certificateIdYesCertificate id from agent_certificates

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.37
    • changedInput schema / properties / pin / description
      Previous value: -"Token PIN; defaults to STORNO_AGENT_PIN"New value: +"Token PIN; defaults to STORNO_AGENT_PIN, or to the PIN the agent remembers for this certificate"
  2. Addedv1.0.28

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations absent, the description carries the full burden. It discloses output behavior (signed copies written next to originals or into outDir), error handling (stops at first PIN error to protect token), and the invisible/visible signature option. It does not mention all possible side effects (e.g., whether originals are modified), but the main behaviors are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and concise, with the main purpose stated upfront, followed by examples, input/output details, and error behavior. No redundant or ambiguous wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with six parameters and no output schema, the description covers all key aspects: what it does, how it operates, output location, required credentials, and error handling. An agent can reasonably decide when and how to invoke it without additional information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema already provides descriptions for all parameters, the tool description adds valuable context: it clarifies that directories are scanned for all *.pdf files, explains the default output location, and details the PIN fallback options and batch-stop behavior. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (sign PDF files), the resource (PDF files), the method (qualified certificate via local Storno Agent), and provides concrete examples (declarations, contracts). It is unambiguous and distinguishes this tool from declaration or invoice tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives examples of when to use (declarations, contracts, documents for ANAF or partners) and prerequisites (PIN). It does not explicitly contrast with alternative tools, but the context and examples strongly imply the intended use case, making it sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools