Connected over MCP, your assistant gets nine tools. Eight act as you, on the same NDAs: the ones you sent, from your account or from your verified email address through the public site, and the ones sent to your verified email address. It does for you what the NDA's page does, on either side. An NDA is named by its uuid, which list-ndas and create-nda return.
The summary
Every tool that answers with an NDA starts from the same summary:
{
"uuid": "…",
"role": "recipient",
"status": "viewed",
"next_action": "recipient_signs",
"sender": { "name": "Ann de Vries", "email": "ann@studio.nl" },
"recipient": { "name": "Sam Okafor", "email": "sam@lumen.co" },
"created_at": "2026-09-21T10:42:00+00:00",
"sent_at": "2026-09-21T10:42:00+00:00",
"url": "https://sendnda.com/ndas/…"
}
- role: your side of the NDA,
senderorrecipient. - status: where it stands, the same for both of you:
sent(nobody opened it),viewed(the recipient opened it),awaiting_sender(the recipient signed, the sender countersigns next) orcompleted.list-ndasfilters on the same values. - next_action: the step the NDA waits for. See The lifecycle.
- url: the NDA's page on Send NDA. It opens for you and the other party, each signed in, and for nobody else, so your assistant can hand it to you.
list-ndas
Lists the NDAs you sent and received, newest first, as summaries. It takes three optional fields. role is sender or recipient, your side of the NDA. status filters on one stage, as the summary names it. limit caps the list between 1 and 100, and is 25 when left out.
get-nda
Takes a uuid and returns the whole NDA: the summary, both parties with their name, email, company name and number and address, whether the recipient signs for themselves (is_consumer), the terms, the audit trail and the agreement itself. A value that isn't filled in is null.
- terms: every term under the name and value
create-ndatakes, so your assistant can pass them back toamend-ndaas they are:disclosing_party,ai_use,purpose(nullfor the default), the four clause switches,durationandconfidentiality_durationin years. Beside them,governing_lawandclauses, every clause that takes effect in words (non-disclosure, and any of non-solicitation, non-circumvent, penalty for a breach and group companies). - audit_trail: when and from which IP address the recipient viewed and signed, and when and from which IP address the sender signed. A step that hasn't happened is
null. - agreement_text: the full agreement as plain text, a line per heading, paragraph and list item, the same text both of you sign. Where a party's own country asks for the agreement in its language, the text in that language follows the English inside it. Your assistant shows it to you before you sign.
- key_clauses_to_approve: where the governing law binds the clauses that weigh on a signer only on a separate approval, their headings; otherwise
null. See Sign an NDA you received. - document_sha256: the SHA-256 hash of that agreement. Your assistant passes it to
sign-nda, so what it signs is the text you read.
When you're the recipient, your assistant's first read counts as opening the NDA, as opening its page does: the sender sees it as viewed, and the signing record notes the token it came from.
create-nda
Creates an NDA with you as the sender and emails you and the recipient a link to it at once. There's no draft step, so your assistant should confirm the details with you first.
Only two fields are required: recipient_name and recipient_email. The recipient fills in their own address before they sign. Everything else has a default:
| Field | Default |
|---|---|
| Your name, company and address | Taken from the last NDA you sent; your name falls back to your profile |
| Your email address | Always your account's |
disclosing_party | sender; or recipient, or both for mutual |
ai_use | business; or strict, or open |
duration | 3 years, from 1 to 5 |
confidentiality_duration | 3 years after it ends, from 1 to 5 |
purpose | Evaluating, and if the parties decide so, pursuing a business relationship |
has_non_solicitation, has_non_circumvent, has_penalty, includes_affiliates | All off. has_penalty holds only where the governing law gives an agreed sum effect. Where it doesn't, it's stored as false before the NDA is written, so an agent that sets it and reads it back gets false and no error. |
It sends at most five NDAs a minute, as the form on the home page does.
Your first NDA has nothing to default from, so it needs your street address, city, postal code and country, the last as a lowercase two-letter code like nl or us. For the United States, Canada, Australia and the United Kingdom it also needs sender_address_state, because that fixes the governing law; for the United Kingdom that's England and Wales, Scotland or Northern Ireland. See Governing law.
The answer is the NDA as get-nda returns it, without the agreement text, so your assistant can show you what went out.
amend-nda
Changes an NDA you sent, until either of you signs. It takes the uuid and any field create-nda takes except your email address, and only the ones that change. notify_recipient emails the recipient what changed; it's on by default once they've opened the NDA. A new recipient_email sends the NDA to that address, and the previous recipient loses access. The answer is the NDA as get-nda returns it, without the agreement text, plus changed, the fields that changed, which is empty when nothing did. See Amend, resend or delete.
set-recipient-details
Fills in your details on an NDA you received, until either of you signs: your address (street, city, postal code and country are required before you can sign), and your company name and number when you sign for a company. For the United States, Canada and Australia, recipient_address_state is required as well, by name or by its standard abbreviation, and it has to be one that country's own registry knows.
recipient_is_consumer is the answer with the largest effect on the text your assistant is about to sign for you: true says you sign for yourself and not for a business or profession, which takes the penalty for a breach and the agreement on how loss is proved out of the agreement and puts in a sentence saving the protections your own law gives a private individual. A company name overrides it to false. Pass only what changes. The answer is the summary plus changed.
sign-nda
Signs the NDA as you, on your side of it: the recipient signs first, the sender countersigns. It takes the uuid, the document_sha256 get-nda returned with the text you read, and consent, which must be true. That states that you read the agreement, accept the Terms of Service and the Privacy Policy, and told your assistant to sign it electronically for you. Where get-nda returned key_clauses_to_approve, it also takes approve_key_clauses, which must be true: your assistant has shown you those clauses by name and you approved them apart from the rest. The server tells your assistant to show you agreement_text first and to sign only when you say so.
If the sender changed the terms after you read them, the hash no longer matches and nothing is signed: your assistant reads the NDA again and shows you the new text. It also refuses without approve_key_clauses where the governing law asks for it, while the recipient's details are missing, while the recipient hasn't signed when you're the sender, and once you've signed. The answer is the summary plus signed_at and document_sha256, the hash of the text you signed. The signing record credits the token your assistant used, as it credits a mail link on the page. The countersignature completes the NDA: both of you get the sealed PDF by email.
resend-nda
Takes a uuid and emails the recipient their link again. Only the sender can, only while the recipient hasn't signed, and at most once in ten minutes. It answers with the address it sent to.
delete-nda
Takes a uuid and deletes an NDA you sent, as the dashboard does, until either of you signs. The agreement and its log are removed, both links stop working, and the recipient isn't told. It can't be undone, so your assistant should confirm with you first.
read-docs
Reads Send NDA's public pages as markdown: these docs, the legal documents, and the home and verify pages. It's the same text as each page's .md version. Without a path it lists every page with its path, title and description; with one, such as /docs/the-agreement/clauses or /legal/terms, it returns that page. Your assistant uses it to quote what a clause means rather than paraphrase it, and to show you the Terms of Service and the Privacy Policy that signing accepts.
The lifecycle
next_action names the step the NDA waits for, and the tool for it:
recipient_details: the recipient fills in their address withset-recipient-details.recipient_signs: the recipient signs withsign-nda.waiting_for_recipient: you sent it and the recipient hasn't signed yet.resend-ndanudges them.sender_countersigns: you sent it, the recipient signed, and you countersign withsign-nda.waiting_for_sender: you signed and the sender hasn't countersigned yet.completed: both signed, and both of you get the sealed PDF by email.
Errors
A uuid you're no party to answers the same as one that doesn't exist, with an error that won't change, so your assistant shouldn't retry it. An NDA from the public site whose sender hasn't confirmed their email address yet belongs to nobody's account, so no tool returns it.