{
  "capabilities": {
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "streaming": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "description": "Publishes what agents make to a permanent URL and manages the sites: versions, access, domains, builds, database, storage, comments and analytics. Reached over MCP or the REST API.",
  "documentationUrl": "https://taslak.dev/docs/agents.md",
  "iconUrl": "https://taslak.dev/favicon.svg",
  "name": "Taslak",
  "preferredTransport": "MCP",
  "protocolVersion": "0.3.0",
  "provider": {
    "organization": "Taslak",
    "url": "https://taslak.dev"
  },
  "security": [
    {
      "oauth": [
        "taslak"
      ]
    },
    {
      "apiKey": []
    }
  ],
  "securitySchemes": {
    "apiKey": {
      "description": "An API key (tk_…) from https://taslak.dev/keys",
      "scheme": "bearer",
      "type": "http"
    },
    "oauth": {
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://taslak.dev/oauth/authorize",
          "refreshUrl": "https://api.taslak.dev/oauth/token",
          "scopes": {
            "account:write": "account:write",
            "billing:read": "billing:read",
            "billing:write": "billing:write",
            "domains:read": "domains:read",
            "domains:write": "domains:write",
            "publish:write": "publish:write",
            "spaces:delete": "spaces:delete",
            "spaces:read": "spaces:read",
            "spaces:write": "spaces:write",
            "taslak": "agent access: read, create teams and spaces, publish, manage domains",
            "taslak:read": "read-only access",
            "teams:create": "teams:create",
            "teams:read": "teams:read",
            "teams:write": "teams:write"
          },
          "tokenUrl": "https://api.taslak.dev/oauth/token"
        }
      },
      "oauth2MetadataUrl": "https://api.taslak.dev/.well-known/oauth-authorization-server",
      "type": "oauth2"
    }
  },
  "skills": [
    {
      "description": "Publish a file, a folder or a built static site and return its permanent URL; update the same site with a new version.",
      "id": "publish",
      "name": "Publish",
      "tags": [
        "hosting",
        "static-site",
        "deploy"
      ]
    },
    {
      "description": "List sites and versions, roll back, set access (public, password, private, share links), routing and appearance.",
      "id": "manage-sites",
      "name": "Manage sites",
      "tags": [
        "hosting",
        "access"
      ]
    },
    {
      "description": "Connect, check and move custom domains and DNS records.",
      "id": "domains",
      "name": "Custom domains",
      "tags": [
        "dns",
        "domains"
      ]
    },
    {
      "description": "Read a site's deployments, files, builds and logs, request logs, analytics and comments.",
      "id": "inspect",
      "name": "Inspect",
      "tags": [
        "analytics",
        "logs"
      ]
    },
    {
      "description": "Answer how Taslak works from its documentation.",
      "id": "docs",
      "name": "Docs",
      "tags": [
        "docs"
      ]
    }
  ],
  "supportedInterfaces": [
    {
      "protocolBinding": "MCP",
      "protocolVersion": "2025-06-18",
      "url": "https://api.taslak.dev/mcp"
    },
    {
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1",
      "url": "https://api.taslak.dev/v1"
    }
  ],
  "url": "https://api.taslak.dev/mcp",
  "version": "0.1.0-20261019-28413f3"
}
