Hottub News

Worldwide news for agents: search, sync and story clusters across outlets and languages. No key.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
75%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,117Tokens (definiciones de herramientas)
~2.0 KBTamaño de respuesta típico
Impacto moderado en la atención (1.65% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "hottub-news": {
      "url": "https://hottub.news/mcp"
    }
  }
}

Puntos de conexión remotos

https://hottub.news/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_news(lang, country, topic, source, kind, ...)

Newest-first headlines from worldwide sources, optionally filtered by words, language, country, topic, source, kind and time.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Comma-separated ISO 639-1 codes, e.g. \"en,es\""
    },
    "country": {
      "type": "string",
      "description": "Comma-separated ISO 3166-1 alpha-2 codes of the publisher's country, e.g. \"US,GB\""
    },
    "topic": {
      "type": "string",
      "description": "Comma-separated topics, e.g. \"space,science\""
    },
    "source": {
      "type": "string",
      "description": "Comma-separated source ids (see list_sources) or publisher domains"
    },
    "kind": {
      "type": "string",
      "description": "Comma-separated: article, press_release, official, community, research, sponsored"
    },
    "category": {
      "type": "string",
      "description": "Comma-separated IPTC top-level categories: arts-culture-entertainment, conflict-war, crime-law, disaster-accident, economy-business, education, environment, health, human-interest, labour, lifestyle-leisure, politics, religion, science-technology, society, sport, weather"
    },
    "sentiment": {
      "type": "string",
      "description": "Comma-separated: negative, neutral, positive"
    },
    "political": {
      "type": "boolean",
      "description": "true: political stories only (political score ≥ 0.5); false: non-political only"
    },
    "tone_min": {
      "type": "number",
      "minimum": -1,
      "maximum": 1,
      "description": "Only items with tone ≥ this (-1 most negative … 1 most positive)"
    },
    "tone_max": {
      "type": "number",
      "minimum": -1,
      "maximum": 1
    },
    "since": {
      "type": "string",
      "description": "Only items published at/after this: RFC 3339, a date, or an age like \"6h\", \"2d\""
    },
    "until": {
      "type": "string",
      "description": "Only items published at/before this"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 50
    },
    "sponsored": {
      "type": "string",
      "enum": [
        "include",
        "exclude",
        "only"
      ],
      "default": "include",
      "description": "Paid press releases are labeled; exclude to omit them"
    },
    "format": {
      "type": "string",
      "enum": [
        "md",
        "lines",
        "ndjson",
        "json"
      ],
      "default": "md",
      "description": "md: readable with summaries; lines: tab-separated, fewest tokens; ndjson/json: full records"
    },
    "q": {
      "type": "string",
      "description": "What you're looking for, in any language. Matches by meaning and by keyword (hybrid) over the last 7 days unless since is given; results carry a relevance score."
    },
    "match": {
      "type": "string",
      "enum": [
        "hybrid",
        "keyword",
        "semantic"
      ],
      "default": "hybrid",
      "description": "keyword: exact words only; semantic: meaning only (cross-language)"
    },
    "entity": {
      "type": "string",
      "description": "Comma-separated Wikidata ids (from find_entities), e.g. \"Q312\""
    },
    "collapse": {
      "type": "string",
      "enum": [
        "story"
      ],
      "description": "One item per story (best representative); related = other reports of it"
    },
    "sort": {
      "type": "string",
      "enum": [
        "newest",
        "hot",
        "positive",
        "negative"
      ],
      "default": "newest",
      "description": "hot: most widely covered stories of the last 48h, one per story; positive/negative: most positive/negative tone first (last 24h unless since is given)"
    },
    "before": {
      "type": "string",
      "description": "Paging cursor from a previous result's next link"
    }
  },
  "additionalProperties": false
}
🟢sync_news(lang, country, topic, source, kind, ...)

Incremental feed: returns items added after `after`, oldest first, plus a new cursor. Call again with that cursor to get only what is new.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Comma-separated ISO 639-1 codes, e.g. \"en,es\""
    },
    "country": {
      "type": "string",
      "description": "Comma-separated ISO 3166-1 alpha-2 codes of the publisher's country, e.g. \"US,GB\""
    },
    "topic": {
      "type": "string",
      "description": "Comma-separated topics, e.g. \"space,science\""
    },
    "source": {
      "type": "string",
      "description": "Comma-separated source ids (see list_sources) or publisher domains"
    },
    "kind": {
      "type": "string",
      "description": "Comma-separated: article, press_release, official, community, research, sponsored"
    },
    "category": {
      "type": "string",
      "description": "Comma-separated IPTC top-level categories: arts-culture-entertainment, conflict-war, crime-law, disaster-accident, economy-business, education, environment, health, human-interest, labour, lifestyle-leisure, politics, religion, science-technology, society, sport, weather"
    },
    "sentiment": {
      "type": "string",
      "description": "Comma-separated: negative, neutral, positive"
    },
    "political": {
      "type": "boolean",
      "description": "true: political stories only (political score ≥ 0.5); false: non-political only"
    },
    "tone_min": {
      "type": "number",
      "minimum": -1,
      "maximum": 1,
      "description": "Only items with tone ≥ this (-1 most negative … 1 most positive)"
    },
    "tone_max": {
      "type": "number",
      "minimum": -1,
      "maximum": 1
    },
    "since": {
      "type": "string",
      "description": "Only items published at/after this: RFC 3339, a date, or an age like \"6h\", \"2d\""
    },
    "until": {
      "type": "string",
      "description": "Only items published at/before this"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 50
    },
    "sponsored": {
      "type": "string",
      "enum": [
        "include",
        "exclude",
        "only"
      ],
      "default": "include",
      "description": "Paid press releases are labeled; exclude to omit them"
    },
    "format": {
      "type": "string",
      "enum": [
        "md",
        "lines",
        "ndjson",
        "json"
      ],
      "default": "md",
      "description": "md: readable with summaries; lines: tab-separated, fewest tokens; ndjson/json: full records"
    },
    "after": {
      "type": "integer",
      "description": "The cursor returned by your previous sync_news call; 0 to start from the oldest retained item"
    }
  },
  "required": [
    "after"
  ],
  "additionalProperties": false
}
🟢list_stories(limit, lang, country, category, entity, ...)

The most widely covered stories right now (last 48h), each with a neutral multi-source brief when available, outlet count, languages, entities and a representative report. Filter by lang, country, category, entity.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 15
    },
    "lang": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "entity": {
      "type": "string"
    },
    "format": {
      "type": "string",
      "enum": [
        "md",
        "json"
      ],
      "default": "md"
    }
  },
  "additionalProperties": false
}
🟢find_entities(q)

Look up Wikidata ids for a name (e.g. "Tesla", "Lagos") with how many items mention each in the last 7 days; pass the id as `entity` to search_news or list_stories.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}
🟢get_story(story, format)

Every item in a story (the `story` id on items, st_…): all outlets and languages covering the same event, newest first.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "story": {
      "type": "string"
    },
    "format": {
      "type": "string",
      "enum": [
        "md",
        "lines",
        "ndjson",
        "json"
      ],
      "default": "md"
    }
  },
  "required": [
    "story"
  ],
  "additionalProperties": false
}
🟢get_news_item(id)

Full record for one item id (n_… for news, s_… for sponsored).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢list_sources(q, country, lang)

Registered sources with their language, country, kind and health. Filter by q (name), country or lang.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "lang": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢quote_placement(topics, lang, country, days)

Quote for placing a labeled, paid press release in the Hottub News mix via Hottub Business. Price varies by topic tier, current topic interest, demand, targeting reach and duration; the response itemizes each factor. Read-only: returns a price; books and charges nothing.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "topics": {
      "type": "string",
      "description": "Comma-separated topics to target, e.g. \"ai,business\"; omit for run of network"
    },
    "lang": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 31,
      "default": 7
    }
  },
  "additionalProperties": false
}
🟢news_stats

Item counts over the last 24 hours by kind, language, country and source, plus the current sync cursor.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas