# Dataminr - Agentic TIP MCP Server
Access Agentic TIP threat intelligence and case management data directly from Claude (or any MCP-compatible client) via the Agentic TIP v3 REST API.
Overview
The Agentic TIP MCP Server exposes your Agentic TIP instance's v3 API as a set of MCP tools over a hosted endpoint. Every Agentic TIP instance exposes POST /api/v3/mcp directly, and any MCP client that supports remote HTTP servers can connect to it.
See the "TIP MCP Server" section of the 8.1 release notes for more information.
Transport
- Protocol: JSON-RPC 2.0 (MCP protocol version
2025-03-26) - Wire format: Single request → single response over
HTTPS POST. Every response is HTTP 200; success/failure is carried in the JSON-RPC envelope, per spec. - Endpoint:
https://<your-instance>/api/v3/mcp
Authentication
Every request must carry an Agentic TIP API token, either as:
Authorization: Bearer <token>, orAuthorization: TC-Token <token>
Generate a token from your Agentic TIP user profile → API Access. The token is a long-lived credential scoped to the issuing user's Agentic TIP permissions.
Tools
Static tools (always available)
| Tool | Description | Required params |
|---|---|---|
tc_resources |
List all available Agentic TIP resource types, each flagged writable: <bool>. |
— |
tc_describe |
Get field names and TQL (ThreatConnect Query Language) syntax for a resource type. Includes a writable flag. |
resource_type |
tc_list |
List resources with TQL filtering, field expansion, sorting, and pagination. | resource_type |
tc_get |
Retrieve a single resource by ID. | resource_type, id |
tc_create |
Create a new resource. | resource_type, body |
tc_update |
Replace an existing resource (full replace semantics; see caveats below). | resource_type, id, body |
tc_delete |
Delete a resource by ID. | resource_type, id |
Tool names (
tc_*,pb_*) and TQL use existing technical identifiers, independent of product branding.
tc_list optional parameters: tql, fields (comma-separated nested expansions, e.g. tags,securityLabels,attributes,associatedGroups), sorting, next_token (pagination cursor), owner, result_limit (1–100, default 25), max_field_length (default 10000, 0 disables truncation), summary (collapses array-valued fields to {"count": N}).
Behavioral notes:
- Nested association/attribute expansions are capped at 1000 rows.
tc_listtotal count is only included on the first page (resultStart0).tc_update: nested-collection body fields use{"data": [...], "mode": "append|replace|delete|singleton"}. Ifmodeis omitted, it defaults toreplace. An empty{"data": []}is translated to an explicit delete. Any such adjustment is reported back in the response'smcpMitigationsarray.
Dynamic tools (per-org, playbook-driven)
In addition to the static tools, one tool is generated per active MCP-triggered playbook in your organization. These are scoped strictly to your org — a token from one organization can never see or invoke another organization's playbook tools. Each tool's description and input schema are derived from the playbook's own description and configured trigger parameters.
Playbook tools dispatch asynchronously: the response is written back once the playbook run completes and its response action fires.
Installing
Point your MCP client directly at the hosted endpoint with your token as a bearer header:
claude mcp add --transport http agentic-tip https://<your-instance>/api/v3/mcp \
--header "Authorization: Bearer <your-api-token>"
Error handling
- Malformed JSON-RPC → standard JSON-RPC
PARSE_ERROR/INVALID_REQUEST/INVALID_PARAMS/METHOD_NOT_FOUNDenvelopes. - A failure calling the underlying v3 API is not a JSON-RPC error — it's returned as a successful
tools/callresult withisError: trueand the upstream HTTP status + message as the content text, so the model can see and react to it.