Skip to main content
Glama

Klaviyo MCP by InsightfulPipe

Klaviyo Data Query

query_data
Read-only

Query Klaviyo data (Step 3 (FINAL) of workflow).

REQUIRED: Complete these steps first using query_contexts:

  1. request='accounts' - Get workspace_id, brand_id AND available_actions

  2. request='actions_details' with actions=['xxxxxx', 'xxxxxx', 'xxxxxx'] - Get detailed body structure for specific action(s) using actions from available_actions

IMPORTANT: Always call step 2 to see the exact body structure before querying.

Rely on info from steps 1-2 to construct the query body. Follow the schema exactly.

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": {
      "body": "<body>"
    },
    "name": "query_data"
  }
}

Input Schema

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered; the description adds real value by disclosing the hard workflow gate (two prior calls required) and that the body must be derived from those results rather than guessed. It says nothing about rate limits, failure modes, or result shape, but the output schema covers return values.

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

Conciseness4/5

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

Front-loads purpose and workflow position, then the required steps, then the imperative warning — a sensible order with numbered items that scan well. It is slightly longer than needed, since 'Rely on info from steps 1-2' restates the instruction above it.

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?

For an open-world, free-form-body query tool with an output schema, the key missing piece would be how to construct `body`, and the description handles that by mandating the query_contexts lookups. Nothing critical for correct invocation is absent, though a one-line example of a valid body would close the remaining gap.

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 one free-form `body` object with 0% schema description coverage, so the description must carry the meaning and only says to build it from steps 1-2 and 'follow the schema exactly'. This correctly redirects the agent to query_contexts instead of inventing fields, but it supplies no field names, required keys, or examples itself.

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

Purpose4/5

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

States a specific verb and resource ('Query Klaviyo data') and places itself as step 3 (FINAL) of a workflow, which distinguishes it from the sibling query_contexts (which gathers setup info). It does not explicitly contrast with execute_action, so read-vs-write routing is left to the name and the readOnlyHint.

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 an explicit ordered prerequisite sequence with concrete request values ('accounts', then 'actions_details' with example actions) and an emphatic 'Always call step 2 before querying'. What's missing is any statement of when NOT to use it or why to prefer this over execute_action / query_contexts in ambiguous cases.

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.