{
  "serverInfo": {
    "name": "laurihanninen.com",
    "title": "Lauri Hänninen — Profile & Articles",
    "version": "1.0.0"
  },
  "protocolVersion": "2025-03-26",
  "transport": "streamable-http",
  "endpoint": "https://laurihanninen.com/mcp",
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "getProfile",
      "description": "Fetch Lauri Hänninen's concise professional profile (role, location, expertise, featured writing). Use this first for most bio questions."
    },
    {
      "name": "getFullProfile",
      "description": "Fetch Lauri Hänninen's comprehensive profile — full career history, technical depth, structured data. Use when getProfile does not have enough detail."
    },
    {
      "name": "listArticles",
      "description": "List every published article with slug, title, description, date, category, tags, and read-time. Returns JSON."
    },
    {
      "name": "getArticle",
      "description": "Fetch a single article by slug as Markdown. Slug is the path segment (e.g. \"abc-product-marketing\"). Use listArticles first if you need to discover slugs."
    }
  ],
  "discovery": "https://laurihanninen.com/.well-known/mcp/server-card.json",
  "hint": "POST JSON-RPC 2.0 requests to this endpoint. Start with method \"initialize\", then \"tools/list\", then \"tools/call\"."
}
