Skip to content
Agentmart
Submit a tool

Korala

Document signing: draft agreements, prepare signing requests, send them and track who has signed.

Connector by korala.aiOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/korala-ai-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://api.korala.ai/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Document signing: draft agreements, prepare signing requests, send them and track who has signed.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
14 read · 18 write · 5 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 37

Read from the source code; the running server may list different tools.

Read 14 · Look things up without changing anything.

  • create_draft_link
  • describe_standard_form
  • find_blanks
  • find_text
  • get_audit_trail
  • get_document
  • get_form_fields
  • get_template
  • list_documents
  • list_standard_forms
  • list_templates
  • preview_markdown_template
Show 2 more tools
  • read_text
  • view_page

Write 18 · Create, change, send or run things.

  • add_field
  • add_field_at_text
  • add_fields
  • add_signer
  • add_template_field
  • confirm_upload
  • create_document_from_template
  • create_markdown_template
  • create_upload_url
  • fill_fields
  • import_form_fields
  • prepare_for_signature
Show 6 more tools
  • request_pdf_upload
  • update_field
  • update_signer
  • update_template_field
  • upload_attached_pdf
  • use_standard_form

Delete 5 · Delete, drop, revoke or wipe things.

  • remove_field
  • remove_signer
  • remove_template_field
  • send_document
  • void_document

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • KORALA_API_SECRET

Other settings (environment variables or headers).

  • KORALA_API_KEY_ID
  • KORALA_MCP_ALLOW_SEND

Network hosts it talks to 1

  • api.korala.ai · found in remote endpoint, install command

Files it touches

  • Any path the agent passes to its tools

Tools (37)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_fieldPlace a field

    Place a field at exact coordinates on a draft document for one signer. Prefer import_form_fields (fillable PDF) or add_field_at_text (flat PDF): they need no coordinates. COORDINATES: the origin is the TOP-LEFT corner of the page, x grows right, y grows DOWN, exactly like pixels in an image. This is NOT the PDF-native system (bottom-left origin, y up): never flip y. xPosition and yPosition are the field’s own top-left corner. Units are PDF points, 72 per inch: US Letter is 612 × 792, A4 is 595 × 842, and find_text gives every page’s real size. FROM AN IMAGE of the page: render the page alone (…

  • add_field_at_textPlace a field next to text

    Place a field of any type against a phrase in the PDF (a dropdown needs its options); Korala works out the coordinates. Choose position from how the form is laid out, which the line from find_text shows: "right" when the blank follows the label on the same line ("Signature: ______"); "above" when the label is printed under its line, as on most contracts and IRS forms; "below" when the label heads an empty box. If the phrase appears more than once, occurrence is required: take it from find_text. Do not add a field where this signer already has one of the same type (add_signer and get_document s…

  • add_fieldsPlace several fields at once

    Place many fields in one call instead of one call each. Every entry goes either at coordinates (pageNumber, xPosition, yPosition, width, height) or against text (anchorText, and occurrence when the phrase repeats), never both. Entries are judged one at a time: the answer says which were placed and why each of the others was not, so a single bad entry does not cost you the rest. Coordinates are as add_field describes them: points from the TOP-LEFT corner, y growing DOWN. Prefer this whenever you are placing more than one field, and check the result before telling the user the document is ready.…

  • add_signerAdd a signer

    Add a recipient to a draft document. Use the exact name and email the user gave; never invent a recipient address. Adding a signer does not send anything. Korala may fill in a fillable PDF’s own form fields, signature included, when the first signer is added; the result says how many fields this signer now has. When it is more than none, read them with get_document before placing any, so nobody is asked to sign the same line twice. Working on a draft that already existed? Read get_document first: an earlier attempt may have left signers and fields on it, and the result lists the other signers …

  • add_template_fieldAdd a field to a template

    Add a field to a template, so every document made from it carries that field. Read get_template first for the signer roles and the fields already there. A Markdown template keeps its fields in its source, and refuses fields added from outside: put a ::signature or ::field there instead. PLACEMENT: "coordinate" pins the field to a page position, which is right for a PDF whose layout never moves. "anchor" finds anchorText in each generated document and places the field against it, which survives text that reflows, and is the right choice for a DOCX template and for any PDF whose text may move. "…

  • confirm_uploadFinish a PDF upload

    Step 2 of uploading a PDF, after the bytes were PUT to the upload URL, or after the user uploaded the file through the link from request_pdf_upload (safe to call again; it fails with "File not uploaded yet" while the file is missing). Tells you what Korala found in the file: how many pages, whether it is a fillable form (and how many fields, signature included, the form declares), and whether it has a text layer. fieldOptions lists the ways to place fields on THIS file; pick one after add_signer. You cannot see the PDF, so go by this.

  • create_document_from_templateCreate a document from a template

    Create a draft document from a template: assign a real person to each signer role and supply the data that fills it. The result is a draft, and nothing is sent until send_document. Use the names and emails the user gave; never invent a recipient address.

  • create_draft_linkOpen a draft in Koralaread-only

    Turn a Markdown agreement into an "Open in Korala" link. Needs no Korala account or connection: the user opens the link, reviews the rendered draft, and chooses Save in Korala (signing in or creating an account there). This tool saves and sends nothing; do not claim otherwise. Anyone with the link can read the draft, so use example data, never credentials or private customer data. Same Markdown syntax as the template tools.

  • create_markdown_templateSave a Markdown template

    Save a Markdown agreement as a reusable template. Each ::signature role becomes a signer role, and each ::field a date, text, initials, checkbox, dropdown or radio for one of them. Saving sends nothing. When the user asked for a length, check pageCount with preview_markdown_template before saving: these tools save a new template each time and cannot revise a saved one. Preserve wording the user approved; do not invent commercial terms.

  • create_upload_urlStart a PDF upload

    Step 1 of uploading an existing PDF: returns a documentId and a presigned uploadUrl. PUT the file bytes to uploadUrl (for example with curl --upload-file), then call confirm_upload. Only useful when you can make HTTP requests with local files; otherwise create the document from a Markdown template instead.

  • describe_standard_formSee a standard form’s questions before using itread-only

    The signer roles and every field a standard form asks for, without creating anything. Read this before use_standard_form when you want to know what the form will ask the person, so the conversation can gather the answers first. Fields are named by canonicalName, which is what you set values against afterwards.

  • fill_fieldsFill fields for the signer

    Write the answers into the fields, so the person is left with the signature. Preparing a document has three steps: place the fields (import_form_fields, add_fields), fill them (this tool), then mark it ready with send_document. Filling works both before and after that, so an answer can still be corrected while the document is out for signature. Pass one entry per field: text, dates (in the field's dateFormat), dropdowns (one of the listed options), checkboxes and radio options ("true" to tick, "false" to clear; ticking one member of a group clears the others). A signature or initials field is …

  • find_blanksFind what the page is waiting forread-only

    Where an uploaded PDF looks like it is waiting to be filled in: every ruled line and labelled blank, with the words printed against it, the whole line it sits on, and a box a field would fit. It does not say what any blank is for. You have the label, so you decide: "Tenant signature" wants a signature, "Date" a date. Feed what you choose straight to add_fields. What a label does not tell you is whose line it is: with two signers and lines marked "Signer 1" and "Signer 2", ask the user who is who. A line drawn as a graphic is not text and is not found here; for those, find_text gives you the pr…

  • find_textFind text in a PDFread-only

    Search an uploaded PDF for a phrase. You cannot see the PDF, so this is how you learn what is on it: each match comes with its page, its box and the whole line it sits on, which tells apart two "Signature" labels that belong to different people. Also returns every page’s size. Search for the label next to the blank, such as "Tenant signature", "Sign here", "Date" or a party’s name, then call add_field_at_text with the occurrence you want. Looking for several labels? Pass them all in texts, in ONE call: every call downloads and parses the whole file, so one call per label costs Korala that many…

  • get_audit_trailGet audit trailread-only

    Get the full audit trail of a document: created, sent, viewed, signed, declined and completed events with timestamps.

Show 22 more tools
  • get_documentGet document statusread-only

    Get one document with its status, signers (and who has signed), and fields. Use this to track a signing request. Completed documents include a time-limited download URL for the signed PDF.

  • get_form_fieldsList a PDF’s own form fieldsread-only

    List the fillable form fields embedded in an uploaded PDF (tax forms and other fillable PDFs have them), each with its name, type, page, position and size. You cannot see the PDF, so this is how you learn what the form holds. To place them, call import_form_fields (all of them, for one signer); use add_field with these positions only for a single field, and never for one the import already placed. Returns an empty list for a flat PDF; then use find_text and add_field_at_text.

  • get_templateGet template detailsread-only

    Get a template with its signer roles, fields and (for Markdown templates) source and revision. Read the signer roles before creating a document from it.

  • import_form_fieldsPlace a fillable PDF’s own fields

    Place every field a fillable PDF declares (text boxes, checkboxes, dates, the signature) for one signer, in one call, exactly where the form draws them. Use it for tax forms and other fillable PDFs instead of add_field one by one; get_form_fields shows what it will place, and it leaves out the form’s read-only boxes. Safe to repeat: what an earlier import placed is skipped. It does not know about fields you placed yourself, so import first and add by hand only what is still missing. Korala does this by itself for a PDF uploaded in the dashboard when the first signer is added, which add_signer …

  • list_documentsList documentsread-only

    List documents in the connected Korala organization, newest first. Looking for one the user named? Pass search with a word from its name, or the name or email of someone signing it, rather than paging through everything; add status to narrow it further. A draft the user uploaded in Korala is status draft.

  • list_standard_formsList the standard forms Korala curatesread-only

    The government and agency forms Korala already knows: each one carries the printed labels, the validation and the choose-one groups of the real form. Look here FIRST when the user names a form (a W-9, an SS-4, an I-9), before asking them to find a PDF. Use the form’s publishedVersionId with use_standard_form. If no form matches, the user can upload their own PDF instead and import_form_fields will read its fields.

  • list_templatesList templatesread-only

    List reusable templates in the organization. Check here before drafting a new agreement: the user may already have one.

  • prepare_for_signatureGive each signer what they have to sign

    The one-call form for the simple case: one signer, one place to sign, no signature field yet. It places that one and tells you where. For anything else it places NOTHING and hands back the places it found and the signers still waiting, for you to pair with add_fields. It will not pair them itself, because the order blanks appear on a page has nothing to do with the order signers were added, and guessing puts one person’s signature on another’s line. Always show the user what was placed before sending.

  • preview_markdown_templatePreview a Markdown agreementread-only

    Render a Markdown agreement without saving anything. Returns page count, the variables it expects, and every field a signer fills in (each ::signature and ::field, with its type and role), so the draft can be checked before it is saved.

  • read_textRead a PDFread-only

    ONLY when you cannot read the PDF yourself. If the file is attached to the chat, on your disk, or otherwise readable by you, read it there and do not call this: it costs Korala a download and a parse for something you already have. Call it when you were handed a document you have never seen (the user uploaded it in Korala, or through the upload link) and need to know who the parties are, how many people sign, or what the label beside each blank is called, in whatever language, before you search for it with find_text. Reads what the PDF says, page by page. One answer holds about 20,000 characte…

  • remove_fieldRemove a fieldcan change or delete data

    Remove one field from a draft document: a duplicate, or one placed by mistake. It cannot be undone, so remove only a field you placed, or one the user asked you to remove.

  • remove_signerRemove a signercan change or delete data

    Take a person off a draft document, together with every field they were given. Use it for a signer added by mistake, or one left on a draft from an earlier attempt, and only when the user agrees: it cannot be undone, and their fields go with them. A document already sent cannot change its signers.

  • remove_template_fieldRemove a field from a templatecan change or delete data

    Remove one field from a template: a duplicate, or one added by mistake. It cannot be undone, so remove only a field you added, or one the user asked you to remove.

  • request_pdf_uploadAsk the user to upload a PDF

    When the user has a PDF to get signed and you hold neither the file nor a file object for it, call this: it creates an empty draft and returns a link. Give the user the link and ask them to upload the PDF there; they are signed in to Korala in their browser. When they say it is done, call confirm_upload with the documentId. It fails with "File not uploaded yet" until the file is there; once it succeeds it tells you what is in the PDF and how to place its fields. Nothing else shows whether the file arrived, so do not add signers before it succeeds. If the user already uploaded the PDF in Korala…

  • send_documentSend for signingcan change or delete data

    Send a draft document to its signers. This emails real people and counts against the plan. (The one exception: a server running on a test-mode API key sends no email.) Only call this after the user has explicitly asked to send this specific document. If sending is not enabled for this connection, returns a reviewUrl where the user can review and send it themselves.

  • update_fieldMove or resize a field

    Correct a field on a draft document: move it, resize it, relabel it, give it to another signer, or change anything else it carries, such as a dropdown’s choices or a text field’s mask. Use this when view_page or get_document shows a field in the wrong place or covering print. Never upload the document again to fix a field. Coordinates are the same as add_field: points from the top-left corner, y down, xPosition and yPosition the field’s own top-left corner. Send only what changes.

  • update_signerRename a signer or change when they sign

    Change a signer on a draft document: their name, or their signingOrder. Signers with the same order sign at the same time; a higher order waits until every lower one has signed. Use it when the user corrects who signs first, or after you swapped who signs on which line and the order no longer matches. Their fields stay as they are. The email address cannot change: a different address is a different signer (add_signer, then remove_signer).

  • update_template_fieldCorrect a field on a template

    Change a field on a template: move it, resize it, relabel it, give it to another signer role, or fix its choices. Send only what changes. Documents already created from the template keep the fields they were made with, and a Markdown template is edited through its source instead.

  • upload_attached_pdfUse a PDF attached to this chat

    Turn a PDF the user attached to this chat into a Korala draft document. It works only where the chat app passes attachments to tools as a file object with a download link (ChatGPT does). If you have no such file object, do not invent one: call request_pdf_upload instead, which gives the user a link to upload the file in Korala. The result says what Korala found in the file and how its fields can be placed, the same as confirm_upload.

  • use_standard_formAdd a standard form to the organization

    Copy a standard form into the organization as a template, ready to make documents from. Do this once per form: afterwards use create_document_from_template for each person who needs one, then fill_fields with their answers. The template belongs to the organization and stays there.

  • view_pageLook at a pageread-only

    For placing fields this is a fallback, not a first step: try import_form_fields and add_field_at_text first, and if you hold the file and can render it yourself, do that (the server instructions give the coordinate rules). Each new view renders a page on the server and returns a large image. See one page of an uploaded PDF as an image. Rulers are drawn on it, labelled in the units add_field takes: points from the TOP-LEFT corner, x along the top edge, y down the left edge, a faint line every 50 and a number every 100. Read a position straight off the rulers; do not measure pixels. Fields alrea…

  • void_documentVoid a documentcan change or delete data

    Cancel a document so nobody can sign it. Irreversible, and signers of a sent document are affected. Only call this when the user asked to void this specific document. Needs the same permission as sending; without it, returns a reviewUrl for the user instead.

Signals

Weekly downloads
55
Last release
Sep 25, 2026 (1 month ago)
Last package publish
Sep 25, 2026 (1 month ago)

From the package registry.

Details

Registry name
ai.korala/mcp
Version
0.9.0
Auth
Auth not stated, API key
Packages
npm @korala/mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Korala MCP server. Agent Mart. https://agentmart.dev/connectors/korala-ai-mcp (last updated 2026-10-24)