Skip to main content
This page documents the tools exposed by the Metal MCP server at 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 MCP tools/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:
Paginated list — results are wrapped in data and pagination:
Document searchdata 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:
Common error patterns: 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
Returns an enriched company record including 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:
Filter-only listing — recent CIMs without relevance ranking:
Always cite sourceLinkMarkdown from each excerpt when presenting facts.

get_document

Get extracted text from a document by line number. Scope: read:documents
When 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.
The response includes immediate run status and polling guidance. Call 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

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