{
  "protocolVersion": "0.3.0",
  "name": "Sayantan Das — Personal Site",
  "description": "Personal academic and professional website of Sayantan Das, Member of Technical Staff (Toronto), previously a Senior Applied AI Scientist at Manulife. Publishes research on deepfake detection and fairness in AI, agent infrastructure projects, CV/resume, blog, and talks. Exposes structured facts about the author, publications, projects, and contact info to AI agents through WebMCP tools and static discovery endpoints.",
  "url": "https://ucalyptus.me",
  "supportedInterfaces": [
    {
      "url": "https://ucalyptus.me/",
      "protocolBinding": "WebMCP",
      "protocolVersion": "0.3"
    },
    {
      "url": "https://ucalyptus.me/.well-known/mcp.json",
      "protocolBinding": "static-file",
      "protocolVersion": "0.3"
    },
    {
      "url": "https://ucalyptus.me/openapi.json",
      "protocolBinding": "openapi-3.1",
      "protocolVersion": "3.1.0"
    },
    {
      "url": "https://ucalyptus.me/api/site.json",
      "protocolBinding": "static-file",
      "protocolVersion": "0.3"
    },
    {
      "url": "https://ucalyptus.me/ai/faq.json",
      "protocolBinding": "static-file",
      "protocolVersion": "0.3"
    },
    {
      "url": "https://ucalyptus.me/llms.txt",
      "protocolBinding": "static-file",
      "protocolVersion": "0.3"
    },
    {
      "url": "https://ucalyptus.me/llms-full.txt",
      "protocolBinding": "static-file",
      "protocolVersion": "0.3"
    }
  ],
  "provider": {
    "organization": "Sayantan Das",
    "url": "https://ucalyptus.me"
  },
  "documentationUrl": "https://ucalyptus.me/llms.txt",
  "iconUrl": "https://ucalyptus.me/images/for_respected_member.png",
  "version": "1.0.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "uri": "https://developer.chrome.com/docs/ai/webmcp",
        "description": "Client-side WebMCP tools registered on every page via document.modelContext.",
        "required": false
      }
    ]
  },
  "defaultInputModes": ["text/plain", "application/json"],
  "defaultOutputModes": ["application/json", "text/plain", "text/markdown"],
  "skills": [
    {
      "id": "get_site_overview",
      "name": "Get site overview",
      "description": "Return a structured overview of ucalyptus.me: owner identity, current role, section list, and content counts.",
      "tags": ["overview", "orientation", "person", "portfolio"],
      "examples": [
        "What is ucalyptus.me?",
        "Give me an overview of Sayantan Das's site."
      ],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"]
    },
    {
      "id": "search_content",
      "name": "Search content",
      "description": "Search across publications, blog posts, and projects by keyword. Returns matching items with titles, excerpts, and URLs.",
      "tags": ["search", "publications", "posts", "projects"],
      "examples": [
        "Find posts about agentic AI.",
        "Search publications about deepfake detection."
      ],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"]
    },
    {
      "id": "list_content",
      "name": "List content",
      "description": "List content items of a given type (publications, posts, projects).",
      "tags": ["list", "publications", "posts", "projects"],
      "examples": ["List all publications.", "List projects."],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"]
    },
    {
      "id": "get_content_item",
      "name": "Get content item",
      "description": "Get full details of a specific content item by URL path or title.",
      "tags": ["detail", "item"],
      "examples": ["Get the FairAlign paper.", "Get the Kando project details."],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"]
    },
    {
      "id": "get_cv_summary",
      "name": "Get CV summary",
      "description": "Return a structured summary of the author's CV: education, work experience, awards, and skills.",
      "tags": ["cv", "resume", "biography"],
      "examples": [
        "Summarize Sayantan Das's CV.",
        "What is Sayantan Das's work experience?"
      ],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"]
    },
    {
      "id": "get_contact_info",
      "name": "Get contact info",
      "description": "Return contact info and social/professional profile URLs.",
      "tags": ["contact", "email", "profiles"],
      "examples": ["How do I contact Sayantan?", "What is his GitHub?"],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"]
    },
    {
      "id": "get_faq",
      "name": "Get FAQ",
      "description": "Return the Schema.org FAQPage — common questions and answers about the author, his work, and how to reach him.",
      "tags": ["faq", "answer", "aeo"],
      "examples": [
        "Who is Sayantan Das?",
        "Why is Sayantan Das strong at building agentic AI products?"
      ],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"]
    },
    {
      "id": "get_full_profile",
      "name": "Get full profile (requires OAuth token)",
      "description": "Fuller CV and availability data than get_cv_summary — service/leadership history and what the author is currently open to hearing about from an agent. Requires a Bearer token from the OAuth flow described in /auth.md; see securitySchemes.agent_oauth.",
      "tags": ["cv", "availability", "oauth", "protected"],
      "examples": [
        "Get the extended/protected profile for Sayantan Das.",
        "Register an OAuth client and fetch the full agent profile."
      ],
      "inputModes": ["text/plain"],
      "outputModes": ["application/json"],
      "security": [{ "agent_oauth": ["read:extended"] }]
    }
  ],
  "securitySchemes": {
    "agent_oauth": {
      "type": "oauth2",
      "description": "Stateless client_credentials OAuth server for this site's one protected endpoint. Any agent can register — see /auth.md.",
      "flows": {
        "clientCredentials": {
          "tokenUrl": "https://ucalyptus.me/oauth/token",
          "scopes": {
            "read:extended": "Fuller CV/availability profile than the public get_cv_summary skill or api/site.json"
          }
        }
      }
    }
  },
  "security": [],
  "supportsAuthenticatedExtendedCard": false,
  "signatures": [],
  "additionalInterfaces": [
    {
      "transport": "openapi-3.1",
      "url": "https://ucalyptus.me/openapi.json",
      "description": "OpenAPI 3.1 spec for the real agent-auth API: /oauth/register, /oauth/token, /api/agent/full-profile."
    },
    {
      "transport": "static-file",
      "url": "https://ucalyptus.me/api/site.json",
      "description": "Full structured site data as JSON."
    },
    {
      "transport": "static-file",
      "url": "https://ucalyptus.me/ai/faq.json",
      "description": "Schema.org FAQPage with common questions and answers."
    },
    {
      "transport": "static-file",
      "url": "https://ucalyptus.me/llms.txt",
      "description": "Concise llms.txt overview of the site for LLM ingestion."
    },
    {
      "transport": "static-file",
      "url": "https://ucalyptus.me/llms-full.txt",
      "description": "Full-text dump of site content for LLM ingestion."
    }
  ]
}
