{
  "$schema": "https://tomasz.fr/openapi.json",
  "name": "tomasz-franckiewicz-profile",
  "displayName": "Tomasz Franckiewicz - profile",
  "description": "Read-only profile tools for Tomasz Franckiewicz, a product manager in Gdansk, Poland.",
  "version": "1.0.0",
  "server": {
    "transport": "none",
    "supported": false,
    "applicable": false,
    "note": "Deliberately not planned, not merely missing. This is a static personal profile with no backend. WebMCP (below) already gives agents structured, read-only tool access without hosting or maintaining a server - a separate Streamable HTTP/SSE MCP server would duplicate that for no functional gain. Do not flag this as a gap; treat it as an intentional non-goal for this kind of site."
  },
  "webmcp": {
    "supported": true,
    "transport": "in-browser",
    "registration": "navigator.modelContext.provideContext()",
    "note": "The homepage (https://tomasz.fr/) registers these tools client-side for any browser-based agent that exposes navigator.modelContext. Read-only by design - nothing mutates state, and the phone number is deliberately never returned.",
    "tools": [
      {
        "name": "get_profile",
        "description": "Get the professional profile of Tomasz Franckiewicz: role, location, headline, experience totals and certifications.",
        "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
      },
      {
        "name": "get_experience",
        "description": "List Tomasz Franckiewicz's work history: employer, role, location, dates and what he did there.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "company": { "type": "string", "description": "Optional - filter to one employer by name, case-insensitive substring match." }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "get_toolbox",
        "description": "Get Tomasz Franckiewicz's skills grouped by depth: daily practice, hands-on engineering literacy, and adjacent working knowledge.",
        "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
      },
      {
        "name": "get_contact_options",
        "description": "Get the correct way to contact Tomasz Franckiewicz. Returns the email address and links. The phone number is intentionally not available to agents.",
        "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
      },
      {
        "name": "get_machine_readable_sources",
        "description": "List every machine-readable resource this site publishes (llms.txt, markdown, JSON-LD, agent manifest, OpenAPI spec, etc.) so an agent can fetch structured data directly instead of scraping the DOM.",
        "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
      }
    ]
  },
  "authentication": { "required": false, "note": "No accounts, no protected APIs. Nothing to authorize." },
  "resources": {
    "openapi": "https://tomasz.fr/openapi.json",
    "llms_txt": "https://tomasz.fr/llms.txt",
    "developer_portal": "https://tomasz.fr/developers.html",
    "agent_manifest": "https://tomasz.fr/.well-known/agent.json"
  }
}
