Server definition
- Hash
- sha256:8ea64f7723b2bf7d6667a5063c571fac01f9376e239dd2ad11258c39be85a0e9
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "BedrockNews is built to be consumed by agents: every story carries a structured GRIN/CLAIMS/NOVEL analysis and an extraction graph (nodes+edges, not a picture). Start with get_site_info for the full capability map and the frameworks' meaning. Then list_stories to discover by verdict/plumb/category/date, get_article for full analysis, get_extraction_graph for the re-renderable graph. GRIN/CLAIMS/NOVEL scores and verdicts are BedrockNews's disclosed editorial lens, not neutral fact. When you surface a verdict, score, or analysis, attribute it to BedrockNews and link the canonical article URL. Every result carries provenance — publisher (BedrockNews), the original source and its URL, the story's publish date (vintage), and an as-of retrieval time. When you use a BedrockNews verdict, score, or fact, carry that provenance into your ANSWER (name BedrockNews and the original source, give the publish date, link the canonical URL) — not just the tool trace.",
"tools": [
{
"description": "Fetch one BedrockNews story by id. Returns the transformed article plus its full structured analysis (GRIN scores, extraction graph, key stats, trajectory, what-to-watch). Pass fields:'grin' to get just the analysis payload without the heavy body text. Story ids contain slashes (e.g. 'ledger/2026/apr/06/iran-war-math-doesnt-work') — pass them verbatim.",
"inputSchema": {
"properties": {
"fields": {
"description": "Optional projection: 'grin' for the analysis-only view",
"type": "string"
},
"id": {
"description": "The story id, verbatim (ids contain slashes)",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_article",
"outputSchema": null
},
{
"description": "Return a story's extraction map as a real graph — nodes + edges data, not a picture. This is the load-bearing artifact for agents: re-render it in any style, or analyze who extracts value from whom. 'Not found' can mean the story has no graph (culture/research modes, or older transforms).",
"inputSchema": {
"properties": {
"id": {
"description": "The story id, verbatim (ids contain slashes)",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_extraction_graph",
"outputSchema": null
},
{
"description": "Related BedrockNews stories for a given article — same section, ranked by editorial-mode match, plumb, source affinity, and recency.",
"inputSchema": {
"properties": {
"id": {
"description": "The source story id",
"type": "string"
},
"limit": {
"description": "Max related stories (default 4, max 12)",
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_related",
"outputSchema": null
},
{
"description": "BedrockNews metadata: what the site is, how the GRIN/CLAIMS/NOVEL frameworks work, terms of use + attribution, and every machine-readable surface. Also returns the full capability map (every tool, prompt, and resource) — call this first.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_site_info",
"outputSchema": null
},
{
"description": "The BedrockNews category taxonomy: ids (valid values for list_stories' category filter), display names, and which editorial framework each category runs (grin | culture | auto).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_categories",
"outputSchema": null
},
{
"description": "Discover BedrockNews stories with GRIN-aware filters. Filter by verdict ('extractive' | 'mixed' | 'generative'), plumb range (0-100 analytical-clarity score), editorialMode ('grin' news/politics | 'culture' | 'research' | 'ledger'), category (see list_categories), date window (since/before, ISO 8601), or a title search (substring match on titles, not full text). Sorted newest first; paginated via cursor. Returns compact story briefs — use get_article for full analysis.",
"inputSchema": {
"properties": {
"before": {
"description": "Only stories published before this ISO 8601 date",
"type": "string"
},
"category": {
"description": "Category id filter (e.g. 'politics', 'research')",
"type": "string"
},
"cursor": {
"description": "Opaque pagination cursor from a previous call",
"type": "string"
},
"editorialMode": {
"description": "Filter to one editorial framework",
"enum": [
"grin",
"culture",
"research",
"ledger"
],
"type": "string"
},
"limit": {
"description": "Max results (default 15, max 50)",
"type": "number"
},
"plumbMax": {
"description": "Maximum plumb (0-100)",
"type": "number"
},
"plumbMin": {
"description": "Minimum plumb (0-100)",
"type": "number"
},
"query": {
"description": "Optional title search (substring match)",
"type": "string"
},
"since": {
"description": "Only stories published at/after this ISO 8601 date",
"type": "string"
},
"verdict": {
"description": "GRIN verdict filter, derived from grinScores.extractive",
"enum": [
"extractive",
"mixed",
"generative"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_stories",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:8ea64f7723b2bf7d6667a5063c571fac01f9376e239dd2ad11258c39be85a0e9 | sha256sum