MCP servers
Notificado has three MCP servers, one per kind of account: firms, affiliates and the Notificado team. Each has its own address and its own tokens.
Three servers
Connect your assistant to the server for your kind of account. A token for one server opens neither of the other two.
| For whom | Address | Where access comes from |
|---|---|---|
| Firms: owners and lawyers | https://www.notificado.co/mcp | OAuth sign-in, or a token from Account → API. |
| Approved members of the referral program | https://www.notificado.co/mcp/afiliados | An affiliate token, created on /afiliados. |
| Notificado team | https://www.notificado.co/mcp/admin | Staff only. Tokens in the internal console. |
A staff token that calls the firms' server is refused with a pointer to its own, /mcp/admin.
Firms: connect a client
Notificado's MCP server is at https://www.notificado.co/mcp. A connected assistant prepares cases and drafts, checks deliveries and downloads evidence; it never sends on its own.
Recommended: Claude Code with sign-in, no token. The first time you use it, Claude Code opens your browser; sign in as the firm's owner or a lawyer and allow the connection. It stays active while you use it and renews itself; it closes after 60 days without use.
claude mcp add --transport http notificado https://www.notificado.co/mcpFor something more durable, such as CI or a tool that runs on its own, use a personal token issued under Account → API. You choose its lifetime: 30, 60, 90, 180 or 365 days, a specific date, or no expiry. A token with no expiry stays active until you revoke it. Authentication guide
Signing in leaves nothing to copy. With a token, replace <token> with the one you issued under Account → API, and never paste it into a chat or a shared file.
claude mcp add --transport http notificado https://www.notificado.co/mcp --header "Authorization: Bearer <token>"{
"mcpServers": {
"notificado": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://www.notificado.co/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <token>"
}
}
}
}Claude Desktop reaches remote servers through mcp-remote, which needs Node.js. Add this to claude_desktop_config.json.
{
"mcpServers": {
"notificado": {
"url": "https://www.notificado.co/mcp",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}In Cursor, add it to ~/.cursor/mcp.json or to the project's .cursor/mcp.json.
Other clients: if yours supports MCP's OAuth authorization, the address is enough, as in Claude Code. If not, it must be able to send a custom Authorization header with the token; consult your client's docs.
To test the connection, ask the assistant to call whoami({}) and then list_resources({}).
How the assistant works
Every token sees the same 5 tools, whatever its scopes. The firm's actions are not separate tools: each sits in a resource and runs through manage_resource, under the same scopes, rules and activity log as in the panel.
| Tool | What it does |
|---|---|
list_resources | The catalog: each resource with its actions and a one-line parameter hint. It shows only what the token may use. |
describe_resource | The full input schemas of one or more resources. |
manage_resource | Runs one action: the resource, the action and its parameters. Under the same rules the action has in the panel and the API. |
docs | The recipes and guides for agents: the index, a search, or one whole document. |
whoami | The firm (orgId), role, scopes, prefix and expiry of the token the assistant is calling with. |
The order is always the same: list_resources to see what there is, describe_resource for the exact parameters, and manage_resource to run. This is how to find a case by radicado:
list_resources({})
describe_resource({ resources: ["cases"] })
manage_resource({
resource: "cases",
action: "caseList",
params: { orgId: "<orgId>", q: "05001310300320260012300" },
})On connecting, the server tells the assistant to call whoami first, which answers the orgId the actions ask for, and then list_resources.
Resources
The 14 resources a customer token can ever be shown. Each token sees only those its scopes open; list_resources gives each one's actions, described in English, which is what the assistant reads.
| Resource | What it holds |
|---|---|
cases | The firm's cases: search by radicado, cliente, juzgado or party; register, correct, archive and reopen. |
parties | A case's parties and their saved addresses, with where each came from. Saving an address is not the art. 8 sworn statement: the lawyer makes that on each send. |
uploads | Upload a PDF, PNG or JPEG: a signed URL for the PUT, then the confirmation, which checks the type and records the SHA-256. The bytes never travel in a call. Linked files (too large to attach, sent as a download link) use the same resource: check access, upload, read the scan status and discard. |
imports | Import a CSV of cases and drafts: upload the file, see what each row became, download the failed rows and follow the batch sends. An import never creates recipients or sends. |
notifications | Notifications and their drafts: list, read each recipient's timeline, draft, attach, check an address, discard, see bounces, export to Excel, the credit balance and verifying a constancia. |
sends | Request a send and follow the requests. sendNotification never sends: it waits for a lawyer's confirmation in the panel, within 24 hours. |
memorials | The memorial for the juzgado: whether it can be generated yet, the DOCX and PDF draft, and its download. Nothing is filed: a lawyer reviews, signs and files it. |
court-outcomes | What the juzgado decided about a notification (accepted, rejected, nulidad): read it and record it. It is not evidence. |
templates | The firm's message templates, with merge fields. The art. 8 statements are always appended and no template replaces them. |
evidence | The signed constancia PDF and the evidence .zip package. Each download is recorded. |
deadlines | The computed terms per recipient (surtida, term start and end) and the juzgado closures they skip. An estimate: the judge decides. |
billing | The firm's credit statement and electronic invoices, with their download, which is recorded. An agent does not buy credits. |
activity | Who in the firm did what, newest first: drafts, sworn statements, sends, confirmations, downloads, members and tokens. |
webhooks | The firm's outbound webhooks: register, change, test, rotate the secret, delete and read the delivery log. Owner tokens only. |
Scopes
| Scope | What it allows |
|---|---|
cases:read | Read cases List the firm's cases (procesos) and their parties. |
cases:write | Register cases and upload documents Create and edit cases and parties; upload PDF, PNG or JPEG. |
notifications:read | Follow notifications Each recipient's status, their evidence timeline, the credit balance and constancia verification. |
notifications:write | Prepare notifications Create drafts, attach documents and request the send, which you confirm. |
evidence:read | Download evidence The signed constancia and the evidence package. Every download is logged. |
deadlines:read | Read deadlines Computed terms per recipient, on the Colombian court calendar. |
billing:read | Credits and invoices Read the firm’s credit statement and electronic invoices, and download an invoice. |
activity:read | Firm activity Read who drafted, swore, sent, confirmed or downloaded, and every member and token change. |
webhooks:manage | Firm webhooks Register, test and manage the endpoints that receive every send, delivery, bounce, acknowledgement and constancia, signed. |
No scope allows adding or removing recipients, confirming a send, buying credits, or entering the staff console.
Confirm before send
An assistant prepares everything, but never sends on its own
- The assistant prepares. It registers the case, uploads the documents and creates the draft. Nothing is sent and no credit is used.
- You add the recipients. Adding a recipient is your sworn statement about where the address came from (art. 8, inciso 2). Only you make it, in the panel.
- The assistant requests the send. It gets a confirmation link, valid for 24 hours, and hands it to you.
- You confirm. In the panel, signed in. Only then is the message frozen, timestamped and sent.
manage_resource({
resource: "sends",
action: "sendNotification",
params: { orgId: "<orgId>", notificationId: "<id>", confirm: true },
})
// → { status: "awaiting_confirmation", confirmUrl, expiresAt }A lawyer of the firm sees the pending requests in the panel and confirms each one, signed in. What nobody confirms within 24 hours expires: nothing is sent and no credit is used.
The same action in the HTTP API: sendNotification
Limits
120 reads and 20 writes a minute per person, across all their tokens. Over the limit the answer is HTTP 429 with retry-after. All limits
Affiliates
An approved affiliate connects an assistant to their own program account at https://www.notificado.co/mcp/afiliados. The assistant sees only that account: never a firm, its cases or another affiliate's account.
The token is created on /afiliados, section Agent access (MCP and API), with a name and its scopes; it is shown once. It is revoked there too.
No OAuth sign-in: always a token. The assistant sees the same five tools as on the firms' server, and the account's actions sit behind three resources: account, statements, invoice-filing. Its recipes are at docs://affiliate/.
claude mcp add --transport http notificado-afiliados https://www.notificado.co/mcp/afiliados --header "Authorization: Bearer <token>"{
"mcpServers": {
"notificado-afiliados": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://www.notificado.co/mcp/afiliados",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <token>"
}
}
}
}| Scope | What it allows |
|---|---|
affiliate:read | Read the account. Read the summary, the referral link, the verification status, the statements and the ledger, and download the support document. Each download is recorded. |
affiliate:invoices | Submit invoices. Upload a statement's electronic invoice and submit it. The invoice waits for the affiliate's confirmation. |
An invoice an agent submits is not taken yet: it waits on /afiliados, under Invoices sent by an agent, until the affiliate confirms or rejects it. No scope can confirm.
Always in person, never by an agent: applying and accepting the terms, the identity and tax verification, the payout account, and creating or revoking tokens.
The same over HTTP at https://www.notificado.co/v1/afiliados, with the same token.
Notificado team
https://www.notificado.co/mcp/admin is for Notificado staff only, with tokens issued in the internal console. A firm or affiliate token opens nothing there. Every write by a staff agent waits for a person on the team to confirm it.
Recipes for agents
The same instructions the MCP server gives AI assistants through the docs tool. They are in English, because models follow them best that way.
docs({ uri: "docs://recipes/send-a-batch" })- Send an art. 8 notification (Ley 2213)
docs://recipes/send-an-article-8-notification - Send a correo with constancia
docs://recipes/send-a-correo-con-constancia - Check a notification's status
docs://recipes/check-a-notification-status - Download evidence for an expert witness
docs://recipes/download-evidence-for-a-perito - Verify a constancia
docs://recipes/verify-a-constancia - Find a case by radicado
docs://recipes/find-a-case-by-radicado - Top up credits
docs://recipes/top-up-credits - What counts as delivered
docs://recipes/what-counts-as-delivered - Set up a webhook
docs://recipes/set-up-a-webhook - Import a CSV batch
docs://recipes/import-a-csv-batch - Send a batch
docs://recipes/send-a-batch - Send outside court hours
docs://recipes/send-outside-court-hours - Confirm pending sends
docs://recipes/confirm-pending-sends - Draft a memorial
docs://recipes/draft-a-memorial - Track deadlines
docs://recipes/track-deadlines - Manage message templates
docs://recipes/manage-message-templates - Report a court outcome
docs://recipes/report-a-court-outcome - Manage the address book
docs://recipes/manage-the-address-book - Correct a case
docs://recipes/correct-a-case - Download an invoice
docs://recipes/download-an-invoice - Handle a bounce
docs://recipes/handle-a-bounce