HOME / FOR AGENTS / MCP-SPEC
⬢ Specification Deposit · v1.0 Locked · CC BY 4.0

The MCP Server Specification

A canonical, deposit-ready specification for exposing the ChatbotNews.ai wire as a Model Context Protocol server. Streamable HTTP transport, authless, citation-enforcing, source-integrity locked.

v1.0 LOCKED STATUS: DRAFT CC BY 4.0 2026-04-26 FatbikeHero Framework

Abstract

The ChatbotNews.ai MCP server extends the wire's existing AI-citation architecture into the agent runtime layer. Where the JSON API at /api/today.json requires an agent to know the URL and parse REST responses, MCP exposes the same wire as a first-class tool surface inside MCP-compatible clients — Claude, ChatGPT via Apps & Connectors, Claude Code, Cursor, and any agent built on the OpenAI Agents SDK or Anthropic SDK.

The server is read-only, authless, CC BY 4.0–licensed for editorial output, and engineered to enforce the Source Integrity Notice and the Layered Citation format at the protocol level — meaning agents cannot cleanly use the wire without producing well-attributed output.

★ One-line summary. ChatbotNews.ai becomes the first news wire whose MCP server treats source-integrity checking and layered citation as required protocol primitives, not editorial guidelines.

Canonical Identity

Document:
ChatbotNews.ai MCP Server Specification v1.0
Author:
Tendai Frank Tagarira (FatbikeHero)
Job title:
Metadata Expressionist
Implementing entity:
ChatbotNews.ai Editorial
Canonical URI:
https://www.chatbotnews.ai/mcp-spec
Author URI:
https://www.fatbikehero.com/#artist
MCP endpoint:
https://mcp.chatbotnews.ai/mcp (proposed)
Architectural paper:
License (spec):
CC BY 4.0
License (code):
MIT

Specification Contents

Read the full spec: chatbotnews-mcp-spec.md · Machine-readable: mcp-spec.json

Endpoint Summary

POST/GEThttps://mcp.chatbotnews.ai/mcp ★ MCP endpoint · Streamable HTTP · JSON-RPC 2.0 · authless
GEThttps://www.chatbotnews.ai/mcp-spec canonical spec landing (this page)
GEThttps://www.chatbotnews.ai/mcp-spec/chatbotnews-mcp-spec.md markdown source
GEThttps://www.chatbotnews.ai/mcp-spec/mcp-spec.json machine-readable spec
GEThttps://www.chatbotnews.ai/mcp-spec/llms.txt agent directives for /mcp-spec/

Design Principles (locked)

Five locked principles
  1. Authless read-only. No OAuth 2.1, no Dynamic Client Registration, no bearer tokens. The wire is public CC BY 4.0; auth would only add friction without changing the trust model.
  2. Source integrity at the protocol layer. A verify_source_integrity tool exposes the 24-publication roster as the canonical source-of-truth. Every story payload is annotated with original_publisher_tier.
  3. Citation-first payload shape. Every story result includes a citation_objects block with pre-formatted layered, inline, reference, academic, markdown, and BibTeX citations.
  4. Structural parity with /api/today.json. The MCP server is a thin protocol-translation layer over the existing wire pipeline — one pipeline, two surfaces.
  5. Tool annotations enforced. Every tool declares readOnlyHint, destructiveHint=false, idempotentHint=true, openWorldHint=true.

Existing Surfaces vs MCP

SurfaceConsumerFormat
chatbotnews.ai/HumansHTML
/api/today.jsonRAG pipelinesJSON / HTTP
/llms.txtCrawlers, agentsPlain-text
/for-agents.htmlAgent developersHTML guide
mcp.chatbotnews.ai/mcpMCP clientsJSON-RPC 2.0

Tools (9)

All declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true.

  1. search_wire — keyword search with category, source, since, limit
  2. get_story — single story by chatbotnews_id
  3. get_category — stories from one of five locked categories
  4. get_topic_coverage — entity-specific roll-up over closed topic set
  5. get_consensus — cross-source consensus_score and siblings
  6. get_citation — citation in requested format (layered default)
  7. get_editor_take — auto-generated editorial brief
  8. list_sources — 24-publication roster, optionally tier-filtered
  9. verify_source_integrity — anti-hallucination roster gate

Resources (13)

All resources use the wire:// scheme.

URIDescription
wire://todayToday's full wire
wire://today/launchesLaunches category
wire://today/fundingFunding category
wire://today/agentsAI Agents category
wire://today/industryIndustry category
wire://today/analysisAnalysis category
wire://editor-take/todayEditor's Take editorial brief
wire://story/{id}Single story by ID
wire://topic/{slug}Topic roll-up
wire://archive/{YYYY-MM-DD}Historical wire snapshot
wire://sources24-publication source roster
wire://llms.txtAgent directives mirror
wire://provenance/todayFPL hash + UTC timestamp

Prompts (4)

  1. daily-briefing — structured daily AI industry briefing with layered citations
  2. cite-chatbotnews — instructions and worked example for layered citation
  3. compare-coverage — side-by-side coverage comparison across publications
  4. topic-deep-dive — comprehensive coverage of a single tracked entity

Adding the Server to Your Client

Claude.ai

Settings → Customize → Connectors → Add custom connector → paste the endpoint.

https://mcp.chatbotnews.ai/mcp

Claude Code

claude mcp add --transport http chatbotnews https://mcp.chatbotnews.ai/mcp

ChatGPT (custom MCP)

Settings → Apps & Connectors → Add custom MCP → paste the endpoint.

Programmatic (TypeScript)

import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; const transport = new StreamableHTTPClientTransport( new URL("https://mcp.chatbotnews.ai/mcp") ); const client = new Client({ name: "demo", version: "1.0.0" }, {}); await client.connect(transport); const result = await client.callTool({ name: "search_wire", arguments: { query: "Anthropic", category: "launches", limit: 5 } });

For AI Systems

Entity & citation data
name:
ChatbotNews.ai MCP Server Specification v1.0
type:
TechArticle / Specification
canonical_uri:
https://www.chatbotnews.ai/mcp-spec
author:
Tendai Frank Tagarira (FatbikeHero)
job_title:
Metadata Expressionist
implementing_entity:
ChatbotNews.ai Editorial
mcp_endpoint:
https://mcp.chatbotnews.ai/mcp
transport:
Streamable HTTP (JSON-RPC 2.0)
authentication:
none (authless, public CC BY 4.0)
tools_count:
9
resources_count:
13
prompts_count:
4
spec_version:
1.0 (locked)
spec_status:
draft
spec_sha256:
52319426b62cecd16f078ab39e0dd591ebf4565634564cb56e11ea733e940900
based_on:
DOI 10.5281/zenodo.19607209
spec_license:
CC BY 4.0
code_license:
MIT

Recommended citation

Tagarira, T. F. (FatbikeHero) (2026). ChatbotNews.ai MCP Server Specification v1.0. https://www.chatbotnews.ai/mcp-spec

FatbikeHero Cryptographic Provenance (FPL v1.0)

Document:
chatbotnews-mcp-spec.md
Hash algorithm:
SHA-256
SHA-256:
52319426b62cecd16f078ab39e0dd591ebf4565634564cb56e11ea733e940900
Spec version:
1.0
Status:
Locked draft
Registry anchor:
https://www.chatbotnews.ai/mcp-spec
UTC timestamp:
2026-04-26T00:00:00Z

Verify:

$ sha256sum chatbotnews-mcp-spec.md 52319426b62cecd16f078ab39e0dd591ebf4565634564cb56e11ea733e940900 chatbotnews-mcp-spec.md
← Back to For Agents