Skip to main content
Glama

content_similar

Read-only

Find content entities similar to a given one. For embedded franchises this uses SEMANTIC vector similarity (pgvector) over the enrichment profile — surfacing entities that feel alike even when their tags differ literally. Falls back to shared enrichment-tag overlap for works or non-embedded entities. Each result carries a similarity score and its entity-level freshness/confidence (verifiable, sourced). When to use this tool: an agent wants recommendations or lookalikes for a franchise or work. Input: an entity_id and its type.

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.
limitNo
entity_idYesEntity id from content_catalog
entity_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYes
methodYesHow similarity was computed.
similarYes
entity_idYes
source_provenanceYesProvenance of the source entity used to compute similarity.

TDQS

A4.1/5.0
Behavior4/5

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

The description adds significant behavioral context beyond the readOnly/openWorld annotations, explaining the contrast between semantic vector similarity (pgvector) and tag-overlap fallback, and noting each result carries similarity score and measurable freshness/confidence. This gives the agent expectations about algorithm behavior and output attributes, though it does not cover edge cases like empty results or performance characteristics.

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 well-structured, front-loading the core action in the first sentence, then elaborating on algorithm variants, output details, and usage. All sentences contribute value except the final 'Input: an entity_id and its type,' which largely restates schema information and could be omitted. Overall it is concise and organized.

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 the tool's moderate complexity (two algorithm paths), the description covers the primary behaviors, output characteristics, and the intended use case. The presence of an output schema obviates the need to enumerate return fields, and schema descriptions cover async behavior. It does not explicitly address limit or optional entity_type behavior, but these are inferable from schema, making this a solidly complete description.

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?

The input schema provides descriptions for async and entity_id, but entity_type and limit lack descriptions (50% coverage). The description adds meaning for entity_type by explaining that the algorithm choice depends on whether it's a franchise or work, and the input line emphasizes both entity_id and type. However, it does not clarify the optional nature of entity_type (schema requires only entity_id) or explain the limit parameter, so the compensation is partial.

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 purpose: 'Find content entities similar to a given one.' It further specifies two distinct behaviors based on entity type (semantic vector similarity for embedded franchises, tag overlap for works/non-embedded), which differentiates it from sibling tools like content_discovery or content_compare. The when-to-use line reinforces the core use case.

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 a clear usage context: 'When to use this tool: an agent wants recommendations or lookalikes for a franchise or work.' This implies recommendation scenarios and distinguishes from alternatives by clearly stating the intended use. However, it does not name specific alternative tools or explicitly state when not to use it, so it falls just short of top-tier guidance.

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.