Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Send PDFs for e-signature from AI agents, with a public hash-chained evidence log anyone can verify
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http signathing https://signathing.com/api/mcp --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"signathing": {
"url": "https://signathing.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"signathing": {
"type": "http",
"url": "https://signathing.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain signathing.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 306 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.1.1) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Georgia MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server for Georgian public data, read from the organizations that publish it.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Send PDFs for e-signature from any AI agent, with ESIGN and UETA consent captured on every signature, and get back a certified copy whose history anyone can verify without trusting the sender or Signathing.
https://signathing.com/api/mcp (Streamable HTTP). Sign in with OAuth, or send an API key as a bearer header.Operated by AllContraX LLC, Kentucky, USA. The Signathing app and website stay free for people; the API and MCP server are for software.
| Tool | What it does |
|---|---|
send_document | Upload a PDF (https URL or base64), name up to 25 signers and 25 view-only recipients, optionally place signature, initials, date, name, email, text, number, checkbox, radio or dropdown fields. Signers get a private link by email (and text). Per signer, payment_amount_cents collects a card payment after they sign (into the sender's own Stripe account, no platform fee; the document completes when paid) and id_verification: true requires a government ID plus selfie check before signing ($2 an attempt from the prepaid balance). One billable unit. |
get_document | Status, signers with viewed/signed times, download links, event history. |
list_documents | Your recent documents, filterable by status. |
remind_document | Re-send links to everyone who has not signed (once an hour). |
void_document | Withdraw an open document. Within 10 minutes of sending, the unit is refunded. |
extend_document | Give an expired document 14 more days and fresh links for everyone still waited on. |
get_account | Prepaid balance, documents used this month, free documents left, projected run-out. |
get_evidence | Evidence package: PDF hashes, every signer and event with its position in the public evidence log, and the recipe to verify it. |
verify_signature_code | Look up the code stamped beside any Signathing signature. Works for any document. |
Add a custom connector / remote MCP server with the URL https://signathing.com/api/mcp. You will be sent to signathing.com to sign in and approve. Disconnect any time under API in your Signathing dashboard.
claude mcp add --transport http signathing https://signathing.com/api/mcp \
--header "Authorization: Bearer sk_live_..."
Or without a key, using OAuth: claude mcp add --transport http signathing https://signathing.com/api/mcp and run /mcp to sign in.
mcp.json){ "mcpServers": { "signathing": {
"url": "https://signathing.com/api/mcp", "headers": { "Authorization": "Bearer sk_live_..." } } } }
{ "type": "mcp", "server_label": "signathing",
"server_url": "https://signathing.com/api/mcp", "headers": { "Authorization": "Bearer sk_live_..." } }
mcp_servers){ "type": "url", "name": "signathing", "url": "https://signathing.com/api/mcp",
"authorization_token": "sk_live_..." }
This repository ships a dependency-free bridge for clients that cannot speak HTTP MCP:
{ "mcpServers": { "signathing": {
"command": "npx", "args": ["-y", "github:jacejb/signathing-mcp"], "env": { "SIGNATHING_API_KEY": "sk_live_..." } } } }
Create a key at signathing.com/dashboard/api.
A signature only matters on the day it is disputed. On that day the party that controlled the signing system is the party with something to gain, and its own logs are "trust me." Signathing is nobody's party to the contract, and it does not ask you to trust it either: every signing event goes into one public hash chain, each entry commits to the private details through a hash without publishing them, each day is sealed and archived by the Internet Archive, and the verifier in verifier/ recomputes all of it from a document's evidence package.
node verifier/verify-signathing.mjs evidence.json original.pdf signed.pdf
examples/agent-loop.mjs (Node 18+, no dependencies, public domain) sends a PDF, waits for the signature, pulls the evidence package and the certified PDF, recomputes every hash and chain entry, confirms each entry against the public log, and resolves the verification code publicly. It is the loop an agent should run before it treats an agreement as done.
SIGNATHING_API_KEY=sk_live_... node examples/agent-loop.mjs --name "Pat Lee" --email pat@example.com
[2] Send for signature
ok document 71 (sent); billing {"charged_tenths":0,"unit_this_month":1} ok server's original_sha256 matches the bytes we sent [3] Waiting for Pat Lee to sign (up to 30 min) ok completed at 2026-10-26T02:02:00Z; signed PDF SHA-256 afe6...; sealed=true [4] Evidence package and certified PDF ok signed PDF hashes to document.signed_sha256 [5] Independent verification ok event 609 completed -> chain seq 589 ok seq 589 is identical in the public log ok public log slice 583 to 590 recomputes end to end [6] Public checks anyone can repeat ok verification code resolves publicly to this document and its signed hash VERIFIED: document 71, 6 events, all hashes and public-log entries recomputed.
With MCP it is four tool calls: send_document, get_document (or the document.completed webhook), get_evidence, then the verifier on what came back. The day's seal, Internet Archive snapshot and OpenTimestamps proof arrive after midnight UTC; a second verifier run the next day checks those too.
User: Send the lease at https://files.example.com/lease.pdf to Pat Lee (pat@example.com) for signature.
Agent -> send_document { file_url, title: "Lease", signers: [{ name: "Pat Lee", email: "pat@example.com" }] } Signathing -> { id: 58, status: "sent", signers: [{ signing_url: "https://signathing.com/sign/..." }], billing: { charged_tenths: 0 } }
Pat gets an email, signs in the browser, and the agent can call get_document or receive a webhook. The certified PDF is digitally sealed and carries a certificate page and a verification code per signature.
MIT for this repository. The Signathing service has its own terms and privacy policy.