Skip to content

Available Tools

The Indigo MCP server exposes 4 tools. Claude (or any MCP client) calls these tools automatically when you ask questions about your data.

Tool overview


query_collection

Query any collection with filters, projections, sorting, and pagination. This is the primary tool for most data access.

Parameters

ParameterTypeRequiredDefaultDescription
collectionStringYessignals, meetings, meetingdata, or taxonomy
filterObjectNo{}MongoDB filter conditions
projectionObjectNoall fieldsFields to include (1) or exclude (0)
sortObjectNoSort order: 1 ascending, -1 descending
limitNumberNo20Max documents to return (1–100)

Example

Find pending action items, newest first:

{
collection: "signals",
filter: {
insightType: "action",
"data.status": "pending"
},
sort: { createdAt: -1 },
limit: 10
}

aggregate_collection

Run a MongoDB aggregation pipeline for complex analytics — grouping, counting, cross-collection lookups, and computed fields. Tenancy filters are injected automatically.

Parameters

ParameterTypeRequiredDescription
collectionStringYessignals, meetings, meetingdata, or taxonomy
pipelineObject[]YesArray of aggregation stages

Supported stages

StageDescription
$matchFilter documents
$groupGroup by field(s) and compute aggregates
$sortSort results
$projectReshape documents, include/exclude fields
$lookupJoin with another collection
$unwindFlatten arrays into separate documents
$limitCap result count
$skipSkip N documents
$countCount matching documents
$addFieldsAdd computed fields

Example

Count signals by type from the last 30 days:

{
collection: "signals",
pipeline: [
{
$match: {
createdAt: {
$gte: { $date: "2025-01-01T00:00:00Z" }
}
}
},
{
$group: {
_id: "$insightType",
count: { $sum: 1 }
}
},
{ $sort: { count: -1 } }
]
}

list_collections

Returns metadata about all available collections, including document counts visible to your account.

Parameters

None.

Response

[
{ name: "signals", description: "...", count: 342 },
{ name: "meetings", description: "...", count: 87 },
{ name: "meetingdata", description: "...", count: 64 },
{ name: "taxonomy", description: "...", count: 156 }
]

collection_info

Returns detailed schema documentation for a specific collection — field types, relationships, and example queries.

Parameters

ParameterTypeRequiredDescription
collectionStringYessignals, meetings, meetingdata, or taxonomy

Response

Returns a markdown-formatted schema document including field definitions, type-specific structures, access control patterns, and example queries. This is what Claude uses to understand how to query your data.


When to use which tool

ScenarioTool
Find specific records by criteriaquery_collection
Count, group, or aggregate dataaggregate_collection
Join data across collectionsaggregate_collection with $lookup
Simple list with filters and sortingquery_collection
Check what data is availablelist_collections
Understand a collection’s schemacollection_info