Click2Mail MCP by usefulapi
io.usefulapi/click2mailusefulapi.iostreamable-httpv1.0.0Scanned
Read Click2Mail credit, jobs, costs and tracking; upload documents, create and submit mail jobs.
22 tools: 3 can delete or cancel things, 5 change things and 14 only read.
- Reads private data · 5
- Reads text others write · 22
- Can send data out · 1
- No findings
Anlyon alternative
8 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
22 tools
Deletes or cancels 3Claude Code: deny
click2mail_cancel_jobWRITE: cancel a SUBMITTED job.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_cancel_job" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: cancel a SUBMITTED job. The vendor documents this only for jobs paid by invoice and only before processing for mailing has started; otherwise it fails. The mailing is stopped for good, so get the user's explicit go-ahead first; `confirm` must be true. To remove a draft use click2mail_delete_job. POST /molpro/jobs/{id}/cancel.
Annotations the server declares
- title: Cancel submitted job
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
click2mail_delete_jobWRITE: delete a job that has not been submitted (status Editing or PendingProofAcceptence).Reads text others writeNo findings
Why it is in this group
- The name "click2mail_delete_job" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: delete a job that has not been submitted (status Editing or PendingProofAcceptence). Submitted jobs cannot be deleted; use click2mail_cancel_job. POST /molpro/jobs/{id}/delete.
Annotations the server declares
- title: Delete draft job
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
click2mail_submit_jobWRITE, SPENDS MONEY, NOT REVERSIBLE: submit a draft job for printing and USPS mailing.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_submit_job" says "submit": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE, SPENDS MONEY, NOT REVERSIBLE: submit a draft job for printing and USPS mailing. This charges postage and printing to the account (User Credit = prepaid balance, or Invoice) and the physical mail is sent to every recipient. Before calling: read click2mail_get_job_cost and click2mail_get_credit, and get the user's explicit go-ahead for this job and amount. `confirm` must be true. Cancellation is only possible for Invoice jobs, before processing starts. POST /molpro/jobs/{id}/submit.
Annotations the server declares
- title: Submit job (spends money)
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
Changes things 5Claude Code: ask
click2mail_create_address_listWRITE: upload a recipient address list (up to 500 addresses) to the account.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_create_address_list" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: upload a recipient address list (up to 500 addresses) to the account. The list is standardized (CASS) by Click2Mail; poll click2mail_get_address_list until status 3, then use its id in click2mail_create_job. Creates data only; nothing is mailed or charged. POST /molpro/addressLists.
Annotations the server declares
- title: Create address list
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
click2mail_create_jobWRITE: create a mailing job from an uploaded document and an address list.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_create_job" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: create a mailing job from an uploaded document and an address list. The job stays a draft (status Editing): nothing is printed, mailed or charged until click2mail_submit_job. Use the exact option strings from click2mail_get_product_options. Returns the job id. POST /molpro/jobs.
Annotations the server declares
- title: Create job (draft)
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
click2mail_estimate_costEstimate the cost of a mailing from its print options and quantity without creating anything (nothing is charged).Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Estimate the cost of a mailing from its print options and quantity without creating anything (nothing is charged). Use the exact option strings from click2mail_get_product_options. GET /molpro/costEstimate.
Annotations the server declares
- title: Estimate mailing cost
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_request_job_proofWRITE: ask Click2Mail to render a proof (preview PDF) of a draft job.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_request_job_proof" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: ask Click2Mail to render a proof (preview PDF) of a draft job. Free; nothing is mailed or charged. The reply names the proof; it takes a moment to render. POST /molpro/jobs/{id}/proof.
Annotations the server declares
- title: Request job proof
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
click2mail_upload_document_from_urlWRITE: have Click2Mail fetch a PDF (or other supported file) from a public http(s) URL and store it as a document on the account.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "click2mail_upload_document_from_url" says "upload": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it WRITE: have Click2Mail fetch a PDF (or other supported file) from a public http(s) URL and store it as a document on the account. Returns the document id for click2mail_create_job. Creates data only; nothing is mailed or charged. POST /molpro/documents/url.
Annotations the server declares
- title: Upload document from URL
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 14Show 14 read-only tools
click2mail_check_addressesValidate and standardize up to 100 US postal addresses (USPS/CASS correction) before mailing.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "validate": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Validate and standardize up to 100 US postal addresses (USPS/CASS correction) before mailing. Read-only: nothing is saved or sent. POST /molpro/addressCorrection.
Annotations the server declares
- title: Check and correct addresses
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_address_listStatus of an uploaded address list: processing state (3 = CASS-standardized and ready for a job), name and counts.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_get_address_list" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Status of an uploaded address list: processing state (3 = CASS-standardized and ready for a job), name and counts. GET /molpro/addressLists/{id}.
Annotations the server declares
- title: Get address list status
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_address_list_infoDetails of an address list: its addresses with the standardization result of each.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_get_address_list_info" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Details of an address list: its addresses with the standardization result of each. Click2Mail returns 10 addresses by default: page with limit and offset. GET /molpro/addressLists/info.
Annotations the server declares
- title: Get address list details
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_creditThe prepaid credit balance of the Click2Mail account (`balance`) and whether the balance may go negative (`allowNegative`).Reads private dataReads text others writeNo findings
Why it is in this group
- The name "click2mail_get_credit" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "mail": it reads mail.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "mail": it reads inbound email, which other people can write.
Description, as the server wrote it The prepaid credit balance of the Click2Mail account (`balance`) and whether the balance may go negative (`allowNegative`). Check it before submitting a job paid with User Credit. GET /molpro/credit.
Annotations the server declares
- title: Get account credit
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_job_costThe exact cost of a created job (postage, printing, fees) for a payment type.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_get_job_cost" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it The exact cost of a created job (postage, printing, fees) for a payment type. Read it before click2mail_submit_job. GET /molpro/jobs/{id}/cost.
Annotations the server declares
- title: Get job cost
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_job_infoFull details of a job: print options, document, address list, dates, cost and payment.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "click2mail_get_job_info" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "document": it reads documents.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Full details of a job: print options, document, address list, dates, cost and payment. GET /molpro/jobs/info/{id}.
Annotations the server declares
- title: Get job details
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_job_statusStatus of a job: numeric `status` and its `description` (for example 9 = Editing) plus the status URL.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_get_job_status" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "status" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it Status of a job: numeric `status` and its `description` (for example 9 = Editing) plus the status URL. GET /molpro/jobs/{id}.
Annotations the server declares
- title: Get job status
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_job_trackingUSPS tracking for a submitted job: per mail piece barcode, address, status, date and location.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "click2mail_get_job_tracking" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "mail": it reads mail.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "mail": it reads inbound email, which other people can write.
Description, as the server wrote it USPS tracking for a submitted job: per mail piece barcode, address, status, date and location. Tracking updates once a day, so one call per day is enough; nothing is tracked on staging. GET /molpro/jobs/{id}/tracking.
Annotations the server declares
- title: Get job tracking
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_get_product_optionsThe mail products and valid option combinations (document class, layout, production time, envelope, color, paper, print option, mail class) for the account.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "click2mail_get_product_options" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "mail": it reads mail.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "mail": it reads inbound email, which other people can write.
Description, as the server wrote it The mail products and valid option combinations (document class, layout, production time, envelope, color, paper, print option, mail class) for the account. Use the exact strings from this reply in click2mail_create_job and click2mail_estimate_cost. GET /molpro/productOptions.
Annotations the server declares
- title: Get product options
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_list_documentsList the documents uploaded to the account (id, name, class, pages), most recent first.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "click2mail_list_documents" says "list": a word for reading.
What it can reach
- private-dataThe name "click2mail_list_documents" says "list" and "document": it reads documents.
- private-dataThe description's first sentence says "list" and "document": it reads documents.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it List the documents uploaded to the account (id, name, class, pages), most recent first. Use a document id when creating a job. GET /molpro/documents.
Annotations the server declares
- title: List documents
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_list_jobs_by_app_signatureList the jobs that were created with a given `appSignature` (the label an integration puts on its jobs; click2mail_create_job sets it).Reads text others writeNo findings
Why it is in this group
- The name "click2mail_list_jobs_by_app_signature" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it List the jobs that were created with a given `appSignature` (the label an integration puts on its jobs; click2mail_create_job sets it). GET /molpro/jobs/appSignature.
Annotations the server declares
- title: List jobs by app signature
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_list_project_jobsList the mailing jobs of one project (id, status, description).Reads text others writeNo findings
Why it is in this group
- The name "click2mail_list_project_jobs" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it List the mailing jobs of one project (id, status, description). This is how to see the account's jobs: pick a project from click2mail_list_projects. GET /molpro/projects/jobs.
Annotations the server declares
- title: List jobs in a project
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_list_projectsList the account's projects (jobs are grouped by project; jobs without one are grouped by month, e.g.Reads text others writeNo findings
Why it is in this group
- The name "click2mail_list_projects" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it List the account's projects (jobs are grouped by project; jobs without one are grouped by month, e.g. "March 2022"), most recently updated first. Use a project name with click2mail_list_project_jobs. GET /molpro/projects.
Annotations the server declares
- title: List projects
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
click2mail_list_return_addressesThe addresses of one type saved on the account (return addresses, billing, business reply, courtesy reply, EDDM mailer addresses) with their ids; use an id as `return_address_id` w…Reads text others writeNo findings
Why it is in this group
- The name "click2mail_list_return_addresses" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "reply": it reads comments, which other people can write.
Description, as the server wrote it The addresses of one type saved on the account (return addresses, billing, business reply, courtesy reply, EDDM mailer addresses) with their ids; use an id as `return_address_id` when creating a job. GET /molpro/account/addresses.
Annotations the server declares
- title: List saved account addresses
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
110 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.
- Reads private data5
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write22
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- click2mail_cancel_job
- click2mail_check_addresses
- click2mail_create_address_list
- click2mail_create_job
- click2mail_delete_job
- click2mail_estimate_cost
- click2mail_get_address_list
- click2mail_get_address_list_info
- click2mail_get_credit
- click2mail_get_job_cost
- click2mail_get_job_info
- click2mail_get_job_status
- and 10 more
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__click2mail__click2mail_upload_document_from_url"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
No check matched anything in these tool definitions. That is not a safety guarantee.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http click2mail https://click2mail.usefulapi.io/mcpclaude mcp add --transport http click2mail https://click2mail.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__click2mail__click2mail_get_credit",
"mcp__click2mail__click2mail_list_return_addresses",
"mcp__click2mail__click2mail_get_product_options",
"mcp__click2mail__click2mail_list_documents",
"mcp__click2mail__click2mail_get_address_list",
"mcp__click2mail__click2mail_get_address_list_info",
"mcp__click2mail__click2mail_check_addresses",
"mcp__click2mail__click2mail_list_projects",
"mcp__click2mail__click2mail_list_project_jobs",
"mcp__click2mail__click2mail_list_jobs_by_app_signature",
"mcp__click2mail__click2mail_get_job_status",
"mcp__click2mail__click2mail_get_job_info",
"mcp__click2mail__click2mail_get_job_tracking",
"mcp__click2mail__click2mail_get_job_cost"
],
"ask": [
"mcp__click2mail__click2mail_estimate_cost",
"mcp__click2mail__click2mail_create_address_list",
"mcp__click2mail__click2mail_upload_document_from_url",
"mcp__click2mail__click2mail_create_job",
"mcp__click2mail__click2mail_request_job_proof"
],
"deny": [
"mcp__click2mail__click2mail_submit_job",
"mcp__click2mail__click2mail_cancel_job",
"mcp__click2mail__click2mail_delete_job"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as click2mail. Review it before you use it.
Capability tags behind 22 rules
- mcp__click2mail__click2mail_get_credit private-data, untrusted-input
- mcp__click2mail__click2mail_list_return_addresses untrusted-input
- mcp__click2mail__click2mail_get_product_options private-data, untrusted-input
- mcp__click2mail__click2mail_estimate_cost untrusted-input
- mcp__click2mail__click2mail_list_documents private-data, untrusted-input
- mcp__click2mail__click2mail_get_address_list untrusted-input
- mcp__click2mail__click2mail_get_address_list_info untrusted-input
- mcp__click2mail__click2mail_check_addresses untrusted-input
- mcp__click2mail__click2mail_create_address_list untrusted-input
- mcp__click2mail__click2mail_upload_document_from_url untrusted-input, outbound
- mcp__click2mail__click2mail_list_projects untrusted-input
- mcp__click2mail__click2mail_list_project_jobs untrusted-input
- mcp__click2mail__click2mail_list_jobs_by_app_signature untrusted-input
- mcp__click2mail__click2mail_get_job_status untrusted-input
- mcp__click2mail__click2mail_get_job_info private-data, untrusted-input
- mcp__click2mail__click2mail_get_job_tracking private-data, untrusted-input
- mcp__click2mail__click2mail_get_job_cost untrusted-input
- mcp__click2mail__click2mail_create_job untrusted-input
- mcp__click2mail__click2mail_request_job_proof untrusted-input
- mcp__click2mail__click2mail_submit_job untrusted-input
- mcp__click2mail__click2mail_cancel_job untrusted-input
- mcp__click2mail__click2mail_delete_job untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/io.usefulapi/click2mail/verify?hash=6391c7ddbaf74340cd28644beb5a97ecde62357706a57615c6a7bc2046123cff" | jq -e '.changed == false'Pinned hash 6391c7ddbaf7, from Oct 24, 2026, 16:22 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.usefulapi/click2mail/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.usefulapi/click2mail)Source: MCP Registry · repository. Synced Oct 24, 2026, 17:17 UTC.