---
title: "MCP Tool Reference"
slug: "polarity-mcp-tool-reference"
description: "Reference guide for the three tools exposed by the Polarity MCP server, scoped to authenticated user integration subscriptions."
tags: ["API tools", "developer reference", "integration subscriptions", "list integrations", "lookup", "MCP server", "MCP tools", "tool reference"]
updated: 2026-07-29T18:50:27Z
published: 2026-07-29T18:50:27Z
canonical: "knowledge.threatconnect.com/polarity-mcp-tool-reference"
---

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

# MCP Tool Reference

**The Polarity MCP server exposes three tools to external MCP clients.** Each tool is scoped to the authenticated user's integration subscriptions and executes within the Polarity integration framework.

## `list\_available\_integrations`

**Lists all integrations that are currently running on the Polarity server and accessible to the authenticated user.**

Returns integration metadata, including name, ID, acronym, version, description, supported entity types, and custom entity types.

### Parameters

None. This tool takes no input.

### Example

```plaintext
Available integrations:
- name: VirusTotal
  id: virustotal\_3\_1\_2\_node\_18\_abc123 
  acronym: (VT) 
  version: v3.1.2 
  description: Analyze suspicious files, domains, IPs, and URLs with VirusTotal 
  entity types: IPv4, IPv6, domain, MD5, SHA1, SHA256, URL 
  custom types: None
- name: AbuseIPDB
  id: abuseipdb\_3\_3\_5\_node\_18\_def456 
  acronym: (AIPDB) 
  version: v3.3.5 
  description: Check IP reputation using the AbuseIPDB database 
  entity types: IPv4, IPv6 
  custom types: None
```

### When to Use

Call this tool first when the user does not specify which integration to query, or when you need to discover available entity types before constructing a lookup.

## `do\_integration\_lookup`

**Parses entities from a query string and performs a lookup against a specified integration.**

Returns the integration's enrichment data for all detected entities.

If MCP reducers are enabled, the data is pre-processed to remove noise and reduce token consumption before being returned.

### Parameters

| **Parameter** | **Type** | **Required** | **Description** |
| --- | --- | --- | --- |
| `integration\_id` | string | Yes | The full integration ID as returned by `list\_available\_integrations` (e.g., `virustotal\_3\_1\_2\_node\_18\_abc123`). |
| `query` | string | Yes | Free-form text containing one or more entities to look up. Entity parsing is automatic. You can pass raw IPs, domains, hashes, or a sentence containing them. |

### Lookup Flow

1. The tool validates that `integration\_id` is in the user's allowed integration list.
2. Entity parsing extracts typed entities from the query string (IPs, domains, hashes, CVEs, usernames, and any configured custom types).
3. The integration worker receives the parsed entities and executes the lookup against the third-party data source.
4. If a details reducer is configured for the integration and `mcp\_reducers\_enabled` is `true`, the raw data is passed through the reducer pipeline to trim fields and reduce size.
5. The processed result is returned to the MCP client.

### Example

```json
{ 
  "integration\_id": "virustotal\_3\_1\_2\_node\_18\_abc123", 
  "query": "Check 192.168.1.100 and malware.example.com" 
}
```

### When to Use

Use this tool whenever you need to enrich a specific entity or set of entities using a known integration.

If you do not know which integration to use, call `list\_available\_integrations` first.

## `parse\_entities`

**Parses entity types from provided text without performing a lookup.**

Returns the type and value of each detected entity.

This tool is a utility for pre-processing input when you need to know what Polarity would extract from a block of text before committing to a lookup.

### Parameters

| **Parameter** | **Type** | **Required** | **Description** |
| --- | --- | --- | --- |
| `text` | string | Yes | The text from which to extract entities. |

### Example

```plaintext
Parsed entities:
- Type: IPv4, Value: 192.168.1.100
- Type: domain, Value: malware.example.com
- Type: MD5, Value: d41d8cd98f00b204e9800998ecf8427e
```

> **Note:** Use `do\_integration\_lookup` directly in most cases.
> 
> Reserve `parse\_entities` for workflows where you need to inspect or route entities before deciding which integration to call.
