← Files PapelyARCHIVED FILE

plugin.json

5.95 KB · Nov 3, 2026 · 12:13 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "papely",
  "version": "1.0.0",
  "description": "Generate PDF documents from your Papely templates: list templates, check their fields, create one PDF or a batch, and get download links.",
  "author": {
    "name": "Papely",
    "email": "support@papely.app",
    "url": "https://papely.app"
  },
  "homepage": "https://papely.app",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Papely",
        "shortDescription": "Generate PDFs from templates",
        "longDescription": "Papely turns a PDF you already have into a reusable template with editable fields (text, dates, images, QR codes and tables) and generates personalized documents from your data. The Papely MCP server brings the same capability to AI assistants that support the Model Context Protocol, so you can create documents by asking in plain language.\n\nAn assistant connected to Papely can list the templates in your workspace and read the fields each one accepts; generate a single PDF, or up to 100 in one batch that downloads as a ZIP; check when a generation is ready and get a time-limited download link; register an image from a public URL to use in an image field; and email each document to its recipient, then see whether it was delivered and downloaded.\n\nYou connect by signing in to Papely and approving the assistant on a consent screen, and you can revoke that access at any time. The assistant only reaches the templates, documents and images of your own workspace. Each generated document counts toward your workspace's generation quota, exactly as if you had generated it in the Papely web app.",
        "developerName": "Papely",
        "category": "Productivity",
        "websiteURL": "https://papely.app",
        "supportURL": "https://papely.app/support",
        "privacyPolicyURL": "https://papely.app/privacy",
        "termsOfServiceURL": "https://papely.app/terms",
        "defaultPrompt": [
          "List my Papely templates",
          "What fields does my Demo - Event ticket template need?",
          "Create a ticket PDF for Ana L\u00f3pez with ticket code PCONF26-Z9Y8 and give me the download link"
        ],
        "composerIcon": "./assets/icon-512.png",
        "logo": "./assets/icon-512.png"
      },
      "review": {
        "demo_recording_url": "https://www.youtube.com/shorts/Tj7SBQcgmaM",
        "test_cases": {
          "positive": [
            {
              "description": "List the templates of the connected workspace",
              "prompt": "List my Papely templates",
              "tools_triggered": "list_templates",
              "expected_behavior": "Returns the templates of the test workspace, including the template Demo - Event ticket."
            },
            {
              "description": "Show the fields a template needs",
              "prompt": "What fields does my Demo - Event ticket template need?",
              "tools_triggered": "list_templates, get_template",
              "expected_behavior": "Finds the template Demo - Event ticket and reports its two fields: name (text) and ticket (QR code)."
            },
            {
              "description": "Generate one PDF and return its download link",
              "prompt": "Create a ticket PDF for Ana L\u00f3pez with ticket code PCONF26-Z9Y8 and give me the download link",
              "tools_triggered": "list_templates, get_template, generate_document, get_generation_status, get_generation_document",
              "expected_behavior": "Generates one PDF from Demo - Event ticket with the name Ana L\u00f3pez and a QR code for PCONF26-Z9Y8, waits until the generation is completed, and returns a download link to the PDF."
            },
            {
              "description": "Generate several PDFs in one batch",
              "prompt": "Generate tickets for Ana L\u00f3pez (PCONF26-Z9Y8) and Luis P\u00e9rez (PCONF26-X7W6) in one go and give me the download link",
              "tools_triggered": "list_templates, get_template, generate_batch, get_generation_status, get_generation_document",
              "expected_behavior": "Generates two PDFs from Demo - Event ticket in a single batch, one per attendee with their ticket code, waits until the batch is completed, and returns a download link to a ZIP file with both PDFs."
            },
            {
              "description": "Register an image from a public URL",
              "prompt": "Register this image so I can use it in my templates: https://papely.app/brand/icon-512.png",
              "tools_triggered": "register_image_from_url",
              "expected_behavior": "Downloads the PNG image and returns an image reference (img_ followed by an id) that can be used as the value of an image field."
            }
          ],
          "negative": [
            {
              "description": "The user attaches a PDF and asks for a summary. Papely creates PDFs from the user's templates; it does not read or summarize existing files.",
              "prompt": "Summarize this PDF",
              "expected_behavior": "No Papely tool is called."
            },
            {
              "description": "Writing free-form text is not a Papely task. The request does not ask for a document from a Papely template.",
              "prompt": "Write a cover letter for a job application",
              "expected_behavior": "No Papely tool is called."
            },
            {
              "description": "File conversion is out of scope. Papely fills its own PDF templates; it does not convert other documents to PDF.",
              "prompt": "Convert this Word document to PDF",
              "expected_behavior": "No Papely tool is called."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Initial release: list templates, read their fields, generate one PDF or a batch of up to 100 with optional email delivery, get download links, and register images from a URL."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 9077f197dc204be79b2a30bea2b244b131d784450c279e09a9f53ed4b46cb849