helpwise-mcp
Registry code: 25ccaf1b27af1fb7
Tools for Helpwise, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes Helpwise data. Free plan: 100 tool calls per month. Run helpwise_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with their OK, run helpwise_request_feature to record the request. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run helpwise_upgrade; it returns a Stripe Checkout link for the user to open.…
- endpoint
- https://helpwise.usefulapi.io/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is helpwise-mcp live?
- Yes — it answered the hub's last check (checked 11h ago). It answered 100% of checks over the last 30 days.
- Is helpwise-mcp free to use?
- No — it asks for a key or a login before it will serve.
- What tools does helpwise-mcp have?
- 21 tools: helpwise_list_tags, helpwise_search_contacts, helpwise_get_tag, helpwise_get_current_user, helpwise_list_contacts, helpwise_list_inboxes, helpwise_reopen_conversations, helpwise_list_conversations, ….
- Is helpwise-mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 21 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
helpwise_list_tags auth-required never probed
All tags (id, name, colour, parent, inbox). Use the ids with helpwise_apply_tags. GET /tags.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 lineshelpwise_search_contacts auth-required never probed
Search contacts by a name, email or phone term. Page with limit and offset. GET /contacts/search.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "term" ], "properties": { "term": { "type": "string", "maxLength": 200, "minLength": 1, "description": "Search term (name, email or phone)." }, "limit": { "type": "integer", "maximum": 100, "description": "Results per page, 1-100 (default 25).", "exclusiveMinimum": 0 }, "offset": { "type": "integer", "maximum": 10000000, "minimum": 0, "description": "How many results to skip (default 0). Pass the previous reply's next_offset." } } }arguments 27 lineshelpwise_get_tag auth-required never probed
One tag by id. GET /tags/{id}.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "tag_id" ], "properties": { "tag_id": { "type": "integer", "maximum": 9007199254740991, "description": "Helpwise tag id.", "exclusiveMinimum": 0 } } }arguments 15 lineshelpwise_get_current_user auth-required 11h ago
The Helpwise user the API key belongs to (name, email, id). POST /users/me (V0).
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 lineshelpwise_list_contacts auth-required 11h ago
List contacts (name, company, job title, emails, phones, id). Page with limit and offset. GET /contacts.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "limit": { "type": "integer", "maximum": 100, "description": "Results per page, 1-100 (default 25).", "exclusiveMinimum": 0 }, "offset": { "type": "integer", "maximum": 10000000, "minimum": 0, "description": "How many results to skip (default 0). Pass the previous reply's next_offset." } } }arguments 18 lineshelpwise_list_inboxes auth-required 11h ago
List the account's inboxes (mailboxes) with id, name, address and type. Use the ids in the other tools. POST /mailboxes/list (V0).
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "page": { "type": "integer", "maximum": 100000, "description": "Page number, from 1 (default 1).", "exclusiveMinimum": 0 }, "limit": { "type": "integer", "maximum": 100, "description": "Results per page, 1-100 (default 25).", "exclusiveMinimum": 0 } } }arguments 18 lineshelpwise_reopen_conversations auth-required never probed
WRITE: move up to 25 conversations back to the inbox (reopen closed ones). Nothing is sent to customers. PUT /conversations/action/moveToInbox.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "conversation_ids" ], "properties": { "conversation_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 25, "minItems": 1, "description": "Conversation (thread) ids to reopen (1-25)." } } }arguments 20 lineshelpwise_list_conversations auth-required never probed
List conversations (threads) of one or more inboxes, newest first, with subject, snippet, tags, assignee, read/starred/closed flags and contact. Pick the folder with `folder` (default: all). Page with `next_page_token`. Inbox ids come from helpwise_list_inboxes. GET /conversations.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "inbox_ids" ], "properties": { "limit": { "type": "integer", "maximum": 100, "description": "Results per page, 1-100 (default 25).", "exclusiveMinimum": 0 }, "folder": { "enum": [ "all", "assigned", "unassigned", "starred", "snoozed", "draft", "sent", "closed", "spam", "trash", "scheduled" ], "type": "string", "description": "Folder: all, assigned, unassigned, starred, snoozed, draft, sent, closed, spam, trash, scheduled." }, "inbox_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 20, "minItems": 1, "description": "Inbox (mailbox) ids to list (1-20)." }, "page_token": { "type": "string", "maxLength": 500, "minLength": 1, "description": "The previous reply's next_page_token." } } }arguments 49 lineshelpwise_get_conversation auth-required never probed
One conversation with its messages, notes, drafts, assignment and contacts. Page long conversations with `page_token` from the previous reply. GET /inboxes/{inbox_id}/conversations/{conversation_id}.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "inbox_id", "conversation_id" ], "properties": { "limit": { "type": "integer", "maximum": 100, "description": "Results per page, 1-100 (default 25).", "exclusiveMinimum": 0 }, "folder": { "enum": [ "all", "assigned", "unassigned", "starred", "snoozed", "draft", "sent", "closed", "spam", "trash", "scheduled" ], "type": "string", "description": "Folder context (optional)." }, "inbox_id": { "type": "integer", "maximum": 9007199254740991, "description": "Inbox (mailbox) id the conversation lives in.", "exclusiveMinimum": 0 }, "page_token": { "type": "string", "maxLength": 500, "minLength": 1, "description": "Page token from the previous reply, for older messages." }, "conversation_id": { "type": "integer", "maximum": 9007199254740991, "description": "Conversation (thread) id.", "exclusiveMinimum": 0 } } }arguments 51 lineshelpwise_get_contact auth-required never probed
One contact with emails, phones, company, custom fields and recent conversations. GET /contacts/{id}.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "contact_id" ], "properties": { "contact_id": { "type": "integer", "maximum": 9007199254740991, "description": "Helpwise contact id.", "exclusiveMinimum": 0 } } }arguments 15 lineshelpwise_get_report auth-required never probed
Overall and team-performance report for a date range: new/closed/assigned conversations (with change vs the previous period), inbound/outbound messages per day, busiest hour/day, average first response, response and resolution time, CSAT and per-agent performance. Optional inbox and tag filters. GET /reports.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "start", "end" ], "properties": { "end": { "type": "string", "description": "End, yyyy-mm-dd or yyyy-mm-dd hh:mm:ss (a date alone means 23:59:59)." }, "start": { "type": "string", "description": "Start, yyyy-mm-dd or yyyy-mm-dd hh:mm:ss (a date alone means 00:00:00)." }, "tag_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 20, "minItems": 1, "description": "Only conversations with these tag ids." }, "inbox_id": { "type": "integer", "maximum": 9007199254740991, "description": "Only this inbox (default: all inboxes).", "exclusiveMinimum": 0 }, "business_hours_only": { "type": "boolean", "description": "Count business hours only (default false)." } } }arguments 39 lineshelpwise_get_tags_report auth-required never probed
Per-tag report for one inbox and a date range: conversations per tag (and share), open conversations, average response, first-response and resolution time. GET /inboxes/{inbox_id}/reports/tags.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "inbox_id", "start", "end" ], "properties": { "end": { "type": "string", "description": "End, yyyy-mm-dd or yyyy-mm-dd hh:mm:ss (a date alone means 23:59:59)." }, "start": { "type": "string", "description": "Start, yyyy-mm-dd or yyyy-mm-dd hh:mm:ss (a date alone means 00:00:00)." }, "tag_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 20, "minItems": 1, "description": "Only these tag ids." }, "inbox_id": { "type": "integer", "maximum": 9007199254740991, "description": "Inbox (mailbox) id.", "exclusiveMinimum": 0 }, "business_hours_only": { "type": "boolean", "description": "Count business hours only (default false)." } } }arguments 40 lineshelpwise_list_users auth-required never probed
List the team members (agents) with access to an inbox: id, name, email. Use the ids with helpwise_assign_conversation. POST /users/list (V0).
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "inbox_id" ], "properties": { "inbox_id": { "type": "integer", "maximum": 9007199254740991, "description": "Inbox (mailbox) id.", "exclusiveMinimum": 0 } } }arguments 15 lineshelpwise_create_contact auth-required never probed
WRITE: create a new contact in Helpwise (name, company, job title, emails, phones, custom fields). Nothing is sent to the person. Creating the same email twice may create a duplicate. POST /contacts.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "firstname" ], "properties": { "emails": { "type": "array", "items": { "type": "string", "pattern": "^[^\\s@<>\",;:\\\\]+@[^\\s@<>\",;:\\\\]+\\.[^\\s@<>\",;:\\\\]+$", "maxLength": 254 }, "maxItems": 10, "minItems": 1, "description": "Email addresses (1-10)." }, "phones": { "type": "array", "items": { "type": "object", "required": [ "phone" ], "properties": { "type": { "type": "string", "maxLength": 10, "description": "Helpwise phone type code, as a string (default \"0\")." }, "phone": { "type": "string", "maxLength": 40, "minLength": 3, "description": "Phone number with country code, e.g. +14155550123." } } }, "maxItems": 10, "description": "Phone numbers (up to 10)." }, "company": { "type": "string", "maxLength": 200, "description": "Company name." }, "lastname": { "type": "string", "maxLength": 200, "description": "Last name." }, "firstname": { "type": "string", "maxLength": 200, "minLength": 1, "description": "First name." }, "job_title": { "type": "string", "maxLength": 200, "description": "Job title." }, "custom_fields": { "type": "array", "items": { "type": "object", "required": [ "id", "value" ], "properties": { "id": { "type": "integer", "maximum": 9007199254740991, "description": "Custom field id (from the Helpwise custom fields settings).", "exclusiveMinimum": 0 }, "name": { "type": "string", "maxLength": 200, "description": "Custom field name (optional)." }, "value": { "type": "string", "maxLength": 2000, "description": "Value to store." } } }, "maxItems": 50, "description": "Custom field values." } } }arguments 95 lineshelpwise_update_contact auth-required never probed
WRITE: change a contact's name, company, job title, emails, phones or custom fields. Helpwise updates with PUT, so this tool first reads the contact and sends the current values together with your changes; a list you pass (emails, phones, custom_fields) REPLACES the old list. Nothing is sent to the person. PUT /contacts/{id}.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "contact_id" ], "properties": { "emails": { "type": "array", "items": { "type": "string", "pattern": "^[^\\s@<>\",;:\\\\]+@[^\\s@<>\",;:\\\\]+\\.[^\\s@<>\",;:\\\\]+$", "maxLength": 254 }, "maxItems": 10, "minItems": 1, "description": "The full list of email addresses (replaces the current list)." }, "phones": { "type": "array", "items": { "type": "object", "required": [ "phone" ], "properties": { "type": { "type": "string", "maxLength": 10, "description": "Helpwise phone type code, as a string (default \"0\")." }, "phone": { "type": "string", "maxLength": 40, "minLength": 3, "description": "Phone number with country code, e.g. +14155550123." } } }, "maxItems": 10, "description": "The full list of phone numbers (replaces the current list)." }, "company": { "type": "string", "maxLength": 200, "description": "New company." }, "lastname": { "type": "string", "maxLength": 200, "description": "New last name." }, "firstname": { "type": "string", "maxLength": 200, "minLength": 1, "description": "New first name." }, "job_title": { "type": "string", "maxLength": 200, "description": "New job title." }, "contact_id": { "type": "integer", "maximum": 9007199254740991, "description": "Helpwise contact id.", "exclusiveMinimum": 0 }, "custom_fields": { "type": "array", "items": { "type": "object", "required": [ "id", "value" ], "properties": { "id": { "type": "integer", "maximum": 9007199254740991, "description": "Custom field id (from the Helpwise custom fields settings).", "exclusiveMinimum": 0 }, "name": { "type": "string", "maxLength": 200, "description": "Custom field name (optional)." }, "value": { "type": "string", "maxLength": 2000, "description": "Value to store." } } }, "maxItems": 50, "description": "Custom field values to set (replaces the current list)." } } }arguments 101 lineshelpwise_add_note auth-required never probed
WRITE: add an internal note to a conversation. Visible to your Helpwise team only; it is not sent to the customer. Notes cannot be deleted through this API. POST /notes/add (V0).
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "inbox_id", "conversation_id", "message" ], "properties": { "message": { "type": "string", "maxLength": 10000, "minLength": 1, "description": "The note text." }, "inbox_id": { "type": "integer", "maximum": 9007199254740991, "description": "Inbox (mailbox) id of the conversation.", "exclusiveMinimum": 0 }, "conversation_id": { "type": "integer", "maximum": 9007199254740991, "description": "Conversation (thread) id.", "exclusiveMinimum": 0 } } }arguments 29 lineshelpwise_assign_conversation auth-required never probed
WRITE: assign a conversation to a team member (user id from helpwise_list_users), or pass assigned_to 0 to unassign it. The assignee may be notified by Helpwise. POST /threads/assign (V0).
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "inbox_id", "conversation_id", "assigned_to" ], "properties": { "inbox_id": { "type": "integer", "maximum": 9007199254740991, "description": "Inbox (mailbox) id of the conversation.", "exclusiveMinimum": 0 }, "assigned_to": { "type": "integer", "maximum": 9007199254740991, "minimum": 0, "description": "User id to assign to, or 0 to unassign." }, "conversation_id": { "type": "integer", "maximum": 9007199254740991, "description": "Conversation (thread) id.", "exclusiveMinimum": 0 } } }arguments 29 lineshelpwise_close_conversations auth-required never probed
WRITE: close up to 25 conversations (mark them done). They can be reopened with helpwise_reopen_conversations. Nothing is sent to customers. PUT /conversations/action/close.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "conversation_ids" ], "properties": { "conversation_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 25, "minItems": 1, "description": "Conversation (thread) ids to close (1-25)." } } }arguments 20 lineshelpwise_apply_tags auth-required never probed
WRITE: apply existing tags (ids from helpwise_list_tags) to up to 25 conversations. Tags can drive Helpwise automations. Applying a tag already present changes nothing. POST /tags/apply.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "conversation_ids", "tag_ids" ], "properties": { "tag_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 10, "minItems": 1, "description": "Tag ids to apply (1-10)." }, "conversation_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 25, "minItems": 1, "description": "Conversation (thread) ids (1-25)." } } }arguments 32 lineshelpwise_remove_tags auth-required never probed
WRITE: take tags off up to 25 conversations. The tags themselves are not deleted. POST /tags/remove.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "conversation_ids", "tag_ids" ], "properties": { "tag_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 10, "minItems": 1, "description": "Tag ids to remove from them (1-10)." }, "conversation_ids": { "type": "array", "items": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "maxItems": 25, "minItems": 1, "description": "Conversation (thread) ids (1-25)." } } }arguments 32 lineshelpwise_send_email auth-required never probed
WRITE: SEND A REAL EMAIL from a Helpwise inbox to the given customer address(es). Irreversible; once sent it cannot be recalled. At most 10 recipients in total (to + cc), one message per call; never use it for lists or campaigns. This starts a new message (it is not a reply on an existing conversation). The body is plain text (blank line = new paragraph); it is sent as HTML. POST /emails/send_mail (V0).
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "inbox_id", "to", "subject", "body" ], "properties": { "cc": { "type": "array", "items": { "type": "string", "pattern": "^[^\\s@<>\",;:\\\\]+@[^\\s@<>\",;:\\\\]+\\.[^\\s@<>\",;:\\\\]+$", "maxLength": 254 }, "maxItems": 9, "description": "Cc addresses." }, "to": { "type": "array", "items": { "type": "string", "pattern": "^[^\\s@<>\",;:\\\\]+@[^\\s@<>\",;:\\\\]+\\.[^\\s@<>\",;:\\\\]+$", "maxLength": 254 }, "maxItems": 10, "minItems": 1, "description": "Recipient addresses (1-10 with cc together)." }, "body": { "type": "string", "maxLength": 50000, "minLength": 1, "description": "Plain-text message body." }, "subject": { "type": "string", "maxLength": 300, "minLength": 1, "description": "Subject line." }, "inbox_id": { "type": "integer", "maximum": 9007199254740991, "description": "Inbox (mailbox) id to send from (see helpwise_list_inboxes).", "exclusiveMinimum": 0 }, "reply_to": { "type": "string", "pattern": "^[^\\s@<>\",;:\\\\]+@[^\\s@<>\",;:\\\\]+\\.[^\\s@<>\",;:\\\\]+$", "maxLength": 254, "description": "Reply-to address (optional)." } } }arguments 57 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id25ccaf1b27af1fb7.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/25ccaf1b27af1fb7/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/25ccaf1b27af1fb7?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.
- fleetio.usefulapi.io fleetio-mcp
- runcloud.usefulapi.io runcloud-mcp
- billomat.usefulapi.io billomat-mcp
- teamgate.usefulapi.io teamgate-mcp
- synchroteam.usefulapi.io synchroteam-mcp
- sendlane.usefulapi.io sendlane-mcp
- klippa-dochorizon.usefulapi.io klippa-dochorizon-mcp
- pipeline-crm.usefulapi.io pipeline-crm-mcp
123 more sit on this domain. All of them.