{
  "protocolVersion": "0.3.0",
  "name": "MDflow",
  "description": "Agent-controllable markdown workspace. Folders hold .md documents an AI agent can read, create, update, organize, and share. Control it via the MCP server (preferred) at https://mdflow.cz/api/mcp or the REST API at https://mdflow.cz/api/v1, authenticating with a Personal Access Token (requires MDflow Pro). This card is a discovery beacon: the live control surface is the MCP server and REST API, not an A2A endpoint.",
  "provider": { "organization": "MDflow", "url": "https://mdflow.cz" },
  "version": "1.0.0",
  "documentationUrl": "https://mdflow.cz/docs.md",
  "preferredTransport": "JSONRPC",
  "url": "https://mdflow.cz/api/mcp",
  "additionalInterfaces": [
    { "transport": "JSONRPC", "url": "https://mdflow.cz/api/mcp" },
    { "transport": "HTTP+JSON", "url": "https://mdflow.cz/api/v1" }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": ["text/markdown", "text/plain", "application/json"],
  "defaultOutputModes": ["text/markdown", "application/json"],
  "securitySchemes": {
    "personalAccessToken": {
      "type": "http",
      "scheme": "bearer",
      "description": "MDflow Personal Access Token (mdf_...), created at https://mdflow.cz/settings. Requires MDflow Pro. Send as: Authorization: Bearer mdf_..."
    },
    "oauth2": {
      "type": "oauth2",
      "description": "Sign in with your MDflow account (OAuth 2.1). Claude.ai and ChatGPT connect to https://mdflow.cz/api/mcp by adding it as a connector and signing in — no token to copy. Requires MDflow Pro.",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://avpohqkozlquuxzqqtsx.supabase.co/auth/v1/oauth/authorize",
          "tokenUrl": "https://avpohqkozlquuxzqqtsx.supabase.co/auth/v1/oauth/token",
          "scopes": { "openid": "identity", "email": "email", "profile": "profile" }
        }
      }
    }
  },
  "security": [{ "personalAccessToken": [] }, { "oauth2": [] }],
  "skills": [
    {
      "id": "documents",
      "name": "Manage markdown documents",
      "description": "List, read, create, rename, move, and delete markdown documents in folders you own. Each document carries its full path (workspace → … → document) and a compounded description — the workspace+folder context cascade.",
      "tags": ["markdown", "documents", "crud"],
      "examples": [
        "Create a document called meeting-notes.md in my Project folder",
        "Rename a document",
        "Show the full path and context of a document"
      ]
    },
    {
      "id": "workspaces",
      "name": "Manage workspaces",
      "description": "List, create, rename, describe, and delete workspaces, the top-level bucket above folders that every folder belongs to.",
      "tags": ["workspaces", "organize"]
    },
    {
      "id": "folders",
      "name": "Organize folders",
      "description": "List, read (with full path and the compounded description cascade from workspace down to folder), create, rename, move, and delete folders, and edit folder descriptions, which act as retrieval context for the documents inside.",
      "tags": ["folders", "organize"]
    },
    {
      "id": "context",
      "name": "Topic-based retrieval",
      "description": "Find the most relevant markdown by ranking folder descriptions first, then titles, then fetching the best-matching document bodies. When a topic clearly belongs to one workspace, pick the best-matching workspace first and pass workspaceId to scope retrieval there; omit it for broad or ambiguous topics to rank across the whole account.",
      "tags": ["search", "retrieval", "rag"],
      "examples": ["Get context about my API documentation from mdflow", "Get context about billing, scoped to my Work workspace"]
    },
    {
      "id": "sharing",
      "name": "Share documents",
      "description": "Turn on public unguessable share links (optionally with comments), or privately share a document with specific people by email.",
      "tags": ["sharing", "publish"]
    }
  ]
}
