Search / com.md2sign/md2sign
md2sign
R0· no sign-inSend markdown contracts for legally binding e-signatures. Draft, preview, send and track signing.
v1.3.0 · active · repository · website · descriptor JSON · versions
Search / com.md2sign/md2sign
R0· no sign-inSend markdown contracts for legally binding e-signatures. Draft, preview, send and track signing.
v1.3.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"md2sign": {
"type": "http",
"url": "https://md2sign.com/mcp",
"headers": {
"Authorization": "Bearer ${MD2SIGN_TOKEN}"
}
}
}
}claude mcp add --transport http md2sign https://md2sign.com/mcp --header "Authorization: Bearer ${MD2SIGN_TOKEN}"[mcp_servers.md2sign]
url = "https://md2sign.com/mcp"
bearer_token_env_var = "MD2SIGN_TOKEN"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"md2sign": {
"type": "remote",
"url": "https://md2sign.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:MD2SIGN_TOKEN}"
}
}
}
}{
"mcpServers": {
"md2sign": {
"type": "http",
"url": "https://md2sign.com/mcp",
"headers": {
"Authorization": "Bearer ${MD2SIGN_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=md2sign&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWQyc2lnbi5jb20vbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7TUQyU0lHTl9UT0tFTn0ifX0%3D"
}{
"servers": {
"md2sign": {
"type": "http",
"url": "https://md2sign.com/mcp",
"headers": {
"Authorization": "Bearer ${MD2SIGN_TOKEN}"
}
}
}
}{
"mcpServers": {
"md2sign": {
"httpUrl": "https://md2sign.com/mcp",
"headers": {
"Authorization": "Bearer ${MD2SIGN_TOKEN}"
}
}
}
}extensions:
"md2sign":
enabled: true
name: "md2sign"
type: streamable_http
uri: "https://md2sign.com/mcp"
headers:
"Authorization": "Bearer ${MD2SIGN_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${MD2SIGN_TOKEN}. The registry never accepts secret values.
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prmauth.as_metadataauth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changes, stability.rug_pull, stability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvablecreate_accountchangeddescriptionCreate an md2sign account for your human and get an API key. They are emailed a confirmation link and subscription options. Once they confirm their email, their first sent document is free (up to 5 signers); after that, sending needs a plan (Starter $7.50/mo for 50 signature requests, Pro $26.41/mo for 500). You can validate, draft, preview and test-send right away. Returns api_key and checkout_urls to hand to the human.
Create an md2sign account for your human and get an API key. They are emailed a confirmation link and subscription options. Once they confirm their email, their first sent document is free (up to 5 signers); after that, sending needs a plan (Starter $7.50/mo for 50 signature requests, Pro $39/mo for 500, or yearly at 12 months for the price of 10). You can validate, draft, preview and test-send right away. Returns api_key, checkout_urls (monthly) and annual_checkout_urls (yearly) to hand to the human.
save_webhookchangedtitle, annotationslist_webhookschangedtitle, annotationscreate_document_from_templatechangedtitle, annotationssave_templatechangedtitle, annotationsget_templatechangedtitle, annotationslist_templateschangedtitle, annotationsget_audit_trailchangedtitle, annotationsvoid_documentchangedtitle, annotationsremind_recipientschangedtitle, annotationsShowing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-100% +updated-1d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://md2sign.com/mcp/oauth streamable-http | oauth2 AS: https://md2sign.com | no (1 failures) | 80% | 319 ms | – | 2026-11-13 |
https://md2sign.com/mcp streamable-http | none | yes | 100% | 500 ms | 2026-07-28 | 2026-11-14 |
create_account | Create an md2sign account for your human and get an API key. They are emailed a confirmation link and subscription options. Once they confirm their email, their first sent document is free (up to 5 signers); after that, sending needs a plan (Starter $7.50/mo for 50 signature requests, Pro $39/mo for 500, or yearly at 12 months for the price of 10). You can validate, draft, preview and test-send right away. Returns api_key, checkout_urls (monthly) and annual_checkout_urls (yearly) to hand to the human. |
create_document_from_template | Create a draft from a template by filling in its {{ variables }} (Pro). Set send=true to send it straight away; otherwise review it and call send_document. Missing variables return a missing_variables error listing them. |
create_draft | Save markdown as a draft document. Recipients are detected from the signature fields. Drafts are free and can be updated any number of times. Set send=true to send immediately (uses one unit per recipient). |
get_accountread-only | Show the account's verification status, plan, signature requests used and remaining this month, and checkout links if there is no subscription yet. |
get_audit_trailread-only | Get the audit trail and cryptographic verification for a document: SHA-256 hashes, chained signature hashes, Ed25519 seals and every event with timestamps and IP addresses. |
get_documentread-only | Get a document with its status, markdown, recipients and each recipient's signing status. |
get_markdown_specread-only | Explains md2sign's markdown format: signature fields [[signature: First Last <email>]], optional roles, input fields signers fill in [[field: Label | for: email | type: date | required]], and hidden style/title/signing-order directives. Returns an example contract. Call this first if you have not written md2sign markdown before. |
get_templateread-only | Get a template: its latest markdown, the {{ variables }} it needs, and its version history. Pass "version" to read an older version. |
import_word_documentread-only | Convert a Word document (.docx, or best-effort .doc) into md2sign markdown. Keeps headings, bold and italics, numbered and bulleted lists, tables and links; images are dropped. Nothing is saved: review the returned markdown, add a [[signature: Name <email>]] field for each person who needs to sign (see signing_advice), then call create_draft. Returns markdown, title, import_warnings and validation. Max 10 MB. |
list_documentsread-only | List your documents, newest first, optionally filtered by status (draft, sent, completed, declined, voided, expired). |
list_templatesread-only | List the document templates shared by your company account (Pro). Use get_template to read one and create_document_from_template to use it. |
list_webhooksread-only | List the company's webhook endpoints (Pro, admin only), including each signing secret, and the events you can subscribe to. |
remind_recipients | Re-send the signature request email to recipients who haven't signed yet (at most once an hour per recipient). Uses no extra units. |
render_previewread-only | Render markdown exactly as a recipient will see it: the signing page (default) or the signature-request email. Returns HTML you can show your human, plus validation results. Free, no account needed. |
save_template | Create a template (omit template_id) or update one (Pro). Changing the markdown saves a new version; older versions are kept. Use {{ variable_name }} placeholders for values that change per document, e.g. [[signature: {{ client_name }} <{{ client_email }}>]]. |
save_webhookdestructive | Create (omit webhook_id) or update a webhook endpoint (Pro, admin only). md2sign POSTs signed JSON with the document, its markdown and, on document.completed, the signed PDF as base64 to a public https URL such as Zapier, Make or n8n. Set send_test=true to send a test event. |
send_documentdestructive | Send a draft for signature. Each recipient gets an email from "<Company> via md2sign" with the document and a unique signing link. Uses one unit per recipient. Needs a confirmed email and an active subscription; once sent, the document can't be edited. |
test_send_document | Email a watermarked TEST copy of the signature request to the account owner only, so the human can see exactly what recipients will get. Free and needs no subscription; limited to 10 a day. |
update_draftdestructive | Replace the markdown, title, style or message of a draft. Only drafts can be changed; to change a sent document, void it and create a new one. |
validate_markdownread-only | Check that markdown has correctly formed signature fields before you draft or send it. Returns detected recipients, title, style, units required, the SHA-256 document hash, and errors/warnings with line numbers. Free, no account needed. |
void_documentdestructive | Cancel a sent document that is still awaiting signatures. Recipients who haven't signed are told it was cancelled. |
Schemas: list_tools.
{
"name": "com.md2sign/md2sign",
"icons": [
{
"src": "https://md2sign.com/icon.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
}
],
"title": "md2sign",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://md2sign.com/mcp/oauth",
"type": "streamable-http"
},
{
"url": "https://md2sign.com/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"isSecret": true,
"description": "\"Bearer <md2sign API key>\". Optional to start: without it you can validate and preview, and the create_account tool returns a key."
}
]
}
],
"version": "1.3.0",
"repository": {
"id": "1455055028",
"url": "https://github.com/SteamDiesel/md2sign-claude-plugin",
"source": "github"
},
"websiteUrl": "https://md2sign.com/mcp",
"description": "Send markdown contracts for legally binding e-signatures. Draft, preview, send and track signing."
}