# Tools reference

Source: https://www.airframe.ai/docs/tools

The seven Airframe MCP tools, their parameters, and what each returns.



Airframe exposes seven tools. All of them are read-only: none creates, changes, or deletes anything. Each is annotated `readOnlyHint: true`, so clients that auto-approve read-only tools can run them without asking each time.

The live tool list your client receives when it connects is authoritative. This page describes it.

| Tool                                                        | Use it for                                                                    | Metered                                  |
| ----------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------- |
| [`search_products`](#search_products)                       | Find products by keyword, category, or department, and resolve names to slugs | Yes                                      |
| [`get_product_details`](#get_product_details)               | Full profiles of 1–5 products                                                 | Yes                                      |
| [`find_experts`](#find_experts)                             | Practitioners with hands-on experience of a product or area                   | Yes                                      |
| [`ask_airframe`](#ask_airframe)                             | Free-form questions answered from the catalog                                 | Yes, with [tighter limits](/docs/limits) |
| [`list_market_reports`](#list_market_reports)               | The market reports your team can read                                         | Yes                                      |
| [`read_market_report_section`](#read_market_report_section) | Exact data from one section of a report                                       | Yes                                      |
| [`get_my_usage`](#get_my_usage)                             | Your team's usage and quotas                                                  | No                                       |

<Callout>
  Product tools take **slugs**, not names. Your assistant resolves a name with `search_products` first. Airframe never guesses: an unknown slug, filter, market, or section is rejected with the closest valid values, so the assistant can retry with one of them.
</Callout>

## search_products [#search_products]

Search the catalog of 7,300+ software products. Returns matching products with descriptions, categories, vendor names, Airframe URLs, and the slug the other tools take.

| Parameter    | Type    | Required | Description                                                                |
| ------------ | ------- | -------- | -------------------------------------------------------------------------- |
| `query`      | string  | Yes      | Descriptive words, such as a product name or "AI SDR tool"                 |
| `category`   | string  | No       | An Airframe category name, such as `Customer Service CRM (CSM)`            |
| `department` | string  | No       | The buying function, such as `Marketing`, `Finance`, or `Customer Support` |
| `limit`      | integer | No       | Results to return. Default 10, maximum 25                                  |

Filters are exact. An unrecognized filter value is rejected with the closest valid values. An empty result means no product matched.

**Example prompt:** "Is there software for SOC 2 automation?"

## get_product_details [#get_product_details]

Airframe's current profile of 1–5 products: vendor firmographics and funding, positioning and ideal customer, features, integrations, pricing, compliance, list price and median estimated annual contract value, review pros and cons, expert-network size, and known alternatives.

| Parameter       | Type      | Required | Description                                                                                                                                                                                 |
| --------------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `product_slugs` | string\[] | Yes      | 1–5 catalog slugs, such as `["zendesk-com-service", "decagon-ai"]`. Pass every product of a comparison in one call                                                                          |
| `sections`      | string\[] | No       | Limit each profile to what the task needs. Any of `overview`, `vendor`, `classification`, `positioning`, `fipc`, `pricing`, `reviews`, `experts`, `alternatives`. Omit for the full profile |

`fipc` covers features, integrations, pricing, and compliance, including the vendor's published pricing tiers. The median estimated contract value under `pricing` is Airframe's modeled estimate, not a quoted price.

**Example prompt:** "What does Zendesk cost, and how does that compare with Intercom?"

## find_experts [#find_experts]

Search Airframe's network of 30,000+ software practitioners by expertise or product experience. Returns anonymized profiles with expertise areas and product experience. Contact Airframe for introductions.

| Parameter | Type    | Required | Description                                                                         |
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
| `query`   | string  | Yes      | The expertise you're looking for                                                    |
| `product` | string  | No       | Restrict to people with hands-on experience of one catalog product, by name or slug |
| `limit`   | integer | No       | Results to return. Default 10, maximum 15                                           |

**Example prompt:** "Find someone who has deployed Gong at enterprise scale."

## ask_airframe [#ask_airframe]

Ask any question about software products, markets, vendors, or technology decisions. Answers are grounded in Airframe's data and cite their sources. Use it for multi-part questions, build-versus-buy analysis, recommendations, market overviews, and writing tasks that depend on company facts.

| Parameter  | Type   | Required | Description                     |
| ---------- | ------ | -------- | ------------------------------- |
| `question` | string | Yes      | The question, in plain language |

Very broad questions get a clarifying prompt. Questions outside Airframe's scope fall back to general knowledge.

**Example prompt:** "Should a 200-person fintech build or buy an eval harness?"

## list_market_reports [#list_market_reports]

List the market reports your team is entitled to and the sections each one has. Returns each market's slug (the only value `read_market_report_section` accepts), its label, and what each section answers. Requires [OAuth sign-in](/docs/authentication).

No parameters.

**Example prompt:** "What market research do we have?"

## read_market_report_section [#read_market_report_section]

Read exact data from one section of an entitled market report, in bounded slices.

| Parameter     | Type      | Required | Description                                                                                                                                                                                                                                                                                        |
| ------------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `market_slug` | string    | Yes      | A slug from `list_market_reports`                                                                                                                                                                                                                                                                  |
| `section`     | string    | Yes      | One of `meta`, `vendors`, `overview`, `firmographic`, `adoption`, `customer-stack`, `company-stacks`, `industry-kpi`, `switches`, `messaging`, `winloss`, `visibility`, `integration`, `partnership`, `verticals`, `recommendation`, `bottomlines`, `rfp`, `best-practices`, `recent-acquisitions` |
| `path`        | string    | No       | A dot path into the section, such as `groups.0.vendors`                                                                                                                                                                                                                                            |
| `keys`        | string\[] | No       | Fields to keep from an object                                                                                                                                                                                                                                                                      |
| `offset`      | integer   | No       | Where to start in a list. Default 0                                                                                                                                                                                                                                                                |
| `limit`       | integer   | No       | Rows to return. Default 25, maximum 200                                                                                                                                                                                                                                                            |

List data returns a `total`; page on while `total` exceeds `offset + limit`. When a slice is too large, the response is an outline of its shape instead of data, so the assistant can narrow it with `path` or `keys`. Unknown markets, sections, paths, and keys are errors, never empty data.

**Example prompt:** "Who are the main vendors in the AI voice agent market, and what are buyers switching from?"

## get_my_usage [#get_my_usage]

Show your team's successful calls this month and any per-minute, per-day, or per-month quotas with their remaining capacity. This tool isn't metered, so it still works after you reach a quota.

No parameters.

**Example prompt:** "How much Airframe have I used this month?"
