Skip to main content
Glama
This connector has been deprecated

Replaced by io.github.no-fait/infinite-audience

Get Saved Integration Segment Build

get_saved_integration_segment_build
Read-onlyIdempotent

Check a saved-match segment materialization by materialization_id after build_saved_integration_segment. Returns aggregate progress/status and the durable segment ID once complete; it does not start another build. Requires 'discovery' scope.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "materialization_id": "<materialization_id>"
    },
    "name": "get_saved_integration_segment_build"
  }
}

Input Schema

NameRequiredDescriptionDefault
materialization_idYesMaterialization ID returned by build_saved_integration_segment

Output Schema

NameRequiredDescriptionDefault
modeYes
statusYes
previewYes
guidanceNoInterpretation or recovery guidance for this result
count_unitNo
page_countNoNumber of objects on this page, not the organization total
count_stateNoUnknown means no count; available does not guarantee freshness. Recount for a current value.
failure_codeYes
next_actionsNoSuggested next calls using returned IDs and available scopes. Not executed and not user consent.
collection_idYes
identity_countYes
failure_messageYes
population_inputNoPopulation input used for the preview; IDs refer to their current saved definitions
target_segment_idYes
materialization_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "collection_id": {
      +      "type": "string"
      +    },
      +    "count_state": {
      +      "description": "Unknown means no count; available does not guarantee freshness. Recount for a current value.",
      +      "enum": [
      +        "unknown",
      +        "available"
      +      ],
      +      "type": "string"
      +    },
      +    "count_unit": {
      +      "const": "records",
      +      "type": "string"
      +    },
      +    "failure_code": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "failure_message": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "guidance": {
      +      "description": "Interpretation or recovery guidance for this result",
      +      "type": "string"
      +    },
      +    "identity_count": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "materialization_id": {
      +      "type": "string"
      +    },
      +    "mode": {
      +      "enum": [
      +        "new_segment",
      +        "add_to_segment"
      +      ],
      +      "type": "string"
      +    },
      +    "next_actions": {
      +      "description": "Suggested next calls using returned IDs and available scopes. Not executed and not user consent.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "arguments": {
      +            "additionalProperties": {},
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "reason": {
      +            "type": "string"
      +          },
      +          "tool": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "tool",
      +          "arguments",
      +          "reason"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "page_count": {
      +      "description": "Number of objects on this page, not the organization total",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "population_input": {
      +      "additionalProperties": {},
      +      "description": "Population input used for the preview; IDs refer to their current saved definitions",
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "preview": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "already_present": {
      +              "type": "number"
      +            },
      +            "duplicate_observations": {
      +              "type": "number"
      +            },
      +            "expired_identities": {
      +              "type": "number"
      +            },
      +            "net_additions": {
      +              "type": "number"
      +            },
      +            "source_observations": {
      +              "type": "number"
      +            },
      +            "suppressed_identities": {
      +              "type": "number"
      +            },
      +            "unique_identities": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "source_observations",
      +            "unique_identities",
      +            "duplicate_observations",
      +            "expired_identities",
      +            "suppressed_identities",
      +            "already_present",
      +            "net_additions"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "status": {
      +      "enum": [
      +        "created",
      +        "processing",
      +        "completed",
      +        "failed"
      +      ],
      +      "type": "string"
      +    },
      +    "target_segment_id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "materialization_id",
      +    "collection_id",
      +    "mode",
      +    "status",
      +    "target_segment_id",
      +    "preview",
      +    "identity_count",
      +    "failure_code",
      +    "failure_message"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / materialization_id / description
      Added value: +"Materialization ID returned by build_saved_integration_segment"
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context: the required 'discovery' scope (an auth prerequisite) and the fact that it returns aggregate progress/status plus a durable segment ID only once complete, implying a non-terminal response while building.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action, followed by return behavior and the exclusion. Every clause carries information: purpose, return contract, non-action, and scope requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be detailed, and the description still summarizes the return contract and the scope prerequisite. The only meaningful gap for a polling-style read tool is the absence of guidance on how often to re-check or what states indicate completion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, and the description's note that materialization_id comes from build_saved_integration_segment duplicates what the schema already says. Baseline 3 applies because the schema fully carries parameter semantics and the description adds no format or validation detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Check a saved-match segment materialization') keyed to an identifier, and explicitly distinguishes it from the sibling that creates the build ('after build_saved_integration_segment'). An agent can tell it apart from build_saved_integration_segment and preview_saved_integration_segment without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear sequencing context ('after build_saved_integration_segment') and a negative constraint ('it does not start another build'), which effectively routes the agent to the build tool for initiation. It stops short of naming an explicit alternative or stating polling cadence, so it is strong but not fully exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources