Hottub News

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
75%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,117토큰 (도구 정의)
~2.0 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.65%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

https://hottub.news/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (9)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_news(lang, country, topic, source, kind, ...)

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

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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).

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

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

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 9개
검증됨버전이 기록되지 않음도구 9개