Grasp MCP documentation
Last updated: June 7, 2026
The Grasp MCP server lets AI agents create and query company-research tables, look up company profiles, find contacts, and export results — directly inside your AI client. It implements the Model Context Protocol (MCP), an open standard for connecting AI agents to external data and tools securely.
MCP overview
MCP is built around three components:
- Host — the user-facing AI application (for example, Claude.ai or Claude Code).
- Client — the connector inside the host that speaks the MCP protocol.
- Server — the gateway to external data and tools. The Grasp MCP server is one of these.
Unlike a traditional REST API, MCP is optimized for AI-model-to-data communication: tools are described in natural language, results are returned in agent-friendly shapes, and long-running work is exposed through async jobs the agent can poll.
Using Grasp with Claude
The server works with Claude on Claude Desktop, Claude.ai, and Claude Code. The Grasp plugin, installable from Claude’s plugin directory, bundles the recommended skills and connects to this MCP server.
MCP server endpoint
https://app.grasp-ai.com/mcpAccess requires an authenticated Grasp account with an active subscription and an assigned seat. See authentication and scopes below.
Grasp MCP server features
The server exposes tools across the following areas.
Building tables
Create and modify Grasp research tables of companies, buyers, or transactions.
grasp_setup_conversation- Initialize a table-building conversation scope. Returns a conversation_id that must be passed to grasp_create_table, grasp_import_table, and grasp_compose_table, so related tables land in one Grasp conversation and stay composable.
grasp_create_table- Create an async company, buyer, or transaction table from one search source. Company and buyer tables include latest revenue/assets evidence columns by default. Returns an async job_id.
grasp_import_table- Create a company table from rows parsed from a CSV or Excel sheet. Matches companies by URL/domain and preserves uploaded columns.
grasp_compose_table- Create a table by composing rows from existing Grasp tables. Components can pin versions, filter rows, and map columns.
grasp_update_table- Update an existing table version: workflow changes, view filters/sort/layout, name, or description.
grasp_add_research_column- Add one AI research column to an existing table. Research runs per eligible row.
Inspecting and querying tables
Read table structure and data without ever pulling the full table into the context window.
grasp_list_tables- List the most recently created tables for the current user, with source types, row/column counts, versions, and app links.
grasp_get_table- Get table metadata, exact columns and column types, version details, row count, and a small preview.
grasp_get_table_rows- Fetch paginated rows with structured filters, one sort, and optional visible columns.
grasp_query_table- Run read-only SQL (Apache DataFusion / ANSI-style SELECT) against Grasp tables. Reference tables by slug in double quotes.
grasp_describe_table- Return aggregate value summaries for selected columns across the full table.
Company and contact lookup
grasp_search_companies- Resolve a free-text name/domain query and/or an exact org number (with an optional country filter) into ranked candidate legal entities with company_id. This is a lexical identity search — for building lists or universes, use grasp_create_table instead.
grasp_get_company- Fetch a company profile by company_id — obtained from grasp_search_companies or a table’s company-id column. Returns identity, business, latest financials, employees, compact ownership, and an acquisition-history summary, with optional sections for similar companies and contacts. Full per-deal detail for known buyers is available separately via grasp_get_buyer_deals.
grasp_get_buyer_deals- Fetch the complete deal history for one known buyer by company_id: paginated deal records (newest first) with target identity and financials, deal year / status / stake, deal size, enterprise value, implied equity value, and EV/Sales, EV/EBITDA, deal-size/Sales, and deal-size/EBITDA multiples with derivation types, plus a coverage summary.
grasp_search_contacts- Search people/contact records for known company domains. Returns names, titles, seniority, email/phone where available, and LinkedIn.
grasp_unlock_contact_emails- Reveal work email addresses for specific contacts returned by grasp_search_contacts, identified by person_id.
Contact data returned by grasp_search_contacts (and grasp_unlock_contact_emails) is sourced from Apollo.io (ZenLeads, Inc.) and processed on a legitimate-interests basis. Individuals can opt out or request removal — see our Privacy Policy.
Exporting
grasp_export_table- Export a table or version to Excel. Returns a signed download URL plus an MCP resource_link (grasp://exports/{export_id}) for clients that support resources/read.
Async jobs
Table-building and research tools run asynchronously and return a job_id.
grasp_check_job_status- Poll any async job. When it succeeds, returns table handles, row/column metadata, and a small preview.
grasp_cancel_job- Cancel a pending job before it starts.
Documentation
grasp_read_docs- Read in-server documentation covering schemas, entity types, source filters, data columns, financials, research columns, SQL, exports, progress, contacts, examples, workflows, and common validation errors.
Example use cases
- Build a target list on demand — “Find SaaS companies in the Nordics with revenue over €10M” creates a company table the agent can then filter, enrich, and export.
- Enrich an existing list — Import a CSV of prospects, then add AI research columns to answer custom questions about each company.
- Answer questions over your data — Ask natural-language questions and let the agent run SQL against your tables to compute answers.
- Find the right people — Search contacts for a set of company domains to build an outreach list.
Rate limits
Limits are applied per tool category (default values, configurable):
| Tool category | Tools | Limit |
|---|---|---|
| Table operations | grasp_create_tablegrasp_import_tablegrasp_compose_tablegrasp_update_tablegrasp_add_research_column | 60 / hour |
| Export | grasp_export_table | 120 / hour |
| Lookup | grasp_get_companygrasp_search_contacts | 600 / hour |
| Read | grasp_list_tablesgrasp_get_tablegrasp_get_table_rowsgrasp_query_tablegrasp_describe_table | 3,600 / hour |
| Status | grasp_check_job_statusgrasp_cancel_job | 3,600 / hour |
Transport protocol and endpoint
All requests go to:
https://app.grasp-ai.com/mcp
The server uses JSON-RPC 2.0 over Streamable HTTP (MCP SDK). DNS-rebinding protection is enabled when a public host is configured.
Security
- Access requires an authenticated Grasp account with an active subscription and an assigned seat. Disabled accounts and inactive subscriptions are rejected.
- All authentication attempts are recorded to an audit trail.
- Per-user active-connection limits are enforced.
- As with any MCP setup, take care when connecting multiple MCP servers to the same agent — data the agent reads from one server can influence actions it takes against another.
Authentication
The server supports OAuth 2.0 as the primary authentication method (via WorkOS AuthKit).
- Protected resource metadata:
https://app.grasp-ai.com/.well-known/oauth-protected-resource - Authorization server metadata:
{issuer}/.well-known/oauth-authorization-server - Tokens: JWT bearer tokens passed in the
Authorization: Bearer <token>header, verified against the issuer’s JWKS endpoint with the/mcpresource as the expected audience. - PKCE is supported for clients that need it.
Scopes
| Scope | Grants |
|---|---|
tables:read | Read table metadata and rows |
tables:write | Create and modify tables |
tables:export | Export tables |
research:run | Run research columns |
Related content and support
grasp_read_docs — in-server reference for schemas, sources, SQL, and examples.
Reach out to support@grasp-ai.com in case you have questions.