content_compare
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
| Name | Required | Description | Default |
|---|---|---|---|
| async | No | If 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_a | Yes | Id of the first entity from content_catalog (e.g. 'game-dark-souls', 'music-daft-punk'). | |
| entity_b | Yes | Id of the second entity from content_catalog (e.g. 'game-elden-ring', 'music-justice'). | |
| entity_type | No | Whether both ids are franchises or works (applies to both). Defaults to 'franchise'. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| entity_a | Yes | ||
| entity_b | Yes | ||
| similarity | Yes | Jaccard index = |shared| / |union|, rounded to 2 decimal places. 0 = no overlap, 1 = identical profiles. | |
| a_tag_count | Yes | ||
| b_tag_count | Yes | ||
| entity_type | Yes | ||
| shared_tags | Yes | Tags present in both entities (up to 40). | |
| unique_to_a | Yes | Tags present only in entity_a (up to 40). | |
| unique_to_b | Yes | Tags present only in entity_b (up to 40). | |
| shared_count | Yes | ||
| shared_by_facet | Yes | Count of shared tags per facet (e.g. { genre: 3, theme: 5 }). Shows which dimensions drive the similarity. |