Skip to main content
Glama

content_compare

Read-only

Compare the tag profiles of two content entities (franchises or works) and measure how similar they are. Returns a Jaccard similarity score, the list of shared tags, the tags unique to each entity, and a breakdown of shared tags by facet. When to use this tool: an agent needs to compare two franchises or works (e.g. 'how similar are Dark Souls and Elden Ring?', 'what do Street Fighter and Mortal Kombat have in common?', 'on which axes do these two games differ?'), find positioning overlap, identify cross-sell opportunities, or answer 'if you liked X you might like Y' questions backed by data. Works for any domain (video-games, music, film, tv).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asyncNoIf true, returns a job_id immediately (<200ms) instead of waiting for the result. Poll the result with job_result(job_id). Use for slow tools to avoid client timeouts.
entity_aYesId of the first entity from content_catalog (e.g. 'game-dark-souls', 'music-daft-punk').
entity_bYesId of the second entity from content_catalog (e.g. 'game-elden-ring', 'music-justice').
entity_typeNoWhether both ids are franchises or works (applies to both). Defaults to 'franchise'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
entity_aYes
entity_bYes
similarityYesJaccard index = |shared| / |union|, rounded to 2 decimal places. 0 = no overlap, 1 = identical profiles.
a_tag_countYes
b_tag_countYes
entity_typeYes
shared_tagsYesTags present in both entities (up to 40).
unique_to_aYesTags present only in entity_a (up to 40).
unique_to_bYesTags present only in entity_b (up to 40).
shared_countYes
shared_by_facetYesCount of shared tags per facet (e.g. { genre: 3, theme: 5 }). Shows which dimensions drive the similarity.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so the safety profile is already known. The description adds useful behavioral context beyond annotations by specifying the exact return values (Jaccard similarity, shared/unique tags, facet breakdown) and the domain-agnostic nature. It does not mention limitations or side effects, but given the annotations, this is appropriate. No contradiction with annotations.

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?

The description is four sentences, each serving a distinct purpose: function, outputs, use cases, and domain scope. It is information-dense without redundancy, no fluff, and logically ordered from core behavior to application context. This is exemplary conciseness.

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

Completeness5/5

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

Given the tool's moderate complexity (4 params, output schema present), the description is complete. It explains the core purpose, return values, use cases, and scope. The output schema covers return structure, so the description need not repeat it. No prerequisites or error conditions are mentioned, but none are critical given the tool's read-only nature and clear schema.

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 the schema already documents all parameters (entity_a, entity_b, entity_type, async) with examples. The description adds no parameter-specific information beyond what the schema provides, but it reinforces the conceptual meaning of entity_a/entity_b as content entities. This aligns with the baseline score of 3 when schema carries the semantic load.

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 clearly states the tool's function with a specific verb and resource: 'Compare the tag profiles of two content entities... and measure how similar they are.' It also lists concrete outputs (Jaccard score, shared tags, unique tags, facet breakdown), making the purpose unambiguous. While there is a sibling tool 'content_similar', the description effectively distinguishes this tool by framing it as a pairwise comparison, not single-entity similarity search.

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

Usage Guidelines5/5

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

The description explicitly provides 'When to use this tool' with concrete examples ('how similar are Dark Souls and Elden Ring?'), and lists use cases like positioning overlap and cross-sell opportunities. It also states it works across domains, giving strong contextual guidance. It does not explicitly name alternative tools, but the guidance is sufficiently clear for an agent to select this tool appropriately.

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.

TDQS

C2.4/5.0
Disambiguation1/5

Over 50 tools share the identical template 'Gapup agent-payable C-suite expertise' with similar French descriptions and reference cases, making their boundaries indistinguishable. Clusters like competitor_intel, competitive_deep_dive, competitor_moves, competitor_profiles, competitor_pricing_radar, competitor_pricing_scrape, and competitor_recommendations heavily overlap in purpose.

Naming Consistency1/5

Names are chaotic: mix of French and English, snake_case and camelCase, verb_noun, noun, and adjective forms with no uniform pattern. Examples like 'bp_narratif', 'content_enrichment', 'ai_governance_full_report_async', and 'job_result' show no coherent naming convention.

Tool Count1/5

271 tools is far beyond any reasonable MCP server scope, creating an overwhelming selection burden for agents. This count vastly exceeds the 25+ threshold for 'too many' and makes navigation impractical.

Completeness2/5

While the server covers many business domains, it lacks lifecycle operations (e.g., no update/delete tools for the deliverables it generates) and the input specifications are vague ('documented case fields' without documentation), creating functional dead ends. The sheer breadth does not compensate for these gaps.