이 MCP로 할 수 있는 일
Searches deduplicated live news stories, expands source-backed reports, and measures independent coverage and corroboration.
도구
입력 스키마
{'type': 'object', 'required': ['claim'], 'properties': {'claim': {'type': 'string', 'description': 'The claim or headline to check, phrased in the words a headline would use. Matched literally against headlines and summaries, not by meaning, so "atomic arsenal" will not find stories about nuclear weapons.'}, 'api_key': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional NewsMCP API key for this call; forwarded upstream as x-api-key. Only one request may be in flight at a time, so never call in parallel.'}, 'days_back': {'type': 'integer', 'default': 14, 'minimum': 1, 'description': "How far back to look, in days. Defaults to 14. Clamped down to whatever the caller's plan allows, with a note saying so."}, 'response_format': {'enum': ['text', 'markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': 'markdown (default), text, or json. Pass the format the user asked for rather than reformatting afterwards.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['matched', 'total_matching_stories', 'anchor_newsrooms', 'combined_newsrooms_upper_bound', 'variants', 'notes'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Query-normalization and plan-clamping notes to relay verbatim.'}, 'matched': {'type': 'boolean', 'description': 'Whether any story matched the claim text in the window.'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': ['integer', 'null'], 'description': 'Article count.'}, 'sector': {'type': ['string', 'null']}, 'reports': {'type': ['integer', 'null']}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Source article URLs â\x80\x94 a sample or the full list per verbosity.'}, 'abstract': {'type': ['string', 'null']}, 'entities': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Key actors named in the story.'}, 'event_id': {'type': 'string', 'description': 'Stable id, e.g. evt_...'}, 'headline': {'type': ['string', 'null']}, 'last_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'newsrooms': {'type': ['integer', 'null'], 'description': 'Independent newsrooms â\x80\x94 the corroboration signal.'}, 'one_liner': {'type': ['string', 'null']}, 'event_type': {'type': ['string', 'null'], 'description': 'family.leaf taxonomy value, e.g. deals.merger_acquisition.'}, 'first_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'content_type': {'type': ['string', 'null']}, 'source_count': {'type': ['integer', 'null'], 'description': 'Publisher domains, mirrors included.'}, 'language_count': {'type': ['integer', 'null']}}, 'additionalProperties': True}, 'description': 'Anchor story first, then its likely variants.'}, 'anchor_newsrooms': {'type': 'integer', 'description': 'Independent newsrooms for the best-corroborated matching story.'}, 'total_matching_stories': {'type': 'integer'}, 'combined_newsrooms_upper_bound': {'type': 'integer', 'description': 'Sum across clustered variants of the same story â\x80\x94 an upper bound, not a confirmed count.'}}, 'description': 'Corroboration verdict for a claim.', 'additionalProperties': False}
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
입력 스키마
{'type': 'object', 'properties': {'api_key': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Optional NewsMCP API key. Report the ceilings for this key's plan; omit to report the keyless ceilings."}, 'response_format': {'enum': ['text', 'json'], 'type': 'string', 'default': 'text', 'description': '`text` (default) for a readable summary, `json` for the raw payload.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
입력 스키마
{'type': 'object', 'required': ['event_id'], 'properties': {'api_key': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional NewsMCP API key for this call; forwarded upstream as x-api-key. Only one request may be in flight at a time, so never call in parallel.'}, 'event_id': {'type': 'string', 'description': 'The `event_id` of a story from an earlier result (e.g. `evt_...`). A story folded into a more complete one answers 404 naming its replacement id â\x80\x94 fetch that instead.'}, 'include_sources': {'type': 'boolean', 'default': False, 'description': 'False (default) returns a sample of source links; True returns every one. A large story can carry several hundred, so leave this off unless the user asked for the full list. This is the only place the complete list is available â\x80\x94 the search endpoints cap it.'}, 'response_format': {'enum': ['text', 'markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': 'markdown (default), text, or json. Pass the format the user asked for rather than reformatting afterwards.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'size': {'type': ['integer', 'null'], 'description': 'Article count.'}, 'sector': {'type': ['string', 'null']}, 'reports': {'type': ['integer', 'null']}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Source article URLs â\x80\x94 a sample or the full list per verbosity.'}, 'abstract': {'type': ['string', 'null']}, 'entities': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Key actors named in the story.'}, 'event_id': {'type': 'string', 'description': 'Stable id, e.g. evt_...'}, 'headline': {'type': ['string', 'null']}, 'last_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'newsrooms': {'type': ['integer', 'null'], 'description': 'Independent newsrooms â\x80\x94 the corroboration signal.'}, 'one_liner': {'type': ['string', 'null']}, 'event_type': {'type': ['string', 'null'], 'description': 'family.leaf taxonomy value, e.g. deals.merger_acquisition.'}, 'first_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'content_type': {'type': ['string', 'null']}, 'source_count': {'type': ['integer', 'null'], 'description': 'Publisher domains, mirrors included.'}, 'language_count': {'type': ['integer', 'null']}}, 'description': 'One synthesized news event, expanded.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'q': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional search terms, matched case-insensitively against the story\'s headline, one-liner, abstract, and named actors (no article body text, no stemming). Space-separated words are ANDed, so ALWAYS quote a multi-word phrase: `layoffs OR "workforce reduction"` works, `layoffs OR workforce reduction` is read as a mix of AND/OR and rejected. Supports AND/OR/NOT (aliases &&, ||, !), ( ) grouping, and `*` wildcards. NEAR() and MULTIPLE() are NOT supported here â\x80\x94 they are silently read as ordinary words instead of erroring, so never use them. Omit q entirely for a filter-only digest ("banking news today" needs no q at all).'}, 'sort': {'anyOf': [{'enum': ['newsrooms', 'trending', 'relevance', 'last_seen', 'first_seen', 'size', 'source_count', 'confidence'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'What "best" means for this call. **Omit it** unless the user asked for a specific ordering: the API then picks `relevance` when `q` or `subject` is set and `newsrooms` when neither is, which is almost always right. Forcing `newsrooms` on a keyword search ranks by story size rather than match, so `subject="Bank of America"` returns "India Now Asia\'s Least Preferred Stock Market" ahead of "Bank of America Warns of European Stock Decline" â\x80\x94 big stories that merely mention the words. `newsrooms`: most independently-corroborated first. `trending`: corroboration weighted by freshness on an 8-hour half-life â\x80\x94 the one for "what is blowing up right now". `relevance`: best semantic match to q first, and REQUIRES q. `last_seen`: most recently active. `first_seen`: most recently started. `size`: most articles. `source_count`: most publisher domains, mirrors included. `confidence`: highest label confidence, unlabeled last regardless of order.'}, 'from_': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Inclusive lower bound on when the story BEGAN (its first_seen) â\x80\x94 NOT the publish date of any one article, so a story still running today but started last week falls outside the default window. ISO 8601 (`2026-07-01T00:00:00`) or a relative phrase (`now-6h`, `2 days ago`, `yesterday`); all dates are UTC. Default: 24 hours ago, much narrower than a general news search â\x80\x94 widening this is the FIRST thing to try when a query that should match something returns nothing â\x80\x94 but the lookback is capped: 7 days keyless (narrowed with a notice), and per-plan with a key (14 days on the free tier today, rejected rather than narrowed). `check_limits` reports the caller's live ceiling."}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Stories per page, 1â\x80\x9350, default 20, but capped for the caller: keyless 20 (softly, with a notice), and per-plan with a key (50 on the free tier today, over it is a validation error naming the maximum). `check_limits` reports the live cap. Raise it when the user asks for breadth â\x80\x94 one call with a a flat ceiling rather than a page size: there is no paging past it, since the hourly call budget is the scarce resource (keyless 20/hour, 50/hour on the free tier).'}, 'sector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Industry the story belongs to. Comma-separated for OR (`software_it_services,semiconductors` = "tech and chips"). One of: government_public_sector, media_entertainment, financial_services, healthcare_pharma, energy_utilities, retail_consumer, real_estate, agriculture_food, telecommunications, automotive, manufacturing_industrial, transport_logistics, aerospace_defense, mining_metals, construction_infrastructure, education, hospitality_travel, sports_recreation, nonprofit_ngo, legal_services, insurance, software_it_services, ecommerce, banking, defense_security, chemicals, fashion_apparel, gaming_esports, biotechnology, semiconductors, other_sector.'}, 'api_key': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional NewsMCP API key for this call; forwarded upstream as x-api-key. Keyless: 7-day `from_` lookback, 20 calls/hour (shared per network address), 20 stories per call â\x80\x94 over-limit requests are narrowed with a notice, not rejected. With a key the ceilings come from the plan (free tier today: 14 days, 50 calls/hour, 50 stories) and over-limit requests are rejected with a validation error instead of narrowed. Those per-plan numbers change without a release â\x80\x94 call `check_limits` for the live values and the hourly budget left; it costs nothing. A keyed caller may have only one request in flight at a time, so never call in parallel.'}, 'subject': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'A single company, person, place, or organisation to centre the search on â\x80\x94 plain name, no quoting. Quoted for you, which is the difference between a phrase and a bag of words: `Bank of America` unquoted ANDs three common terms and surfaces "Medtronic Revenue Grows" first, while the quoted phrase surfaces Bank of America. Combines with `q` (subject AND query), so `subject="Tesla", q="recall OR lawsuit"` reads as expected. Setting it also widens the default window from 24 hours to 30 days (clamped to the plan), because a company can go a fortnight without news â\x80\x94 that is the single most common reason a name search comes back empty. Pass an explicit `from_` to override.'}, 'event_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Superseded by the `get_story` tool, which does this with two arguments instead of nineteen and can return every source link. Kept for compatibility. Fetch ONE story directly by the `event_id` of an earlier result (e.g. `evt_...`) â\x80\x94 use it for "pull that story up again". When set, every other filter is ignored. Stories are occasionally folded into a more complete story as coverage develops: that returns 404 naming the replacement id, so fetch that id instead. An id that never existed returns a plain not-found.'}, 'verbosity': {'enum': ['compact', 'standard', 'full'], 'type': 'string', 'default': 'standard', 'description': 'Controls ONLY the source-link list; headline, summary, actors, and labels are always present. `compact`: no links. `standard` (default): up to 3. `full`: every link, uncapped â\x80\x94 use it for "show me every source", but it makes a large `limit` very long.'}, 'event_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'What KIND of event the story is, independent of industry. Exact `family.leaf` value; a bare family (`deals`) is invalid and unknown values are rejected naming them. Comma-separated for OR (`deals.merger_acquisition,funding.venture_funding_round` = "M&A or funding news"). The taxonomy is 59 leaves across 21 families, plus the standalone value `unclassifiable` for a labeled-but-uncategorizable story. Families: corporate_finance, markets, deals, governance, society_environment, sports, justice_crime, security, macro_policy, research_science, religion_society, politics, legal_regulatory, culture_media, product, accidents_disasters, operations, funding, local_civic, geopolitics, corporate_comms. The complete set of accepted values: corporate_finance.earnings_report, corporate_finance.analyst_rating, corporate_finance.dividends, markets.stock_move, markets.commodity_price, markets.currency_move, deals.merger_acquisition, deals.ipo_filing, deals.asset_sale, governance.board_change, governance.shareholder_vote, governance.executive_departure, society_environment.climate_event, society_environment.public_health, society_environment.environmental_incident, sports.match_result, sports.transfer_signing, sports.championship, justice_crime.arrest_charge, justice_crime.trial_verdict, justice_crime.investigation, security.cyberattack, security.data_breach, security.physical_security_incident, macro_policy.central_bank_decision, macro_policy.trade_policy, macro_policy.fiscal_policy, research_science.scientific_discovery, research_science.clinical_trial_result, research_science.publication, religion_society.religious_event, religion_society.social_movement, politics.election, politics.policy_announcement, politics.diplomacy, legal_regulatory.regulatory_action, legal_regulatory.lawsuit_filed, legal_regulatory.compliance_ruling, culture_media.celebrity_news, culture_media.entertainment_release, culture_media.award, product.product_launch, product.product_recall, product.feature_update, accidents_disasters.natural_disaster, accidents_disasters.industrial_accident, accidents_disasters.transport_accident, operations.plant_closure, operations.layoffs, operations.supply_chain_disruption, funding.venture_funding_round, funding.grant_award, local_civic.local_government_action, local_civic.infrastructure_project, geopolitics.armed_conflict, geopolitics.sanctions, geopolitics.diplomacy_summit, corporate_comms.press_release, corporate_comms.leadership_statement, unclassifiable.'}, 'content_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'The FORM the reporting takes, independent of what it is about. Comma-separated for OR. One of: news_report, press_release, service_info, human_interest, explainer, commentary, analysis, opinion, interview, obituary. There is no NOT on this field, so for "analysis, not straight news" name the forms wanted (`analysis`) rather than the ones to exclude.'}, 'min_newsrooms': {'anyOf': [{'type': 'integer', 'minimum': 0}, {'type': 'null'}], 'default': None, 'description': 'Minimum outlets that reported INDEPENDENTLY, mirrors excluded â\x80\x94 the strongest is-this-real signal. Reach for this over min_sources whenever the user wants to exclude a story that one outlet ran and everyone else reprinted. `3` â\x89\x88 "well-corroborated only".'}, 'response_format': {'enum': ['text', 'markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': 'Output shape in content[0].text. Default `markdown` (readable digest). `text` = plain lines. `json` = full API payload. Match what the user asks for.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'allOf': [{'type': 'object', 'properties': {'size': {'type': ['integer', 'null'], 'description': 'Article count.'}, 'sector': {'type': ['string', 'null']}, 'reports': {'type': ['integer', 'null']}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Source article URLs â\x80\x94 a sample or the full list per verbosity.'}, 'abstract': {'type': ['string', 'null']}, 'entities': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Key actors named in the story.'}, 'event_id': {'type': 'string', 'description': 'Stable id, e.g. evt_...'}, 'headline': {'type': ['string', 'null']}, 'last_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'newsrooms': {'type': ['integer', 'null'], 'description': 'Independent newsrooms â\x80\x94 the corroboration signal.'}, 'one_liner': {'type': ['string', 'null']}, 'event_type': {'type': ['string', 'null'], 'description': 'family.leaf taxonomy value, e.g. deals.merger_acquisition.'}, 'first_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'content_type': {'type': ['string', 'null']}, 'source_count': {'type': ['integer', 'null'], 'description': 'Publisher domains, mirrors included.'}, 'language_count': {'type': ['integer', 'null']}}, 'additionalProperties': True}], 'properties': {'total': {'type': 'integer', 'description': 'Total matching stories; present for a search call.'}, 'events': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': ['integer', 'null'], 'description': 'Article count.'}, 'sector': {'type': ['string', 'null']}, 'reports': {'type': ['integer', 'null']}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Source article URLs â\x80\x94 a sample or the full list per verbosity.'}, 'abstract': {'type': ['string', 'null']}, 'entities': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Key actors named in the story.'}, 'event_id': {'type': 'string', 'description': 'Stable id, e.g. evt_...'}, 'headline': {'type': ['string', 'null']}, 'last_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'newsrooms': {'type': ['integer', 'null'], 'description': 'Independent newsrooms â\x80\x94 the corroboration signal.'}, 'one_liner': {'type': ['string', 'null']}, 'event_type': {'type': ['string', 'null'], 'description': 'family.leaf taxonomy value, e.g. deals.merger_acquisition.'}, 'first_seen': {'type': ['string', 'null'], 'description': 'ISO 8601 UTC.'}, 'content_type': {'type': ['string', 'null']}, 'source_count': {'type': ['integer', 'null'], 'description': 'Publisher domains, mirrors included.'}, 'language_count': {'type': ['integer', 'null']}}, 'additionalProperties': True}, 'description': 'Present for a search call (event_id unset).'}, 'keyless_notices': {'type': 'array', 'items': {'type': 'string'}, 'description': "Present when a keyless caller's request was narrowed."}}, 'description': "A page of synthesized news events for a search call, or â\x80\x94 when `event_id` is set â\x80\x94 a single event's own fields at the top level instead of under `events`.", 'additionalProperties': True}
최근 도구 변경
유사한 MCP 서버
Social Fetch
Retrieves public content and metadata from social networks, music services, Facebook Marketplace, events, profiles, posts, commen…
Heista
Analyzes video advertising, builds brand intelligence profiles, researches markets, and generates advertising scripts and creativ…
VarynForge
Supports SEO research and content planning through niche analysis, competitor and keyword research, opportunity discovery, and wr…
Tmdb
Provides TMDB-based movie, television, and people discovery, metadata, credits, recommendations, videos, and trend-related entert…
AfterLaunch: the agentic growth marketing engine
Runs growth-marketing workflows covering SEO, AI-search visibility, competitor analysis, content planning, distribution channels,…
Setlist Fm
Provides setlist.fm concert research by artist, venue, city, country, and date, including artist records, concert histories, and …
Watchmode
Searches streaming catalogs and availability across regions, services, genres, networks, titles, and release dates.
Vimeo
Searches and retrieves public Vimeo videos, channels, categories, and related metadata.