LeaderboardBack to leaderboard — loading return destination
Opening report…
Loading report overview
M
MCP server
server.example.com/mcp
Tools and resources for your MCP client, with a public quality report and detailed checks.
Protocol
MCP 2025-11-25
Server version
1.0.0
Website
server.example.com
Supports
Tools · Resources
Overall score
90 /100
How is this score calculated?
Server metadata
Loading server metadata
Reviewed90/100
Discoverability
Loading discoverability
Reviewed90/100
Protocol
Loading protocol
Reviewed90/100
Tools
Loading tools
Reviewed90/100
MCP Apps
Loading mcp apps
Reviewed90/100
Tool documentation quality
Loading tool documentation quality
Reviewed90/100
LeaderboardBack to leaderboard — loading return destination
I
inkbox
inkbox.ai/mcp/anthropic
Inkbox gives an AI assistant its own communication identity: an email address, a phone number, SMS, and iMessage. Connect Inkbox and the assistant can search and read your mail, draft and send replies, keep threads organized, send and receive text and iMessage conversations, review call history and transcripts, and maintain a contact book and notes that carry context between conversations.
Everything runs against a single identity you choose when you connect, and every action is scoped to that identity's own data. The assistant acts only when you ask it to: Inkbox does not watch your inbox in the background, wake the model, or send anything on its own.
Note: Voice is not part of this connector. It cannot place, answer, or end calls, and it generates no audio or synthetic speech. Calls are read-only here; the assistant can review the history and text transcripts of calls that already took place.
Use Inkbox tools within the connected identity's permissions.
# Inkbox onboarding
Call `inkbox_identity_get` and follow its `onboarding` guidance. Prefer an event-driven task/routine; otherwise use an hourly schedule, then on-demand tools if neither is supported. Use its `event_types` and reusable `task_prompt` to handle incoming communication and reply when appropriate.
Ask once before enabling background replies unless already approved. Reuse existing automation instead of creating overlapping tasks. Confirm the host's task or schedule is active before claiming monitoring works.
If the host supports MCP Events, use identity-bound OAuth and the connected `identity_id`. Grok's optional `webhook_setup` supplies wiring for a webhook routine. Existing webhooks do not establish whether a client task exists.
## Channel readiness
- Check `inkbox_channel_status_get` before reporting a channel unavailable or retrying a failed send.
- Email needs an active mailbox. SMS and voice need an assigned active phone number. Use `inkbox_sms_onboarding_get` for START opt-in and `inkbox_sms_consent_get` before a first send.
- Shared iMessage is recipient-first: use `inkbox_imessage_onboarding_get` and check existing connection readiness. If it reports that connection instructions need to be initialized or refreshed, run `inkbox_imessage_onboarding_setup` once, then read again.
- To start a WhatsApp conversation from a person’s phone, use `inkbox_whatsapp_onboarding_get`. Show the QR code or message link when ready, and ask the person to send the prefilled message. No connection command is needed.
- Review completed or missed calls for follow-up. Incoming-call notifications cannot answer live calls.
Use UI-backed tools only when their descriptors advertise UI; otherwise present structured results. For hourly checks, compare activity timestamps with the last run rather than relying only on unread status.
On `input_required`, resubmit the tool and arguments with its `requestState`
Discoverability
3/6 passed3 of 6 passed50/100
Client listings and public setup information.
mcp.json or server-card.json
Either mcp.json or an MCP Server Card declaring this endpoint passes.
No matching mcp.json manifest or MCP Server Card was found at the checked URLs.
All view resources are readable and use ui:// with a supported MCP Apps HTML MIME type
Tool invocation metadata present
7 tool(s) missing openai/toolInvocation metadata
How to fix: For tools that render a UI resource, add openai/toolInvocation with string fields invoking and invoked (present-tense labels shown while the tool runs and after it finishes, e.g. "Searching…" / "Searched").
How to fix: Use a ui:// URI and text/html;profile=mcp-app. For mcp-use v1, use widgetMetadata.metadata.widgetDescription; for v2, use the bound tool's view.description. The current description check reads _meta.ui.widgetDescription or _meta["openai/widgetDescription"] on resource contents or linked tools, not resource.description. Consequently, v2 view.description alone may leave this warning: report the checker compatibility gap instead of adding unsupported v1 fields or claiming the warning is fixed.
How to fix: For ChatGPT submission, set one exact HTTPS origin such as "https://app.example.com" on every view via _meta.ui.domain (or openai/widgetDomain). Paths are not valid and all views in one app must share the origin.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description69/100
Return safe email, phone, SMS, iMessage, sending-domain, and calling readiness, including iMessage recipients who connected but have not sent their first message yet.
The description explains the capability, when to use it, and what to expect.
Inputs100/100
This tool declares no inputs, so argument descriptions are not needed.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Browse or keyword-search emails visible to the selected Inkbox identity. Returns individual message metadata and snippets, not full bodies or grouped conversations. Browsing is newest-first; search is relevance-ranked and bounded.
The description explains the capability, when to use it, and what to expect.
Inputs79/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cursor
Opaque cursor returned by the preceding page.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Maximum results to return in this page or search.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
unread_only
Only unread inbound emails; ignored when q is supplied.
Clear enough to supply this argument.
q
Plain keywords, with word normalization and common words ignored. No quoted-phrase, Boolean, or field-filter syntax. Selects a relevance-ranked search that ignores unread_only, direction, folder, and cursor and has no pagination. Omit for newest-first browsing.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
direction
Filter received or sent emails; ignored when q is supplied.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
folder
Filter by the email thread's folder; ignored when q is supplied.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Browse conversation summaries across the selected identity's email, SMS, iMessage, WhatsApp, and retained Slack history. Email conversations are mail threads. A merged read is a bounded recent-activity overview, not a complete inbox: it cannot be paged, and has_more only indicates additional activity.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
channel
Restrict to one channel. Omit to merge a bounded page from every channel, newest activity first.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
connection_id
Restrict Slack activity to one workspace connection; omit for all connected workspaces.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
folder
Email thread folder filter; does not filter other channels.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
include_groups
Include iMessage group conversations as well as 1:1 conversations.
Clear enough to supply this argument.
include_assignments
Carry the iMessage assignment's identity and timestamps on each row. Costs an extra read.
Clear enough to supply this argument.
limit
Maximum conversations returned. Merged reads consider at most 25 per channel before applying this limit.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
offset
Rows to skip for SMS, iMessage, or WhatsApp. Email and Slack use cursor; merged reads cannot be paged.
Clear enough to supply this argument.
cursor
next_cursor from a previous email or Slack page. Requires that channel; a merged read cannot be paged.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Read a page of messages in one email, SMS, iMessage, WhatsApp, or Slack conversation visible to the selected identity. Email returns thread metadata and oldest-first message summaries; messages_has_more indicates later messages this read cannot page to. SMS, iMessage and WhatsApp timelines are newest-first; reply threads are chronological. Slack defaults to retained history and can read live history, metadata, and pins without changing membership.
Describe the returned information so the agent knows whether it will answer the request.
Inputs71/100
14 of 18 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
channel
Which channel this conversation belongs to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
conversation_id
Conversation ID from a conversation list: UUID for email/SMS/iMessage/WhatsApp, native C/D/G ID for Slack.
Clear enough to supply this argument.
connection_id
Workspace connection ID from a Slack workspace or conversation list; required for Slack and omitted for other channels.
Clear enough to supply this argument.
source
Slack only: archive reads retained messages; live reads current history. Cursors belong to the selected source.
Clear enough to supply this argument.
thread_ts
Slack thread root timestamp from a message read; omit for the conversation timeline. Requires include_messages. Archive threads are oldest-first; live threads preserve Slack's paging order, so newer reply pages may precede older ones.
Clear enough to supply this argument.
include_messages
Slack only: include history with current metadata. False returns metadata and optional pins; thread_ts and cursor require true.
Clear enough to supply this argument.
include_pins
Slack only: include current pinned items with the conversation.
Clear enough to supply this argument.
limit
Maximum messages returned. Increasing limit expands email's oldest-first slice, without pagination. For live Slack threads, limit counts replies; the first page may also include the root.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
offset
Messages to skip in SMS or an ordinary iMessage or WhatsApp conversation. Ignored for email; must be zero for Slack or iMessage/WhatsApp reply threads.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
reply_thread_id
iMessage or WhatsApp thread_id from a message in a conversation read. Returns oldest-first replies with next_cursor; mutually exclusive with reply_thread_message_id and requires offset=0.
Clear enough to supply this argument.
reply_thread_message_id
Any iMessage or WhatsApp message ID from a conversation read to anchor its oldest-first reply thread. Mutually exclusive with reply_thread_id and requires offset=0.
Clear enough to supply this argument.
cursor
next_cursor from the same Slack history source/thread, or an iMessage or WhatsApp reply-thread page. Offset must be zero.
Clear enough to supply this argument.
oneOf › 0 › channel
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 0 › conversation_id
Conversation UUID from a conversation list.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
oneOf › 0 › limit
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 0 › cursor
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 1 › channel
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 1 › conversation_id
Conversation ID from a Slack conversation or message result.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Find saved contacts by name or an email/phone criterion. Returns contact profiles, not correspondence or public agent-directory results. At most one email/phone lookup criterion is accepted; it replaces q, ordering, and pagination with a bounded lookup result.
The description explains the capability, when to use it, and what to expect.
Inputs72/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
q
Optional name or text search; ignored when an email or phone lookup criterion is supplied.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Maximum contacts to return.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
offset
Zero-based result offset.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
order
Stable result ordering.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
email
Exact email address.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
email_contains
Email substring.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
email_domain
Exact email domain.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
phone
Exact phone number.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
phone_contains
Phone substring.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description89/100
Review communication history with one saved contact across the selected identity's email, SMS, iMessage, calls, retained Slack messages, and explicitly selected WhatsApp messages. Slack includes only messages authored by the contact, not the identity's replies. Returns a merged page of metadata or previews, with optional call transcript excerpts.
The description explains the capability, when to use it, and what to expect.
Inputs85/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
contact_id
Contact id from a contact list or lookup.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
channels
Channels to include; omitted includes email, SMS, iMessage, calls, and retained Slack messages authored by the contact. Include whatsapp explicitly to retrieve WhatsApp messages.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
after
Inclusive start timestamp in ISO 8601 format; earlier than before.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
before
Exclusive end timestamp in ISO 8601 format.
Explain what happens when this optional value is omitted.
limit_per_channel
Maximum items from each channel, not the total merged page size.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cursor
Opaque next_cursor from a previous page for this contact and the same filters/order.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Check recipient consent and outbound contact rules before texting someone; never changes consent. Works with no conversation yet, which is the case that matters for a first message. This is a recipient-side preflight, not full send readiness: a send can still be rejected for sender registration, self-send, rate limits, message content, or media. blocked_reason names the consent or rule code a send would return, or null when neither blocks it. With a conversation_id, rules come from that conversation's own sending number; otherwise they come from the connected identity's active number.
The description explains the capability, when to use it, and what to expect.
Inputs96/100
Input documentation gives an agent enough context to populate the arguments.
recipient
Recipient phone number with country code, even when no conversation exists yet.
Clear enough to supply this argument.
conversation_id
Existing conversation with this recipient, by id from a conversation list. Omit it when no conversation exists yet.
{
"type": "object",
"required": [
"conversation_id",
"recipient",
"status",
"ready_to_send",
"updated_at"
],
"properties": {
"status": {
"type": [
"string",
"null"
]
},
"recipient": {
"type": "string"
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"rule_allowed": {
"type": [
"boolean",
"null"
],
"description": "Null when no sending number was supplied, so no rules were evaluated."
},
"ready_to_send": {
"type": "boolean",
"description": "Whether consent and contact rules permit this recipient. Other send gates still apply."
},
"blocked_reason": {
"type": [
"string",
"null"
],
"description": "The consent or contact-rule code blocking this recipient, or null when neither does."
},
"conversation_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"matched_rule_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"consent_required": {
"type": "boolean"
}
},
"additionalProperties": false
}
Original tool metadata
{
"name": "inkbox_sms_consent_get",
"title": "Get SMS consent readiness",
"description": "Check recipient consent and outbound contact rules before texting someone; never changes consent. Works with no conversation yet, which is the case that matters for a first message. This is a recipient-side preflight, not full send readiness: a send can still be rejected for sender registration, self-send, rate limits, message content, or media. blocked_reason names the consent or rule code a send would return, or null when neither blocks it. With a conversation_id, rules come from that conversation's own sending number; otherwise they come from the connected identity's active number.",
"inputSchema": {
"type": "object",
"required": [
"recipient"
],
"properties": {
"recipient": {
"type": "string",
"maxLength": 32,
"minLength": 1,
"description": "Recipient phone number with country code, even when no conversation exists yet."
},
"conversation_id": {
"type": "string",
"format": "uuid",
"description": "Existing conversation with this recipient, by id from a conversation list. Omit it when no conversation exists yet."
}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"required": [
"conversation_id",
"recipient",
"status",
"ready_to_send",
"updated_at"
],
"properties": {
"status": {
"type": [
"string",
"null"
]
},
"recipient": {
"type": "string"
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"rule_allowed": {
"type": [
"boolean",
"null"
],
"description": "Null when no sending number was supplied, so no rules were evaluated."
},
"ready_to_send": {
"type": "boolean",
"description": "Whether consent and contact rules permit this recipient. Other send gates still apply."
},
"blocked_reason": {
"type": [
"string",
"null"
],
"description": "The consent or contact-rule code blocking this recipient, or null when neither does."
},
"conversation_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"matched_rule_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"consent_required": {
"type": "boolean"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Get SMS consent readiness",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Discover visible channels and DMs, including public channels not joined. This is a directory, not an activity inbox. Reading requires membership where applicable. Name matching scans bounded pages; next_cursor indicates remaining results when search_complete is false.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
4 of 5 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
connection_id
Workspace connection ID from a Slack workspace list.
Clear enough to supply this argument.
limit
Maximum entries per page; filtered directory scans may return fewer matches.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
q
Case-insensitive name/ID match. Scans up to five pages; next_cursor indicates remaining results when search_complete is false.
Clear enough to supply this argument.
joined_only
Only list current memberships; false also discovers public channels the agent has not joined.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description73/100
Browse or keyword-search retained messages across the selected identity's workspaces, with optional mention filtering, subject to current access.
The description explains the capability, when to use it, and what to expect.
Inputs53/100
5 of 9 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
q
Plain keywords in retained message text, not Slack search operators. Omit to browse messages with the other filters.
Clear enough to supply this argument.
mentions_only
Only retained messages with an explicit @mention of this identity; excludes plain DMs without an @mention and known system events. This is catch-up, not push notifications.
Clear enough to supply this argument.
connection_id
Connection ID from a Slack workspace list; omit to search all connected workspaces.
Clear enough to supply this argument.
conversation_id
Not provided
Missing description. Explain what this value means and how to supply it.
user_id
Not provided
Missing description. Explain what this value means and how to supply it.
after_ts
Not provided
Missing description. Explain what this value means and how to supply it.
before_ts
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Maximum matching messages per page.
Clear enough to supply this argument.
cursor
Opaque next_cursor from the previous retained-message page with the same filters.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description71/100
Read one message with optional reactions and context (preceding in channels, following in threads), or its exact send/change outcome.
Describe the returned information so the agent knows whether it will answer the request.
Inputs63/100
5 of 8 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
connection_id
Workspace connection ID from a Slack workspace list.
Clear enough to supply this argument.
conversation_id
Not provided
Missing description. Explain what this value means and how to supply it.
message_ts
Not provided
Missing description. Explain what this value means and how to supply it.
thread_ts
Not provided
Missing description. Explain what this value means and how to supply it.
reference
Reference returned by sending text or a file, editing/deleting a message, or changing a reaction. Resolves delayed file-share timestamps without resending. This lookup returns message metadata, not file contents.
Clear enough to supply this argument.
include_reactions
Include the message's current reactions.
Clear enough to supply this argument.
include_permalink
Include a link to the message in Slack when available.
Clear enough to supply this argument.
context_limit
Maximum context messages including the selected message: preceding in channels, following in threads.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description86/100
Find people by name or available email with bounded directory scanning. Results identify workspace participants; next_cursor indicates remaining results when search_complete is false.
The description explains the capability, when to use it, and what to expect.
Inputs63/100
3 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
connection_id
Workspace connection ID from a Slack workspace list.
Clear enough to supply this argument.
limit
Maximum entries per page; filtered directory scans may return fewer matches.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
q
Case-insensitive name/ID match. Scans up to five pages; next_cursor indicates remaining results when search_complete is false.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Send text, one file, or both to a conversation or person, optionally in a thread. Text with a file is its comment, not a second message. File sources: text (64 Ki characters), base64 (256 KiB), or public HTTPS URL (10 MiB). The returned reference identifies the exact send outcome for subsequent lookup. Missing share timestamps may resolve later. Unknown outcomes are not safely retryable.
Describe the returned information so the agent knows whether it will answer the request.
Inputs23/100
4 of 15 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
connection_id
Workspace connection ID from a Slack workspace list.
Clear enough to supply this argument.
conversation_id
Conversation ID from a conversation or message result. Exactly one of conversation_id and user_id is required.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
user_id
User ID from a directory result for a direct message. Mutually exclusive with conversation_id and thread_ts.
Clear enough to supply this argument.
text
Message text, or the accompanying comment when file is supplied. At least one of text or file is required.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
file › anyOf › 0 › filename
Not provided
Missing description. Explain what this value means and how to supply it.
file › anyOf › 0 › source › oneOf › 0 › kind
Not provided
Missing description. Explain what this value means and how to supply it.
file › anyOf › 0 › source › oneOf › 0 › text
Not provided
Missing description. Explain what this value means and how to supply it.
file › anyOf › 0 › source › oneOf › 1 › kind
Not provided
Missing description. Explain what this value means and how to supply it.
file › anyOf › 0 › source › oneOf › 1 › data
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description83/100
Read file metadata or recover a file-upload reference, including a delayed share timestamp. include_content renders images natively and previews text; other files return an authenticated resource for the host reader. Resource reads are bounded to 512 KiB. A host without resource/document support cannot read those documents through this tool.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
Resolve the mismatch between this description and its schema constraints.
connection_id
Workspace connection ID from a Slack workspace list.
Clear enough to supply this argument.
file_id
Native file ID from message or file metadata. Exactly one of file_id and reference is required.
Resolve the mismatch between this description and its schema constraints.
reference
Upload reference returned by sending a file. Resolves upload status and delayed share message_ts without sending again; not a normal message reference.
Clear enough to supply this argument.
include_content
Show supported images natively or a bounded text preview (up to 256 KiB). Other files use an authorized MCP resource (up to 512 KiB), requiring host resource/document support.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Initialize or refresh the shared iMessage connection line for the connected identity and return its connection instructions. Sends no messages; repeating it keeps an eligible line.
Describe the returned information so the agent knows whether it will answer the request.
Inputs100/100
This tool declares no inputs, so argument descriptions are not needed.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Get one call's status and result. Hosted calls include the task brief, the terminal outcome once the call has ended, and any post-call actions still open. Set include_transcript to also return a bounded page of transcript segments.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
call_id
Call to read, by id from a call list.
Clear enough to supply this argument.
include_transcript
Include a page of transcript segments, selected by limit and offset.
Clear enough to supply this argument.
limit
Maximum calls or transcript segments per page; call detail uses this only with include_transcript=true.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
offset
Calls or transcript segments to skip; call detail uses this only with include_transcript=true.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description71/100
Create one organization-wide contact or save a matching suggestion. Saving a suggestion replaces its name and supplied profile fields while keeping omitted non-name fields, existing identifiers, memories, and correspondence.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs3/100
1 of 28 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
contact › preferred_name
Not provided
Missing description. Explain what this value means and how to supply it.
contact › name_prefix
Not provided
Missing description. Explain what this value means and how to supply it.
contact › given_name
Not provided
Missing description. Explain what this value means and how to supply it.
contact › middle_name
Not provided
Missing description. Explain what this value means and how to supply it.
contact › family_name
Not provided
Missing description. Explain what this value means and how to supply it.
contact › name_suffix
Not provided
Missing description. Explain what this value means and how to supply it.
contact › company_name
Not provided
Missing description. Explain what this value means and how to supply it.
contact › job_title
Not provided
Missing description. Explain what this value means and how to supply it.
contact › birthday
Not provided
Missing description. Explain what this value means and how to supply it.
contact › notes
Not provided
Missing description. Explain what this value means and how to supply it.
contact › emails › items › value
Not provided
Missing description. Explain what this value means and how to supply it.
contact › emails › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
contact › emails › items › is_primary
Not provided
Missing description. Explain what this value means and how to supply it.
contact › phones › items › value_e164
Phone number in E.164 format (e.g. '+15551234567').
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
contact › phones › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
contact › phones › items › is_primary
Not provided
Missing description. Explain what this value means and how to supply it.
contact › websites › items › url
Not provided
Missing description. Explain what this value means and how to supply it.
contact › websites › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
contact › dates › items › date
Not provided
Missing description. Explain what this value means and how to supply it.
contact › dates › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
contact › addresses › items › street
Not provided
Missing description. Explain what this value means and how to supply it.
contact › addresses › items › city
Not provided
Missing description. Explain what this value means and how to supply it.
contact › addresses › items › region
Not provided
Missing description. Explain what this value means and how to supply it.
contact › addresses › items › postal
Not provided
Missing description. Explain what this value means and how to supply it.
contact › addresses › items › country
Not provided
Missing description. Explain what this value means and how to supply it.
contact › addresses › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
contact › custom_fields › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
contact › custom_fields › items › value
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Copy and validate one bounded attachment into immutable staging for a later send.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs56/100
5 of 8 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
filename
Attachment filename shown to recipients, including its extension.
Clear enough to supply this argument.
source › oneOf › 0 › kind
Not provided
Missing description. Explain what this value means and how to supply it.
source › oneOf › 0 › data
File bytes encoded as standard base64. The whole MCP request must stay under 1 MiB; use a url source for larger files (at most 25 MiB). CR/LF line wrapping and trailing CR/LF are accepted, but spaces, tabs, data URI prefixes, and URL-safe base64 are not. Required '=' padding must be present. Example encoding: base64.b64encode(file_bytes).decode('ascii').
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
source › oneOf › 0 › content_type
Media type of the decoded file bytes.
Clear enough to supply this argument.
source › oneOf › 1 › kind
Not provided
Missing description. Explain what this value means and how to supply it.
source › oneOf › 1 › url
Public HTTPS URL returning at most 25 MiB.
Clear enough to supply this argument.
source › oneOf › 2 › kind
Not provided
Missing description. Explain what this value means and how to supply it.
source › oneOf › 2 › handle
Opaque handle returned by an App attachment upload.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Validate and stage bounded immutable media without sending it. Accepts inline base64 or an HTTPS URL fetched server-side, as JPEG, PNG, GIF, WebP, MP3, WAV, MP4, PDF, or plain text. The purpose decides the size cap: 600,000 bytes for sms, 10 MiB for inline imessage/whatsapp and imessage URL staging, and 20 MiB for whatsapp HTTPS URL staging. Inline requests must also fit the 1 MiB MCP request limit. SMS/MMS API reference: https://inkbox.ai/docs/api/phone/texts iMessage API reference: https://inkbox.ai/docs/api/imessage. WhatsApp API reference: https://inkbox.ai/docs/api/whatsapp
Describe the returned information so the agent knows whether it will answer the request.
Inputs45/100
5 of 10 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
source_type
Whether the media is supplied inline as base64 or fetched from a URL.
Clear enough to supply this argument.
data
Standard base64 of the media bytes. Required when source_type is base64. CR/LF line wrapping is accepted; spaces, data URI prefixes, and URL-safe base64 are not, and '=' padding must be present. Decodes to at most 600,000 bytes for sms and 10 MiB for inline imessage/whatsapp, and the whole MCP request must stay under 1 MiB. URL staging supports up to 20 MiB for whatsapp.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
content_type
MIME type of the inline media, for example image/png. Required when source_type is base64.
Clear enough to supply this argument.
url
HTTPS URL the server fetches the media from. Must be publicly reachable without credentials and return an accepted media type within the size limit. Required when source_type is url.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
purpose
Channel this media is staged for. Decides the size cap.
Clear enough to supply this argument.
oneOf › 0 › source_type
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 0 › data
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 0 › content_type
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 1 › source_type
Not provided
Missing description. Explain what this value means and how to supply it.
oneOf › 1 › url
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description76/100
Sends email from the connected identity's mailbox to the given recipients, with immutable staged attachments. An optional thread_id continues an existing conversation with custom To/cc/bcc recipients. Contact permissions still apply.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs57/100
8 of 14 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
subject
Subject line, supplied explicitly for both new and existing conversations.
Clear enough to supply this argument.
body_text
Plain-text body for a new email or the complete reply; replies do not quote the original automatically. On a forward, this is the accompanying note.
Clear enough to supply this argument.
body_html
HTML body for a new email or the complete reply; replies do not quote the original automatically. On a forward, this is the accompanying note.
Clear enough to supply this argument.
reply_to
Optional Reply-To address for recipients' responses; does not change the sender.
Clear enough to supply this argument.
track_opens
Embed an open-tracking pixel in the HTML body. Requires body_html; plain-text-only mail carries no pixel and is rejected. Opens surface as first_opened_at/open_count on the message. Tracking pixels can raise spam scores.
Clear enough to supply this argument.
attachments › items › media_handle
Staged attachment to bind, by handle from a media upload result.
Clear enough to supply this argument.
attachments › items › filename
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_hash
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_type
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_id
Mark this part as an inline image referenced from body_html as cid:<content_id> (e.g. <img src="cid:chart1">). Requires an image/* content_type. Omit for a normal attachment.
Clear enough to supply this argument.
recipients › to
Not provided
Missing description. Explain what this value means and how to supply it.
recipients › cc
Not provided
Missing description. Explain what this value means and how to supply it.
recipients › bcc
Not provided
Missing description. Explain what this value means and how to supply it.
thread_id
Existing conversation identifier: thread_id from an email list/get result or conversation_id from an email conversation result. Continues that thread with the supplied recipient lists; absent for a new conversation.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description76/100
Replies to a visible email from the connected identity's mailbox. Recipients are resolved from the original email and cannot be changed by this tool; approved_recipients confirms them. reply_all answers every visible participant instead of only its sender.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs60/100
9 of 15 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
subject
Subject override; omitted replies and forwards derive it from the original email.
Clear enough to supply this argument.
body_text
Plain-text body for a new email or the complete reply; replies do not quote the original automatically. On a forward, this is the accompanying note.
Clear enough to supply this argument.
body_html
HTML body for a new email or the complete reply; replies do not quote the original automatically. On a forward, this is the accompanying note.
Clear enough to supply this argument.
reply_to
Optional Reply-To address for recipients' responses; does not change the sender.
Clear enough to supply this argument.
track_opens
Embed an open-tracking pixel in the HTML body. Requires body_html; plain-text-only mail carries no pixel and is rejected. Opens surface as first_opened_at/open_count on the message. Tracking pixels can raise spam scores.
Clear enough to supply this argument.
attachments › items › media_handle
Staged attachment to bind, by handle from a media upload result.
Clear enough to supply this argument.
attachments › items › filename
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_hash
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_type
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_id
Mark this part as an inline image referenced from body_html as cid:<content_id> (e.g. <img src="cid:chart1">). Requires an image/* content_type. Omit for a normal attachment.
Clear enough to supply this argument.
message_id
Email being replied to, by id from an email list, a search, or a thread read.
Clear enough to supply this argument.
approved_recipients › to
Not provided
Missing description. Explain what this value means and how to supply it.
approved_recipients › cc
Not provided
Missing description. Explain what this value means and how to supply it.
approved_recipients › bcc
Not provided
Missing description. Explain what this value means and how to supply it.
reply_all
Answer every participant of the original instead of only its sender.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
Forward a visible email from the connected identity's mailbox to the given recipients, quoted inline or wrapped as an attached message.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs63/100
10 of 16 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
subject
Subject override; omitted replies and forwards derive it from the original email.
Clear enough to supply this argument.
body_text
Plain-text body for a new email or the complete reply; replies do not quote the original automatically. On a forward, this is the accompanying note.
Clear enough to supply this argument.
body_html
HTML body for a new email or the complete reply; replies do not quote the original automatically. On a forward, this is the accompanying note.
Clear enough to supply this argument.
reply_to
Optional Reply-To address for recipients' responses; does not change the sender.
Clear enough to supply this argument.
track_opens
Embed an open-tracking pixel in the forward's HTML body. The outgoing forward must have an HTML part: the caller note in wrapped mode, or the caller note or the original message's HTML in inline mode.
Clear enough to supply this argument.
attachments › items › media_handle
Staged attachment to bind, by handle from a media upload result.
Clear enough to supply this argument.
attachments › items › filename
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_hash
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_type
Not provided
Missing description. Explain what this value means and how to supply it.
attachments › items › content_id
Mark this part as an inline image referenced from body_html as cid:<content_id> (e.g. <img src="cid:chart1">). Requires an image/* content_type. Omit for a normal attachment.
Clear enough to supply this argument.
message_id
Email being forwarded, by id from an email list, a search, or a thread read.
Clear enough to supply this argument.
recipients › to
Not provided
Missing description. Explain what this value means and how to supply it.
recipients › cc
Not provided
Missing description. Explain what this value means and how to supply it.
recipients › bcc
Not provided
Missing description. Explain what this value means and how to supply it.
mode
inline quotes the original below the note; wrapped attaches it as a message. Forwarded attachments cannot specify content_id.
Clear enough to supply this argument.
include_original_attachments
Reattach the original attachments in inline mode. Ignored in wrapped mode, where they remain inside the attached original message.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description78/100
Send an SMS or MMS from the selected identity's phone number, including group MMS and previously staged media. This sends the message rather than saving a draft.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs58/100
4 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
to
Recipient phone numbers with country codes. Multiple recipients send a group MMS.
Clear enough to supply this argument.
text
Plain message text. Nonblank text or at least one staged media item is required.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
media › items › handle
Opaque handle from a media staging result for this channel.
Clear enough to supply this argument.
media › items › content_hash
Matching content_hash from the same media staging result.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
not › text
Not provided
Missing description. Explain what this value means and how to supply it.
not › media
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description79/100
Send a 1:1 or dedicated-line group iMessage as the selected identity, with optional staged media or a targeted reply. This sends the message rather than saving a draft. A targeted reply may fall back to an ordinary message according to plain_reply_fallback.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs56/100
8 of 12 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
recipient
One phone number for 1:1, or 2-8 recipients for a new group. Replies to an existing group include its complete expected current recipient list, which may exceed eight, and conversation_id. Numbers include country codes.
Clear enough to supply this argument.
conversation_id
Existing conversation with this recipient, by id from a conversation list. Omit it to let the recipient resolve the conversation.
Clear enough to supply this argument.
reply_to_message_id
Message ID from a conversation read to reply to within conversation_id.
Clear enough to supply this argument.
plain_reply_fallback
For a targeted reply, allow an ordinary message in the same conversation when the target's transport does not support native replies or the target is a text-only inbound reaction notice. False requires a native reply. Rejected or uncertain sends are not resent.
Clear enough to supply this argument.
text
Message text. Nonblank text or one staged media item is required.
Resolve the mismatch between this description and its schema constraints.
send_style
Optional iMessage visual effect; omitted sends without an effect.
Clear enough to supply this argument.
media › items › handle
Opaque handle from a media staging result for this channel.
Clear enough to supply this argument.
media › items › content_hash
Matching content_hash from the same media staging result.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
not › text
Not provided
Missing description. Explain what this value means and how to supply it.
not › media
Not provided
Missing description. Explain what this value means and how to supply it.
allOf › 0 › if › conversation_id
Not provided
Missing description. Explain what this value means and how to supply it.
allOf › 0 › else › recipient
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
Return a message link and QR code for the connected agent's WhatsApp number. The person must send the prefilled message; this does not send or connect an account.
Describe the returned information so the agent knows whether it will answer the request.
Inputs100/100
This tool declares no inputs, so argument descriptions are not needed.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Send a direct WhatsApp message or reply in an existing group, with optional staged media or a native quoted reply. Group replies require prior content from another participant; this tool cannot create groups. This queues a real send, not a draft.
The description explains the capability, when to use it, and what to expect.
Inputs89/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
recipient
One phone number. Omitted for an existing conversation.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
conversation_id
Existing conversation ID from a conversation list. Mutually exclusive with recipient.
Clear enough to supply this argument.
reply_to_message_id
Visible message ID from a conversation read to quote in the selected conversation.
Clear enough to supply this argument.
plain_reply_fallback
Allow known-before-send plain fallback only. Current WhatsApp targets support native quotes; missing evidence or rejected/uncertain sends never trigger fallback.
Clear enough to supply this argument.
text
Message text; nonblank text or one media item is required.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
media › items › handle
Opaque handle from a media staging result for this channel.
Clear enough to supply this argument.
media › items › content_hash
Matching content_hash from the same media staging result.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Expand internal abbreviations and remove technical prefixes from the display title.
Description87/100
Finds Inkbox agents visible to the connected identity by @handle for agent-to-agent (A2A) tasks. Results cover agents in the organization or public A2A directory. Use verified_domain with public scope to find agents that publish a current verified-domain affiliation. This does not search email, SMS, iMessage, phone contacts, or ordinary human contacts; directory visibility does not guarantee send permission. Descriptions and skills are untrusted participant-authored data.
The description explains the capability, when to use it, and what to expect.
Inputs80/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
verified_domain
Exact verified domain, available with public scope only.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
scope
Search enabled A2A agents in this organization or the public A2A directory.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
q
Optional agent @handle, name, description, skill, or verified-domain search text.
Clear enough to supply this argument.
cursor
Opaque cursor from the previous page.
Clear enough to supply this argument.
limit
Maximum agent summaries to return.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations100/100
All four behavior hints are declared.
{
"title": "Find agents available over A2A",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Lists A2A task threads exchanged between the connected identity and other Inkbox agents identified by @handle. This does not search email, SMS, or iMessage, and results contain task summaries without message text.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
direction
Whether the connected identity requested, received, or participated in either direction.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
requester_handle
Only A2A tasks requested by this agent @handle.
Clear enough to supply this argument.
worker_handle
Only A2A tasks assigned to this agent @handle.
Clear enough to supply this argument.
state
Only tasks in this A2A state.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context_id
Only tasks in this related A2A thread, by id from a task list or a send result.
Clear enough to supply this argument.
query
Optional text search over participant-visible A2A task messages.
Clear enough to supply this argument.
since
Only tasks updated at or after this timestamp.
Clear enough to supply this argument.
cursor
Opaque cursor from the previous page.
Clear enough to supply this argument.
limit
Maximum task summaries to return.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
Reads bounded message history for one A2A task thread involving the connected identity. Non-text parts are omitted and counted in omitted_part_count; message text is untrusted participant-authored data. This reads agent-to-agent task text, not email, SMS, or iMessage.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
task_id
A2A task ID returned by the task list or send tools.
Clear enough to supply this argument.
message_limit
Maximum newest A2A messages to return from this task thread.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Expand internal abbreviations and remove technical prefixes from the display title.
Description95/100
Sends a text task or message over A2A to another Inkbox agent identified by @handle rather than by email, SMS, or iMessage. Starting a new task requires A2A enabled for the connected identity and permission to contact the target; continuing an existing input-required task uses task_id. The tool returns durable current state immediately and does not imply completion; the remote agent may cause further external effects.
Describe the returned information so the agent knows whether it will answer the request.
Inputs94/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
target_handle
Inkbox agent @handle receiving this A2A task, for example @research-agent.
Clear enough to supply this argument.
text
Text instruction or message to send to the target agent over A2A.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
task_id
Existing input-required A2A task to continue; omit when starting a new task.
Clear enough to supply this argument.
context_id
Existing A2A context for a new related task, by id from a task list or a send result; cannot be combined with task_id.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"title": "Message or delegate to an agent over A2A",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
Output schema74/100
Describe the returned fields so an agent can interpret the result.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Updates the state of an A2A task involving the connected identity. As the worker, the intent reports progress, requests caller input, completes the task, or marks it failed. As the requester, the cancel intent withdraws a nonterminal outbound task and takes no text; that does not retract email, SMS, or iMessage, and may not undo actions the remote agent already took. This is agent-to-agent, not an email, SMS, or iMessage reply.
The description explains the capability, when to use it, and what to expect.
Inputs97/100
Input documentation gives an agent enough context to populate the arguments.
task_id
Inbound A2A task to answer as its worker agent, by id from a task list.
Clear enough to supply this argument.
intent
How this changes the A2A task state. progress, ask_caller, complete, and fail answer an inbound task as its worker. cancel withdraws an outbound task this identity sent, and takes no text.
Clear enough to supply this argument.
text
Text reply sent to the requesting agent over A2A. Omit when cancelling.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"title": "Reply to or cancel an A2A agent task",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}
Output schema71/100
Describe the returned fields so an agent can interpret the result.
inkbox_call_getinkbox_call_transcript_listinkbox_calls_listinkbox_channel_status_getinkbox_contact_createinkbox_contact_deleteinkbox_contact_getinkbox_contact_lookupinkbox_contact_rules_listinkbox_contact_updateinkbox_contacts_listinkbox_contacts_vcard_export+47 more
inkbox setup, tools, quality score, publishing readiness, and alternatives.
How do I add inkbox to Claude, ChatGPT, or Cursor?
Add inkbox to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://inkbox.ai/mcp/anthropic. This server requires OAuth, so complete the login prompt after you connect.
Is inkbox MCP ready for ChatGPT and Claude?
As of November 7, 2026, inkbox scores 88/100 on Manufact's MCP publishing checklist. The scan does not yet meet ChatGPT publishing checks and meets Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is inkbox's MCP tool documentation?
As of November 7, 2026, inkbox scores 84/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 62 of 62 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What tools does the inkbox MCP server provide?
inkbox lists 59 MCP tools, including inkbox_call_get, inkbox_call_transcript_list, inkbox_calls_list, inkbox_channel_status_get, inkbox_contact_create, inkbox_contact_delete, inkbox_contact_get, inkbox_contact_lookup, inkbox_contact_rules_list, inkbox_contact_update, inkbox_contacts_list, and inkbox_contacts_vcard_export.
What are the best alternatives to inkbox?
As of November 10, 2026, alternatives to inkbox in communication on the Manufact MCP leaderboard include Granola, Cooper Email, Dial, Primitive Email, and Salvy.
Does inkbox MCP require authentication?
inkbox requires authentication. Connect it in Claude, ChatGPT, or Cursor and complete the OAuth login prompt.
How can inkbox improve its MCP documentation?
inkbox_note_create is the lowest-scoring reviewed tool at 58/100. 0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Who develops inkbox?
inkbox is developed by Inkbox. It is listed as partner on the Claude connector directory.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.