Fresh context for agents. Ask, search or follow stories. Each fact cites a Synorb Manifest.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Explain Hanging Context. Returns what it is, the checks on each story, the reuse rules, and how to read or receive stories.
This tool takes no arguments.
Explain Hanging Context. Returns what it is, the checks on each story, the reuse rules, and how to read or receive stories.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Answer a question from recent stories. Ranks stories by keyword match and copies the best key facts word for word. Returns up to 5 facts, each with its story URL and Manifest ids, and up to `limit` matched stories. If nothing matches, returns no_match true and suggestions. It does not use an LLM. Use it when the user asks a question about recent news.
| Argument | Type | Description |
|---|---|---|
| days | integer | How many days back to search. From 1 to 30. |
| limit | integer | Maximum number of results. From 1 to 100. |
| topic | any | Topic id. Call hc_topics for the list. Leave empty for all topics. |
| question* | string | Your question in plain words. |
{
"type": "object",
"title": "hc_askArguments",
"required": [
"question"
],
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 7,
"description": "How many days back to search. From 1 to 30."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 5,
"description": "Maximum number of results. From 1 to 100."
},
"topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Topic",
"default": null,
"description": "Topic id. Call hc_topics for the list. Leave empty for all topics."
},
"question": {
"type": "string",
"title": "Question",
"description": "Your question in plain words."
}
}
}Read one story. Use format `brief` for the headline, dek and key facts. Use format `full` for the whole story as Markdown. Use format `claims` for key facts and paragraphs as JSON, each with its Manifest ids. Returns the story in that format and up to 3 related stories.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Story slug, for example cloud-providers-raise-capex. |
| format | string | One of `brief`, `full` or `claims`. |
{
"type": "object",
"title": "hc_get_storyArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"description": "Story slug, for example cloud-providers-raise-capex."
},
"format": {
"type": "string",
"title": "Format",
"default": "brief",
"description": "One of `brief`, `full` or `claims`."
}
}
}Get the latest stories, newest first. Filter by topic or beat. Returns up to 20 stories with headline, dek, topic, URL and Manifest ids.
| Argument | Type | Description |
|---|---|---|
| beat | any | Beat id inside a topic. Call hc_topics for the list. |
| limit | integer | Maximum number of results. From 1 to 100. |
| topic | any | Topic id. Call hc_topics for the list. Leave empty for all topics. |
{
"type": "object",
"title": "hc_latestArguments",
"required": [],
"properties": {
"beat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Beat",
"default": null,
"description": "Beat id inside a topic. Call hc_topics for the list."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"description": "Maximum number of results. From 1 to 100."
},
"topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Topic",
"default": null,
"description": "Topic id. Call hc_topics for the list. Leave empty for all topics."
}
}
}Search recent stories by keyword. The ranking uses keyword match only. Returns up to 20 stories with headline, dek, topic, URL, Manifest ids and score.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results. From 1 to 100. |
| query* | string | One or more keywords. |
| topic | any | Topic id. Call hc_topics for the list. Leave empty for all topics. |
| since_hours | any | Only stories from the last N hours. Leave empty for all. |
{
"type": "object",
"title": "hc_searchArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"description": "Maximum number of results. From 1 to 100."
},
"query": {
"type": "string",
"title": "Query",
"description": "One or more keywords."
},
"topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Topic",
"default": null,
"description": "Topic id. Call hc_topics for the list. Leave empty for all topics."
},
"since_hours": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Since Hours",
"default": null,
"description": "Only stories from the last N hours. Leave empty for all."
}
}
}Get only the stories that are new since your last call. Send the cursor from the last response. If you send no cursor, the call returns the current cursor and no stories. Returns up to 50 stories with next_cursor and has_more.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results. From 1 to 100. |
| topic | any | Topic id. Call hc_topics for the list. Leave empty for all topics. |
| cursor | any | The next_cursor value from your last hc_since call. Leave empty to get the current cursor. |
{
"type": "object",
"title": "hc_sinceArguments",
"required": [],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"description": "Maximum number of results. From 1 to 100."
},
"topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Topic",
"default": null,
"description": "Topic id. Call hc_topics for the list. Leave empty for all topics."
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The next_cursor value from your last hc_since call. Leave empty to get the current cursor."
}
}
}Show where a story gets its facts. Returns each source with its title, source name, original URL and date, and which facts and paragraphs use it. Also returns the trust label.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Story slug, for example cloud-providers-raise-capex. |
{
"type": "object",
"title": "hc_sourcesArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"description": "Story slug, for example cloud-providers-raise-capex."
}
}
}List the topics. Returns each topic with its title, beats, sources and story count for the last 24 hours. Also returns not_covered, a list of things this server does not cover. Call this first to get valid topic and beat ids for hc_latest, hc_search and hc_since.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}