Skip to main content
Glama
Crawlora-org

Crawlora MCP

Official

datasets_journalists_facets

Break down a filtered journalist dataset by outlet, vertical, topic, contact type, role, email kind, or outreach readiness to see distribution counts across each facet.

Instructions

Facet the journalists dataset. Returns distribution counts over the journalists index (dataset id enum value journalists), honoring the same filters as search. Facet enum: outlet, vertical, topic, contact_type, record_type, role_type, email_kind, outreach_readiness_band. facet=outlet returns every outlet (up to 1000) in one response; other facets return their top 50 values. Facets are not paginated: page and page_size are ignored.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoFull-text match on the journalist's name, title, and bio, max 256 characters
facetYesFacet enum: outlet, vertical, topic, contact_type, record_type, role_type, email_kind, outreach_readiness_band
topicNoExact topic filter
outletNoExact outlet id filter
verticalNoExact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business, general_news
role_typeNoRole classification filter. Enum: staff, editor, reporter, contributor, freelancer, columnist, non_editorial, unknown
email_kindNoEmail semantics filter. Enum: individual_work, individual_personal_public, shared_desk, tips_or_submissions, outlet_generic, unknown
record_typeNoRecord classification filter. Enum: person, desk, organization, syndicated_byline, unknown
contact_typeNoContact-availability filter. Enum: email, social, none
min_outreach_readinessNoMinimum outreach-readiness score, from 0 to 100

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.17.6
    • changedInput schema / properties / vertical / enum
      Previous value: -[
      -  "tech",
      -  "crypto",
      -  "marketing",
      -  "consumer_tech",
      -  "consumer_policy",
      -  "cybersecurity",
      -  "health",
      -  "gaming",
      -  "climate",
      -  "business",
      -  "entertainment",
      -  "sports",
      -  "legal",
      -  "science",
      -  "politics",
      -  "real_estate",
      -  "automotive",
      -  "travel",
      -  "food",
      -  "education",
      -  "design",
      -  "film_tv",
      -  "fashion",
      -  "music",
      -  "personal_finance",
      -  "tech_independent",
      -  "culture_independent",
      -  "local_news",
      -  "construction",
      -  "banking",
      -  "retail",
      -  "aerospace_defense",
      -  "energy",
      -  "agriculture",
      -  "local_business"
      -]New value: +[
      +  "tech",
      +  "crypto",
      +  "marketing",
      +  "consumer_tech",
      +  "consumer_policy",
      +  "cybersecurity",
      +  "health",
      +  "gaming",
      +  "climate",
      +  "business",
      +  "entertainment",
      +  "sports",
      +  "legal",
      +  "science",
      +  "politics",
      +  "real_estate",
      +  "automotive",
      +  "travel",
      +  "food",
      +  "education",
      +  "design",
      +  "film_tv",
      +  "fashion",
      +  "music",
      +  "personal_finance",
      +  "tech_independent",
      +  "culture_independent",
      +  "local_news",
      +  "construction",
      +  "banking",
      +  "retail",
      +  "aerospace_defense",
      +  "energy",
      +  "agriculture",
      +  "local_business",
      +  "general_news"
      +]
  2. Changed9 schema fields changedv1.17.5
    • addedInput schema / properties / contact_type / enum
      Added value: +[
      +  "email",
      +  "social",
      +  "none"
      +]
    • addedInput schema / properties / email_kind
      Added value: +{
      +  "description": "Email semantics filter. Enum: individual_work, individual_personal_public, shared_desk, tips_or_submissions, outlet_generic, unknown",
      +  "enum": [
      +    "individual_work",
      +    "individual_personal_public",
      +    "shared_desk",
      +    "tips_or_submissions",
      +    "outlet_generic",
      +    "unknown"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / facet / description
      Previous value: -"Facet enum: outlet, vertical, topic, contact_type"New value: +"Facet enum: outlet, vertical, topic, contact_type, record_type, role_type, email_kind, outreach_readiness_band"
    • addedInput schema / properties / facet / enum
      Added value: +[
      +  "outlet",
      +  "vertical",
      +  "topic",
      +  "contact_type",
      +  "record_type",
      +  "role_type",
      +  "email_kind",
      +  "outreach_readiness_band"
      +]
    • addedInput schema / properties / min_outreach_readiness
      Added value: +{
      +  "description": "Minimum outreach-readiness score, from 0 to 100",
      +  "type": "integer"
      +}
    • addedInput schema / properties / record_type
      Added value: +{
      +  "description": "Record classification filter. Enum: person, desk, organization, syndicated_byline, unknown",
      +  "enum": [
      +    "person",
      +    "desk",
      +    "organization",
      +    "syndicated_byline",
      +    "unknown"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / role_type
      Added value: +{
      +  "description": "Role classification filter. Enum: staff, editor, reporter, contributor, freelancer, columnist, non_editorial, unknown",
      +  "enum": [
      +    "staff",
      +    "editor",
      +    "reporter",
      +    "contributor",
      +    "freelancer",
      +    "columnist",
      +    "non_editorial",
      +    "unknown"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / vertical / description
      Previous value: -"Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business"New value: +"Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business, general_news"
    • addedInput schema / properties / vertical / enum
      Added value: +[
      +  "tech",
      +  "crypto",
      +  "marketing",
      +  "consumer_tech",
      +  "consumer_policy",
      +  "cybersecurity",
      +  "health",
      +  "gaming",
      +  "climate",
      +  "business",
      +  "entertainment",
      +  "sports",
      +  "legal",
      +  "science",
      +  "politics",
      +  "real_estate",
      +  "automotive",
      +  "travel",
      +  "food",
      +  "education",
      +  "design",
      +  "film_tv",
      +  "fashion",
      +  "music",
      +  "personal_finance",
      +  "tech_independent",
      +  "culture_independent",
      +  "local_news",
      +  "construction",
      +  "banking",
      +  "retail",
      +  "aerospace_defense",
      +  "energy",
      +  "agriculture",
      +  "local_business"
      +]
  3. Changed1 schema field changedv1.6.0
    • changedInput schema / properties / vertical / description
      Previous value: -"Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, tech_independent, culture_independent"New value: +"Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business"
  4. Addedv1.5.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses that outlet returns up to 1000 values while other facets return top 50, and that facets are not paginated so page/page_size are ignored. These are exactly the non-obvious behaviors an agent needs.

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?

Tight and front-loaded: purpose first, then output behavior, then the enum, then pagination caveats. The facet enum is restated from the schema, which is mild redundancy, but every other sentence earns its place.

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?

For a filter-driven facet tool with no output schema and no annotations, the description covers return semantics (distribution counts), per-facet caps, and pagination behavior. It could say a bit more about the shape of each facet result, but nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it elaborates on the facet enum's runtime behavior (per-value result caps) and clarifies that page/page_size have no effect, which the schema does not convey. It stops short of describing the count structure returned per value.

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?

States a specific verb+resource ('Facet the journalists dataset') and immediately distinguishes the output from a normal search by clarifying it returns distribution counts. An agent can tell it apart from datasets_journalists_search and datasets_journalists_item.

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

Usage Guidelines3/5

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

Explains that it honors 'the same filters as search,' which implicitly points to the sibling search tool, but never states when to prefer facets over search or item lookup. Usage is implied rather than explicit, with no when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools