GSD speaks the Model Context Protocol, so an AI assistant can list your templates, send one for signature, check who has signed, and fetch the completed PDF — without you leaving the conversation. There are two ways to connect, and for almost everyone the first one is right.
The hosted connector (recommended)
Add https://gsdhere.com/mcp as a custom connector in any MCP client.
Nothing to install and no API key to create or store: you log in to GSD, approve a
consent screen listing exactly what the assistant may do, and you can revoke it at any
time from your GSD account.
This works on every plan, including Free. A free account sends five documents a month, then pay-as-you-go credits at $0.05 per page for the first ten pages of a document and $0.01 per page after that. Credits never expire, and signing is always free and unlimited for the people receiving your documents.
One first-time step: your GSD email address must be verified before documents can be sent. Clicking the link in the verification email signs you in and completes it.
The npm package (self-hosted)
If you would rather run the server yourself, @gsdhere/mcp runs locally and
authenticates with a GSD_API_KEY from Settings → API & Webhooks.
API keys require the Business plan. On Free or Pro the key is rejected
with plan_required. If you are on one of those plans, use the hosted connector
above — it needs no key and costs nothing extra.
What the assistant can do
| Tool | What it does | Scope |
|---|---|---|
gsd_list_templates | Lists your reusable templates and their signer roles | templates:read |
gsd_prepare_document | Builds a draft envelope you can review before anything is sent | envelopes:write |
gsd_send_envelope | Sends for signature — previews first, sends only on your explicit confirmation | envelopes:write |
gsd_envelope_status | Reports overall state and each signer's progress | envelopes:read |
gsd_list_envelopes | Lists recent envelopes, newest first | envelopes:read |
gsd_download_signed | Returns the completed PDF and its Certificate of Completion | envelopes:read |
gsd_whoami | Confirms which workspace the connection is bound to | — |
Nothing is sent without you saying so
gsd_send_envelope is deliberately two-step. Called without
confirm, it creates nothing and returns a preview of exactly what would go
out — the document, the signers, the fields. Only a second call carrying the
confirmation_token from that preview actually sends. An assistant cannot
skip the preview, so a misheard instruction costs you a preview and not a document in a
stranger's inbox.
Payments
GSD never takes payment through the connector. A template may optionally request payment from the signer, settled directly to your own Stripe Connect account. Where that is configured, the amount always comes from the price list you set on the template — it can never be supplied by the caller or invented by an assistant. Payment collection requires a paid plan and is off by default.
Authorization
OAuth 2.1 with PKCE (S256) and dynamic client registration, so a client can register itself without anyone issuing credentials by hand.
| Document | URL |
|---|---|
| Server metadata | /.well-known/oauth-authorization-server |
| Protected-resource metadata | /.well-known/oauth-protected-resource |
| MCP discovery | /.well-known/mcp |
Three scopes, and a client should ask only for what it needs:
templates:read, envelopes:read, envelopes:write.
An unauthenticated call to /mcp answers 401 with a
WWW-Authenticate header pointing at the protected-resource document.
What you get back
Every completed document carries a tamper-evident audit trail — a SHA-256 hash of the signed file, signer IP addresses and timestamps — plus a Certificate of Completion. Documents are eSIGN and UETA compliant. How long completed files are retained depends on your plan: 30 days on Free, a year on Pro, seven years on Business.
If something breaks
Errors come back with a machine-readable code and a sentence saying what to do about
it. plan_required means an API key was used on a plan without API access —
switch to the hosted connector. Anything else, support is a real
person.