Skip to content
Back to Corduroy Labs

Card snapshot

corduroy-labs.ai · 2026-07-29 10:49:14 UTC · fd65191156617b0e19b523b43f0b3fd4e82ac6d7e4d9a4b14cee383f3d71030f

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "$schema": "https://raw.githubusercontent.com/a2aproject/A2A/main/specification/json/a2a.json",
  "protocolVersion": "1.0",
  "name": "Corduroy Labs",
  "description": "Public MCP surface for Corduroy Labs \u2014 a small AI-native studio in Truckee, CA. Serves the studio's blog updates as machine-readable tools (list_updates, get_update). No auth. Rate-limited at 60 requests/hour per IP. Data source is the studio's own JSON Feed at https://corduroy-labs.ai/feed.json.",
  "url": "https://corduroy-labs.ai",
  "provider": {
    "organization": "Corduroy Labs",
    "url": "https://corduroy-labs.ai"
  },
  "documentationUrl": "https://corduroy-labs.ai/updates/",
  "iconUrl": "https://corduroy-labs.ai/apple-touch-icon.png",
  "version": "1.0.0",
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extendedAgentCard": false
  },
  "supportedInterfaces": [
    {
      "url": "https://corduroy-labs.ai/mcp",
      "protocolBinding": "MCP",
      "transport": "streamable-http"
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "list_updates",
      "name": "List Corduroy Labs blog updates",
      "description": "Return the studio's blog updates newest first. Each item has slug, title, url, date_published, summary, and optionally tags, location, image.",
      "tags": [
        "blog",
        "updates",
        "list"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_update",
      "name": "Fetch one Corduroy Labs update",
      "description": "Fetch the full content of one update by its slug (obtain slugs from list_updates). Returns the full content_html plus summary metadata.",
      "tags": [
        "blog",
        "updates",
        "fetch"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "securitySchemes": {},
  "security": [],
  "supportsAuthenticatedExtendedCard": false
}