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

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, but the description adds behavioral context: returns Jaccard similarity, shared tags, unique tags, facet breakdown. It also mentions the async parameter which provides flexibility. No contradictions 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.

Conciseness4/5

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

The description is front-loaded with main purpose and structured with a clear 'When to use' section. It includes examples that aid understanding, though it is slightly verbose. Efficient overall.

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?

Given an output schema exists (not shown but noted), the description adequately covers the tool's operation, return values, and common use cases. It is complete for a tool of moderate complexity.

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 coverage is 100%, and the description rephrases parameter explanations (e.g., entity_a/b as IDs from content_catalog) but adds minimal new meaning beyond the schema. Baseline 3 is appropriate.

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?

The description clearly states the tool compares tag profiles of two content entities and lists the outputs. It specifies domains (franchises or works) and examples, but does not explicitly differentiate from sibling tools like content_similar, though the purpose is distinct.

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?

The description provides explicit 'When to use this tool:' section with concrete examples (e.g., comparing Dark Souls and Elden Ring). It covers use cases like positioning overlap and cross-sell, but lacks explicit when-not-to-use instructions or alternative tool mentions.

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.8/5.0
Disambiguation2/5

Many tools have overlapping purposes, especially in competitive intelligence, ESG, and risk assessment. For example, there are multiple tools for competitor analysis (competitive_deep_dive, competitor_intel, competitor_moves, etc.) with unclear boundaries. Agents would struggle to select the correct tool without deep understanding of subtle differences.

Naming Consistency2/5

Tool names are a mix of English and French, and follow no consistent pattern. Some use snake_case (e.g., abm_architect, action_plan_esg), while others are verb-focused (e.g., content_catalog, fx_rate). The lack of a uniform naming convention makes it hard for agents to predict tool names.

Tool Count1/5

With 271 tools, the server is excessively large. Even for a broad knowledge domain, this number of tools makes discovery and selection inefficient. Typical coherent servers have 3-15 tools; this has an order of magnitude more, indicating poor scoping.

Completeness3/5

The tool set covers many domains (compliance, finance, marketing, HR, etc.), but the coverage is uneven due to redundancy. Key areas have multiple overlapping tools, while some sub-domains may still have gaps. Overall, the surface is broad but not well-curated.

Resources