Skip to content

MCP Reference

Available Tools

The tools exposed by the Parcel MCP server, split into data tools and workspace tools.

The Parcel MCP server exposes data tools that read Parcel’s global datasets, and workspace tools that read and write the data in your own workspace — including shared Views. Connect any MCP client over OAuth (see the client setup guides in this section) and your workspace is pinned automatically, so you never pass a workspace id. Each tool maps to a Parcel API endpoint; the API Reference carries the full arguments, filter grammar, and response shapes.

Data tools

Read-only access to Parcel’s global datasets. There are no data write tools.

ToolWhat it does
search_accountsSearch the global account dataset with filters, a full-text query, and sorting.
get_accountsFetch one or more accounts by id, with optional related records.
search_contactsSearch the global contact dataset with filters, a full-text query, and sorting.
get_contactsFetch one or more contacts by id, with optional related records.
search_projectsSearch the global project dataset with filters, a full-text query, and sorting.
get_projectsFetch one or more projects by id, with optional related records.
search_signalsSearch the global signal dataset with filters, a full-text query, and sorting.
get_signalsFetch one or more signals by id, with optional related records.
search_fieldsDiscover the filterable fields, enum values, and relational sub-fields of any dataset. Call it before composing a search.
get_fieldsFetch one or more field descriptors by key, with every enum value and its meaning.

Permissions and safety

Every tool below is governed by the same rules whether it is called by Spec inside Parcel or by an external client over MCP. Scope is what you grant this connection on the sign-in screen; Availability is what Parcel permits at all. Deleting records and changing workspace membership are not available to AI clients in any client, and no workspace setting can turn them on.

Tools marked Reversible write still require approval inside Spec. Parcel cannot draw its approval card inside a third-party client, so over MCP they rely on the permission you granted plus your client’s own confirmation prompt.

ToolGroupScopeRolePlanRiskRetryAvailability
search_accountsGlobal datadata:readAny memberProReadSafe to retryAvailable
get_accountsGlobal datadata:readAny memberProReadSafe to retryAvailable
search_contactsGlobal datadata:readAny memberProReadSafe to retryAvailable
get_contactsGlobal datadata:readAny memberProReadSafe to retryAvailable
search_projectsGlobal datadata:readAny memberProReadSafe to retryAvailable
get_projectsGlobal datadata:readAny memberProReadSafe to retryAvailable
search_signalsGlobal datadata:readAny memberProReadSafe to retryAvailable
get_signalsGlobal datadata:readAny memberProReadSafe to retryAvailable
search_fieldsField discoverydata:readAny memberProReadSafe to retryAvailable
get_fieldsField discoverydata:readAny memberProReadSafe to retryAvailable
workspace_search_accountsWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
workspace_get_accountWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
workspace_search_projectsWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
workspace_get_projectWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
workspace_search_contactsWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
workspace_get_contactWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
workspace_search_viewsViewsworkspace:readAny memberProReadSafe to retryAvailable
workspace_manage_viewsViewsworkspace:writeAny memberProReversible writeRetry with the same keyAvailable, except its destructive actions
workspace_upsert_accountWorkspace bookworkspace:writeAny memberProReversible writeRetry with the same keyAvailable
workspace_delete_accountWorkspace bookworkspace:writeAny memberProDestructiveSafe to retryNot available to AI clients
workspace_upsert_projectWorkspace bookworkspace:writeAny memberProReversible writeRetry with the same keyAvailable
workspace_delete_projectWorkspace bookworkspace:writeAny memberProDestructiveSafe to retryNot available to AI clients
workspace_upsert_contactWorkspace bookworkspace:writeAny memberProReversible writeRetry with the same keyAvailable
workspace_delete_contactWorkspace bookworkspace:writeAny memberProDestructiveSafe to retryNot available to AI clients
workspace_list_subscriptionsSubscriptionsworkspace:readAny memberProReadSafe to retryAvailable
workspace_upsert_subscriptionSubscriptionsworkspace:writeAny memberProReversible writeRetry with the same keyAvailable
workspace_delete_subscriptionSubscriptionsworkspace:writeAny memberProDestructiveSafe to retryNot available to AI clients
workspace_list_membersMembers and invitationsworkspace:readAny memberProReadSafe to retryAvailable
workspace_update_memberMembers and invitationsworkspace:adminOwner or adminProAdmin / securitySafe to retryNot available to AI clients
workspace_delete_memberMembers and invitationsworkspace:adminOwner or adminProAdmin / securitySafe to retryNot available to AI clients
workspace_create_invitationMembers and invitationsworkspace:adminOwner or adminProAdmin / securityVerify before retryingNot available to AI clients
workspace_list_invitationsMembers and invitationsworkspace:readAny memberProReadSafe to retryAvailable
workspace_delete_invitationMembers and invitationsworkspace:adminOwner or adminProAdmin / securitySafe to retryNot available to AI clients
workspace_get_infoWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
workspace_get_creditsWorkspace bookworkspace:readAny memberProReadSafe to retryAvailable
submit_data_feedbackData feedbackworkspace:writeAny memberProReversible writeVerify before retryingAvailable

Workspace tools

Read and write the data in your own workspace. Workspace tools cover the accounts, projects, and contacts you save and annotate, shared Views, personal Favorites, signal subscriptions, members, invitations, and data-issue reports against the global index.

Read

ToolWhat it does
workspace_search_accountsSearch the accounts you have saved to your workspace, including your ICP tier, status, tags, and Atlas score. Optional view_id runs View-record search instead of the book.
workspace_get_accountFetch one saved account by id, with your annotations and its Atlas score.
workspace_search_projectsSearch the projects you have saved to your workspace, with workspace status, tags, and filters. Optional view_id for View-scoped search.
workspace_get_projectFetch one saved project by id, with your annotations.
workspace_search_contactsSearch the contacts you have saved to your workspace, with workspace status, tags, and filters. Optional view_id for View-scoped search.
workspace_get_contactFetch one saved contact by id, with your annotations.
workspace_search_viewsList or look up shared Views by id, name, dataset, type, or Favorites. Discover a View id before passing view_id to entity search. 0 credits.
workspace_list_subscriptionsList all signal type subscriptions for the workspace, including priority, channels, cadence, recipients, and untriaged signal count per type.
workspace_list_membersList workspace members and their roles.
workspace_list_invitationsList pending workspace invitations.
workspace_get_infoReturn the workspace plan, entitlements, seat usage, and settings. 0-credit read; never throttled.
workspace_get_creditsReturn the 24h rolling credit residual (remaining = ceiling - used). 0-credit read; never throttled.

Write

ToolWhat it does
workspace_upsert_accountSave an account to your workspace, or update its ICP tier, status, notes, and tags. Identify it by id or by domain. Pass inputs (up to 100 records) to write many in one call.
workspace_delete_accountRemove an account and your annotations from your workspace. The global account is untouched. Pass ids (up to 100) to remove many in one call.
workspace_upsert_projectSave a project to your workspace, or update its status, notes, and tags. Identified by project id. Pass inputs (up to 100 records) to write many in one call.
workspace_delete_projectRemove a project from your workspace. The global project is untouched. Pass ids (up to 100) to remove many in one call.
workspace_upsert_contactSave a contact to your workspace, or update its status, notes, and tags. Identify it by id or by email. Pass inputs (up to 100 records) to write many in one call.
workspace_delete_contactRemove a contact from your workspace. The global contact is untouched. Pass ids (up to 100) to remove many in one call.
workspace_manage_viewsMutate Views via action: create, update, delete, add_records, remove_records, favorite, unfavorite. Prefer one batch call (up to 100). favorite also sets Favorite order: send every Favorite in one batch with its position. Dynamic definitions use the View FilterState union, not SearchRequest. Presentation sorting is client metadata and does not control View-record result order. Favorite actions need the OAuth user session. 0 credits.
workspace_upsert_subscriptionSubscribe to a signal type or update its settings (priority, channels, cadence, recipients). Idempotent, keyed by signal_type.
workspace_delete_subscriptionRemove a signal subscription by id. No further alerts are sent for that type. Idempotent.
workspace_update_memberChange a workspace member’s role.
workspace_delete_memberRemove a member from the workspace.
workspace_create_invitationInvite a user by email (single email, seat-limited).
workspace_delete_invitationRevoke a pending workspace invitation.
submit_data_feedbackReport a data issue in the global index. Identify the entity with target_type (project, account, contact, or signal) and target_id, and describe what looks wrong, missing, or stale in body. The report is verified and triaged before any change is made.

Arguments

Search tools take a full-text query, filters, sort, and pagination (limit, offset, search_after). Get tools take an id and an optional include for related records. Write tools take an identifier (id, domain for accounts, or email for contacts) plus the fields to set. submit_data_feedback instead takes target_type, target_id, and a free-text body.

View-scoped entity search (view_id)

workspace_search_accounts, workspace_search_contacts, and workspace_search_projects accept an optional view_id:

  • Without view_id, the tool searches only the existing workspace book (same as the REST entity search routes, which never take view_id).
  • With view_id, the handler dispatches to /workspace/views/{id}/records/search. Saved Dynamic criteria or Static membership form the base; this call’s filters only narrow it for the request.
  • Discover View ids with workspace_search_views. The tool must match the View’s dataset.
  • With view_id, Account/Contact sorts are name or created_at; Project sorts are last_signal_at, name, or created_at. Overlay updated_at and atlas_score sorts remain book-only.

Stored Dynamic definitions use a dataset-discriminated { version, q, fields } union (web filter state). They are not the nested SearchRequest filter objects used at search time. See Workspace Views.

Discovering enum values

For enum-backed filter fields (for example stage, primary_use, signal_type, account_type, icp_tier, and the role relational fields), each search tool’s input schema advertises structure (fields, types, and relational sub-fields) and points to the fields tools for values: call search_fields for a dataset’s full vocabulary, or get_fields for specific keys, each value with a one-line meaning. An agent or client discovers valid values in one 0-credit call, without sampling rows first. Passing a value outside the allowed set returns a 400 (the same shape documented in Errors) rather than an empty result. See Search Fields and Enums for the full reference. View definition enums follow the same vocabularies where the web tables expose them; Project disposition is not part of stored View definitions.