https://mcp.metal.ai/mcp. Your AI client discovers these tools automatically after OAuth sign-in. Use this reference when building integrations, debugging tool calls, or understanding what data comes back.
Tool availability depends on your OAuth scopes and organization settings. If a tool is missing or returns
insufficient scope, your connection may not have been granted that permission.How tool calls work
Metal implements the Model Context Protocol over streamable HTTP. Your client sends JSON-RPC messages to/mcp; each tools/call request names a tool and passes a JSON arguments object.
Tool discovery and schemas
After OAuth sign-in, your MCP client discovers the exact live tool metadata from the server with the MCPtools/list method. That response is the source of truth for each tool’s description, inputSchema, and safety annotations.
Use this page as the human-readable reference for tool behavior, common parameters, scopes, response shapes, and examples. If you are generating code, validating arguments, or debugging a client integration, inspect the live inputSchema from tools/list instead of hardcoding this page’s parameter tables.
When you inspect a call in a client like Cursor, you typically see:
Response format
Every tool returns a text content block containing JSON (or a plain-text error message). Successful responses fall into three shapes: Single record — the JSON object is the payload directly:data and pagination:
data contains grouped documents and excerpts instead of a flat array:
Errors
When a call fails validation or the backend returns an error, the tool result is marked as an error and the text content holds a message:
Rate-limit errors return structured JSON in the error text:
Pagination
Most list and search tools use page mode (paginationMode: "page"). Pass page (default 1) and pageSize (default 20, max 50). Continue while hasMore is true.
get_list_entries uses cursor mode (paginationMode: "cursor"). Pass nextToken from the prior response to fetch the next page.
Field definitions for each resource type are available as MCP resources — see Resources below.
OAuth scopes
Tools require OAuth scopes granted during sign-in:Companies
search_companies
Search companies by name. Uses hybrid semantic + keyword matching on company names.
Scope: read:companies
list_companies
Browse companies with structured filters only — no text query. Use this for sector, tag, team, or location lists.
Scope: read:companies
Same filter parameters as search_companies except query is not accepted. At least one filter is required.
list_company_tags
List company tags so you can pass exact IDs to tagIds filters.
Scope: read:companies
Returns a paginated list of tag objects with
id and name.
get_company
Get a full company profile by ID.
Scope: read:companies
enrichedValues with citations. Field keys match the metal://fields/companies resource.
Custom fields
get_custom_field_definitions
List org-defined custom field definitions for companies and deals. Use this before passing customFilters to search_companies, list_companies, or search_deals, and to interpret values in the custom map returned by company and deal tools.
Scope: read:companies for company fields; read:deals for deal fields.
Each definition includes the field key, display name, type, whether it can be used in
customFilters, and supported operators. String fields support eq, neq, in, and nin; number fields support eq, neq, gt, gte, lt, lte, in, and nin; boolean fields support eq and neq; date fields support range operators gt, gte, lt, and lte.
Documents
search_documents
Search document content or list documents by type and date.
Scope: read:documents
Content search — find text inside documents:
sourceLinkMarkdown from each excerpt when presenting facts.
get_document
Get extracted text from a document by line number.
Scope: read:documents
reachedEof is false, call again with startLine set to nextLine.
People
search_people
Search contacts by name, title, company, or email.
Scope: read:people
get_person
Get a full contact profile by ID.
Scope: read:people
Deals
search_deals
Search or filter deals. query is optional for filter-only searches.
Scope: read:deals
Resolve company names with
search_companies, user names with search_users, and team IDs with list_teams before passing ID filters.
get_deal
Get a full deal record by ID.
Scope: read:deals
Users and teams
get_current_user
Return the authenticated user and connected organization. No arguments.
Scope: read:users
search_users
Search Metal users by name or email. query is required.
Scope: read:users
get_user
Get a user by ID.
Scope: read:users
list_teams
List teams in your organization. Returns team names and IDs for use in deal and company filters.
Scope: read:teams
get_team
Get a team by ID.
Scope: read:teams
Lists
list_lists
List resource lists in your organization.
Scope: read:lists
get_list
Get a list’s metadata and column schema by ID. Does not include row data — use get_list_entries.
Scope: read:lists
get_list_entries
Page through list rows with cursor pagination.
Scope: read:lists
Activities
get_activities
Get meetings, calls, and interactions for a company.
Scope: read:activities
get_activity
Get a single activity by ID, including participants, linked deals, and attached documents.
Scope: read:activities
Screenings and scoring
search_screenings
List or filter CIM screenings. Free-text query is not supported — use structured filters.
Scope: read:screenings
get_screening
Get a screening by ID, including financials, analysis, and validation metadata.
Scope: read:screenings
get_screening_scores
Get score records for a screening.
Scope: read:screenings and read:scores
list_scoring_frameworks
List scoring frameworks visible to your organization.
Scope: read:scores
get_scoring_framework
Get a framework definition by ID. Standard frameworks use IDs like standard:Porter's Five Forces.
Scope: read:scores
Workflows
Workflow tools split into read/inspect, run, and authoring groups.Read and inspect
Scope:read:workflows
view shortcuts for get_workflow_run: overview, steps, outputs, errors, failures, artifacts, citations, full. Do not pass view and fieldPath together.
view shortcuts for get_workflow_run_step: overview, outputs, transcript, toolCalls, artifacts, errors, iteratorItems, hitl, execution, full.
Run workflows
Scope:write:workflow_runs
run_workflow
Start a workflow run. Inspect inputSchema with get_workflow first and supply every required field in input.
get_workflow_run when the run completes to read bounded outputs.
review_workflow_hitl_step
Approve or reject a human-in-the-loop step. Inspect the pending step with get_workflow_run_step using view: "hitl" first.
Authoring
Scope:write:workflows
These tools create and edit draft workflows:
Call
list_workflow_building_options before authoring to discover allowed step types and field shapes. Authoring tool inputs are validated server-side; validation errors return structured JSON in the error text.
Resources
Your client can read MCP resources alongside tools. These are read-only catalogs — not tool calls.Prompts
The server also exposes guided prompts your client can invoke:
Prompts orchestrate multiple tool calls — they do not return data directly.
Tool index
All 44 tools (alphabetical)
All 44 tools (alphabetical)
add_workflow_step · configure_workflow_input · configure_workflow_output · configure_workflow_trigger · create_workflow · delete_workflow_step · get_activities · get_activity · get_company · get_current_user · get_custom_field_definitions · get_deal · get_document · get_list · get_list_entries · get_person · get_scoring_framework · get_screening · get_screening_scores · get_team · get_user · get_workflow · get_workflow_run · get_workflow_run_step · get_workflow_step · list_companies · list_company_tags · list_lists · list_scoring_frameworks · list_teams · list_workflow_building_options · list_workflow_runs · list_workflows · move_workflow_step · review_workflow_hitl_step · run_workflow · search_companies · search_deals · search_documents · search_people · search_screenings · search_users · update_workflow_details · update_workflow_step
