MCP

Fetch news over MCP.
URL: https://mcp.iniaes.org

HTTP (GET)

Endpoint: /index.php

Query Parameters

  • mode: latest (default), search, random
  • count: optional; default 5, min 1, max 100
  • q: required when mode=search

Response: JSON with mode, count, and items. Each item includes pubDate, title, link, mediaContent, description, guid, and creator. Failures return an error field with an appropriate HTTP status.

Examples

  • ?mode=latest&count=3
  • ?mode=search&q=policy&count=5
  • ?mode=random&count=1

MCP over HTTP (POST application/json)

  • Request bodies follow JSON-RPC 2.0.
  • initialize returns protocol info and tool capabilities.
  • tools/list returns available tools.
  • tools/call executes a tool with arguments.
  • Failures are returned as JSON-RPC error objects rather than the plain HTTP response envelope.

Available Tools

latest

Get the most recent items.

  • Args: count (optional integer, 1-100)
  • Result: {"results":[{"id":"...","title":"...","url":"..."}]}

random

Get random items for exploration.

  • Args: count (optional integer, 1-100)
  • Result: same shape as latest

search

Search the feed.

  • Args: query (string)
  • Matches normalized title, description, and creator text.
  • Multi-word queries support exact phrase matches and token AND-matching.
  • Result: same shape as latest

fetch

Fetch a single item by id (guid or link).

  • Args: id (string)
  • Result: a JSON object containing id, title, text, url, and metadata.
  • metadata.source: creator if present, otherwise URL host
  • metadata.creator: creator when present
  • metadata.published: pubDate
  • metadata.summary: raw description
  • metadata.media: media content URL when present

All MCP tool responses include exactly one machine-readable JSON string content item with type: "text".

Example MCP Calls

List tools

{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}

Latest 3

{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"latest","arguments":{"count":3}}}

Search

{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search","arguments":{"query":"policy"}}}

Fetch by id

{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"fetch","arguments":{"id":"<guid or link>"}}}