> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orthogonal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tools

> Reference for all Orthogonal MCP tools

The Orthogonal MCP server provides four tools that AI assistants can use to discover and call APIs.

## search

Find APIs by describing what you need in natural language.

**Parameters:**

| Name     | Type   | Required | Description                                                                |
| -------- | ------ | -------- | -------------------------------------------------------------------------- |
| `prompt` | string | Yes      | What you're looking for (e.g., "enrich lead", "web scraping", "AI search") |
| `limit`  | number | No       | Max results (default: 10, max: 50)                                         |

**Example prompt:** *"Find APIs to enrich leads and get contact info"*

**Response:**

```json theme={null}
{
  "success": true,
  "results": [
    {
      "id": "api-uuid",
      "name": "Apollo.io",
      "slug": "apollo",
      "baseUrl": "https://api.apollo.io",
      "endpoints": [
        {
          "id": "endpoint-uuid",
          "path": "/v1/people/match",
          "method": "POST",
          "description": "Enrich a person by email, name, or LinkedIn URL",
          "price": "0.03",
          "isPayable": true,
          "score": 0.95
        },
        {
          "path": "/v1/organizations/enrich",
          "description": "Enrich a company by domain",
          "price": "0.03"
        }
      ]
    }
  ],
  "count": 2,
  "apisCount": 1
}
```

***

## get\_details

Get full parameter information for a specific endpoint.

**Parameters:**

| Name   | Type   | Required | Description                                                        |
| ------ | ------ | -------- | ------------------------------------------------------------------ |
| `api`  | string | Yes      | API slug from search results (e.g., "apollo", "linkup", "olostep") |
| `path` | string | Yes      | Endpoint path (e.g., "/v1/people/match")                           |

**Example prompt:** *"Show me the parameters for Apollo person enrichment"*

**Response:**

```json theme={null}
{
  "success": true,
  "api": {
    "name": "Apollo.io",
    "slug": "apollo",
    "description": "B2B lead enrichment and contact database"
  },
  "endpoint": {
    "path": "/v1/people/match",
    "method": "POST",
    "description": "Enrich a person by email, name, or LinkedIn URL",
    "price": "$0.03",
    "isPayable": true,
    "bodyParams": [
      {
        "name": "email",
        "type": "string",
        "required": false,
        "description": "Email address to enrich"
      }
    ]
  }
}
```

***

## integrate

Get ready-to-use code snippets for calling an endpoint.

**Parameters:**

| Name     | Type   | Required | Description                                                                    |
| -------- | ------ | -------- | ------------------------------------------------------------------------------ |
| `api`    | string | Yes      | API slug                                                                       |
| `path`   | string | Yes      | Endpoint path                                                                  |
| `format` | string | No       | Code format: `orth-sdk`, `run-api`, `curl`, `x402-fetch`, `x402-python`, `all` |

**Example prompt:** *"Give me curl code to scrape a webpage with Olostep"*

**Response:**

```json theme={null}
{
  "success": true,
  "api": {
    "name": "Olostep",
    "slug": "olostep"
  },
  "endpoint": {
    "path": "/v1/scrapes",
    "method": "POST",
    "price": "$0.005"
  },
  "format": "curl",
  "snippets": {
    "curl": "curl -X POST 'https://api.orthogonal.com/v1/run' \\\n  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"api\": \"olostep\", \"path\": \"/v1/scrapes\", \"body\": {\"url_to_scrape\": \"https://example.com\"}}'"
  }
}
```

***

## use

Execute an API call and return the results.

**Parameters:**

| Name    | Type   | Required | Description             |
| ------- | ------ | -------- | ----------------------- |
| `api`   | string | Yes      | API slug                |
| `path`  | string | Yes      | Endpoint path           |
| `body`  | object | No       | Request body parameters |
| `query` | object | No       | Query string parameters |

**Example prompt:** *"Use LinkUp to search for recent fintech funding news"*

**Response:**

```json theme={null}
{
  "success": true,
  "priceCents": 0.4,
  "data": {
    "results": [
      {
        "title": "Stripe raises $6.5B at $50B valuation",
        "url": "https://...",
        "content": "..."
      }
    ]
  },
  "requestId": "run_1234567890_abc123"
}
```

***

## Multi-API Workflow

AI agents can chain multiple APIs for complete workflows:

```
User: Research Stripe and find contact info for their leadership team

Agent:
1. *search* "AI web search company research" → finds LinkUp
2. *use* linkup /v1/search → gets company info and news
3. *search* "lead enrichment email" → finds Apollo, Hunter
4. *use* apollo /v1/people/match → enriches CEO by email
5. *use* hunter /domain-search → finds more contacts at stripe.com

Result: Complete company research + contacts
```

The AI handles this flow automatically based on your request.
