{
  "$schema": "https://a2aproject.github.io/A2A/specification/agent-card.json",
  "schemaVersion": "0.2.0",
  "name": "peppolnews",
  "displayName": "PeppolNews",
  "description": "News aggregator and content hub for Peppol and e-invoicing. Exposes a read-only REST API, NLWeb /ask, MCP server card, and RSS / JSON feeds for agents.",
  "version": "0.1.0",
  "homepage": "https://peppolnews.com",
  "documentation": "https://peppolnews.com/llms.txt",
  "provider": {
    "organization": "PeppolNews",
    "url": "https://peppolnews.com",
    "contact": {
      "email": "desk@peppolnews.com"
    }
  },
  "capabilities": {
    "streaming": true,
    "longRunningTasks": false,
    "pushNotifications": true
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/markdown",
    "text/event-stream"
  ],
  "skills": [
    {
      "id": "list-articles",
      "name": "List articles",
      "description": "List published PeppolNews articles by section, audience, or country.",
      "tags": [
        "news",
        "peppol",
        "e-invoicing"
      ],
      "examples": [
        "Show me the latest Belgium mandate articles",
        "What did Peppol publish this week?"
      ],
      "url": "https://peppolnews.com/api/v1/articles"
    },
    {
      "id": "get-article",
      "name": "Get article",
      "description": "Fetch one article with sources.",
      "tags": [
        "news"
      ],
      "url": "https://peppolnews.com/api/v1/articles/{slug}"
    },
    {
      "id": "country-dossier",
      "name": "Country dossier",
      "description": "Mandate status, authority, and recent coverage for one country.",
      "tags": [
        "mandates",
        "country"
      ],
      "url": "https://peppolnews.com/api/v1/countries/{code}"
    },
    {
      "id": "spec-tracker",
      "name": "Spec tracker",
      "description": "Tracked Peppol specifications and their last-changed status.",
      "tags": [
        "specs",
        "BIS",
        "PINT"
      ],
      "url": "https://peppolnews.com/api/v1/specs"
    },
    {
      "id": "ask",
      "name": "Natural-language ask",
      "description": "NLWeb-shaped natural-language query over the corpus, with SSE streaming.",
      "tags": [
        "nlweb",
        "ask",
        "streaming"
      ],
      "url": "https://peppolnews.com/ask"
    }
  ],
  "transports": [
    {
      "type": "rest",
      "url": "https://peppolnews.com/api/v1"
    },
    {
      "type": "nlweb",
      "url": "https://peppolnews.com/ask"
    },
    {
      "type": "rss",
      "url": "https://peppolnews.com/feed.xml"
    },
    {
      "type": "mcp-card",
      "url": "https://peppolnews.com/.well-known/mcp/server-card.json"
    }
  ],
  "authentication": {
    "schemes": [
      "none"
    ],
    "optional": [
      "http-message-signatures"
    ],
    "docs": "https://peppolnews.com/auth.md",
    "protectedResourceMetadata": "https://peppolnews.com/.well-known/oauth-protected-resource"
  },
  "contactEndpoint": {
    "email": "desk@peppolnews.com",
    "form": "https://peppolnews.com/contact"
  }
}