Hanging Context developers
Call Hanging Context from code. Reading is free. No key, account or OAuth is needed.
MCP server
URL: https://hangingcontext.com/mcp (Streamable HTTP). A plain GET to this URL returns JSON that explains how to connect. The tools are hc_ask, hc_latest, hc_since, hc_search, hc_get_story, hc_sources, hc_topics, hc_about. Call hc_ask first. See the MCP guide and the server card.
Claude Code
claude mcp add --transport http hangingcontext https://hangingcontext.com/mcpCursor
Add this to .cursor/mcp.json.
{
"mcpServers": {
"hangingcontext": {
"url": "https://hangingcontext.com/mcp"
}
}
}REST and JSON endpoints
The full description is the OpenAPI file. No endpoint needs a key.
GET /editions/latest.json: Get the latest storiesGET /n/{topic}/index.json: Get the stories of one topicGET /stories/{date}/{slug}/index.json: Get one story as JSONGET /stories/{date}/{slug}/index.md: Get one story as MarkdownGET /roundups/index.json: List the roundupsGET /ask: Ask a question (GET)POST /ask: Ask a question (POST)GET /editions/feed.json: Get the JSON FeedGET /editions/feed.xml: Get the RSS feedGET /editions/atom.xml: Get the Atom feedGET /.well-known/reuse.json: Get the reuse termsGET /mcp: Get the MCP connection detailsPOST /mcp: Send an MCP JSON-RPC message
Example: /editions/latest.json
curl -s https://hangingcontext.com/editions/latest.jsonThe reply has this shape (values shortened):
{
"generated_at": "2026-10-16T12:00:00Z",
"stories": [
{
"slug": "example-story-slug",
"url": "https://hangingcontext.com/stories/2026-10-16/example-story-slug/",
"headline": "An example headline",
"dek": "One sentence that says what happened.",
"published_at": "2026-10-16T12:00:00Z",
"cited_manifest_ids": [
"1234567890123456789"
]
}
]
}Example: /ask
curl -s -X POST https://hangingcontext.com/ask -H 'Content-Type: application/json' -d '{"query": "what happened in AI in the last 12 hours"}'The reply has this shape (values shortened):
{
"_meta": {
"response_type": "answer",
"version": "0.5",
"protocol": "NLWeb",
"uses_llm": false,
"api_version": "1"
},
"query": "what happened in AI in the last 12 hours",
"no_match": false,
"results": [
{
"url": "https://hangingcontext.com/stories/2026-10-16/example-story-slug/",
"name": "An example headline",
"description": "A fact copied word for word from the story.",
"manifest_ids": [
"1234567890123456789"
]
}
]
}Ask endpoint
GET https://hangingcontext.com/ask?query=... or POST https://hangingcontext.com/ask with a JSON body that has a query. The protocol is NLWeb. The reply copies facts word for word from recent stories and uses no LLM. A GET with no question returns JSON that explains the call. Send Accept: text/event-stream to stream the reply.
Authentication
None. Do not send a key.
Rate limits
60 calls per 60 seconds per IP address. The limit counts /ask calls and MCP tool calls together. The JSON, Markdown and feed files are not counted. /ask replies carry the RateLimit-Policy and RateLimit headers. A refused call returns status 429 with a Retry-After header.
Errors
An error is JSON with the fields error, message and next_step. A missing file returns 404 in the same shape.
{
"error": "not_found",
"message": "This page does not exist on Hanging Context.",
"next_step": "Read https://hangingcontext.com/llms.txt or https://hangingcontext.com/sitemap.xml for the list of pages, or https://hangingcontext.com/developers/ for the API."
}Versions
The API version is 1. Every JSON response from /ask and every JSON file carries the HC-API-Version header. Breaking changes ship as a new version. We announce them at least 90 days ahead with Deprecation and Sunset response headers on the old version, and on the /developers page.
Pagination
The REST lists have no pages. Each list holds every story of its window. To get only the stories that are new since your last call, call the MCP tool hc_since. It returns next_cursor and has_more, and you send next_cursor in your next call.
More
Questions and answers
Is Hanging Context free?
Yes. Reading is free: the pages, the JSON and Markdown files, the feeds, the ask endpoint and the MCP server. You can also reuse the stories, also for commercial use, if you credit Hanging Context, with provenance by Synorb.
Do I need a key or an account?
No. Every read endpoint is public. There are no accounts, no keys and no OAuth.
Where do the facts come from?
From Synorb Manifests. Each story uses Manifests from the last 24 hours. Each paragraph cites one or more Manifest ids, and each Manifest links to its original source.
How do I connect an agent?
Add the MCP server at https://hangingcontext.com/mcp (Streamable HTTP) and call hc_ask with a question. Or send a question to https://hangingcontext.com/ask. Or read the JSON files that the OpenAPI description lists.
How often is it updated?
Stories are rebuilt every 12 hours, at 00:00 and 12:00 UTC. To get only the stories that are new since your last call, call the MCP tool hc_since with a cursor.
Can I reuse the stories?
Yes, also for commercial use. Credit "Hanging Context, with provenance by Synorb", link to the story and keep the cited Manifest ids. Read the reuse terms at https://hangingcontext.com/terms/reuse/.