Skip to main content
Glama

Compare creator fit

render_creator_comparison

Use this when the user has 2–4 canonical creator IDs and a specific campaign brief. It fetches current creator details, scores each creator against the brief, and renders a side-by-side comparison. This may consume Influship account or API usage.

Input Schema

NameRequiredDescriptionDefault
contextNoOptional brand constraints or evaluation context.
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
creator_idsYesTwo to four canonical creator IDs to compare.
campaign_briefYesSpecific campaign, audience, product, and desired creator fit.
conversation_idNoPass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.

Output Schema

NameRequiredDescriptionDefault
viewYes
briefYes
titleYes
creatorsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / conversation_id
      Added value: +{
      +  "description": "Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.",
      +  "type": "string"
      +}
    • addedInput schema / properties / llm_model
      Added value: +{
      +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "creator_ids",
      -  "campaign_brief"
      -]New value: +[
      +  "creator_ids",
      +  "campaign_brief",
      +  "llm_model"
      +]
  2. Changed18 schema fields changed
    • removedOutput schema / properties / creators / items / properties / aiSummary / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / aiSummary / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / analysisUpdatedAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / analysisUpdatedAt / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / audienceSummary / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / audienceSummary / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / bio / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / bio / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / profiles / items / properties / dataUpdatedAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / profiles / items / properties / dataUpdatedAt / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / profiles / items / properties / engagementRate / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / profiles / items / properties / engagementRate / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / profiles / items / properties / followers / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / profiles / items / properties / followers / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / reasons / items / properties / evidenceQuote / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / reasons / items / properties / evidenceQuote / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / creators / items / properties / vibe / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / creators / items / properties / vibe / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. Changed11 schema fields changed
    • addedOutput schema / properties / creators / items / properties / analysisFactCount
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / creators / items / properties / analysisUpdatedAt
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / creators / items / properties / brandAlignment
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / creators / items / properties / keyFacts
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / creators / items / properties / profiles / items / properties / dataUpdatedAt
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / creators / items / properties / profiles / items / required
      Previous value: -[
      -  "platform",
      -  "username",
      -  "url",
      -  "followers",
      -  "engagementRate",
      -  "verified"
      -]New value: +[
      +  "platform",
      +  "username",
      +  "url",
      +  "followers",
      +  "engagementRate",
      +  "verified",
      +  "dataUpdatedAt"
      +]
    • addedOutput schema / properties / creators / items / properties / reasons / items / additionalProperties
      Added value: +false
    • addedOutput schema / properties / creators / items / properties / reasons / items / properties
      Added value: +{
      +  "evidenceQuote": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "provenance": {
      +    "enum": [
      +      "post_evidence",
      +      "profile_fact",
      +      "inferred"
      +    ],
      +    "type": "string"
      +  },
      +  "text": {
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / creators / items / properties / reasons / items / required
      Added value: +[
      +  "text",
      +  "provenance",
      +  "evidenceQuote"
      +]
    • changedOutput schema / properties / creators / items / properties / reasons / items / type
      Previous value: -"string"New value: +"object"
    • changedOutput schema / properties / creators / items / required
      Previous value: -[
      -  "id",
      -  "name",
      -  "bio",
      -  "avatarUrl",
      -  "aiSummary",
      -  "audienceSummary",
      -  "brandAlignment",
      -  "contentThemes",
      -  "keyFacts",
      -  "vibe",
      -  "profiles",
      -  "matchScore",
      -  "decision",
      -  "reasons"
      -]New value: +[
      +  "id",
      +  "name",
      +  "bio",
      +  "avatarUrl",
      +  "aiSummary",
      +  "analysisUpdatedAt",
      +  "analysisFactCount",
      +  "audienceSummary",
      +  "contentThemes",
      +  "vibe",
      +  "profiles",
      +  "matchScore",
      +  "decision",
      +  "reasons"
      +]
  4. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description adds non-annotation context that matters: the call may consume Influship account or API usage, and it performs live fetches before scoring. It doesn't mention rate limits, latency, or what a repeated call produces, so it stops short of full behavioral disclosure.

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?

Three short sentences with zero filler: the trigger condition leads, the behavior follows, and the cost warning closes. Nothing is repeated and no sentence could be dropped without losing information.

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?

With an output schema present, return values needn't be explained, and the description covers trigger, internal pipeline, and cost. The one gap is that the conversation_id sequencing requirement and the effect of repeated/non-idempotent calls are left entirely to the schema rather than integrated into the workflow guidance.

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?

Schema description coverage is 100%, so every parameter including the unusual llm_model and conversation_id handshake is already documented in the schema. The description only restates the creator count and the brief, adding no format, constraint, or edge-case meaning beyond the schema. Baseline 3 applies.

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?

The description names a specific verb and resource ('renders a side-by-side comparison') and enumerates the two upstream actions (fetch current creator details, score each creator against the brief). The '2–4 canonical creator IDs and a specific campaign brief' scope makes it distinguishable from sibling renderers like render_creator_profile and render_creator_shortlist without opening a 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?

It gives a clear triggering condition: the user has 2–4 canonical creator IDs plus a campaign brief. That implicitly excludes single-creator and open-ended search cases, but it never names an alternative tool or states an explicit exclusion, so the agent must infer the routing.

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.