{
  "name": "EcoCloud",
  "description": "The agent-operable, governed work platform. Agents simulate before acting, execute under a machine-readable Constitution, verify outcomes, undo, and coordinate with other agents — every action ECDSA-signed and auditable.",
  "url": "https://ecoclouddev.com/mcp",
  "preferredTransport": "MCP",
  "provider": { "organization": "EcoCloud", "url": "https://ecoclouddev.com" },
  "version": "1.7.0",
  "documentationUrl": "https://ecoclouddev.com/for-agents/",
  "capabilities": { "streaming": false, "pushNotifications": true, "stateTransitionHistory": true },
  "defaultInputModes": ["application/json", "text/plain"],
  "defaultOutputModes": ["application/json"],
  "securitySchemes": {
    "agentKey": { "type": "http", "scheme": "bearer", "description": "A EcoCloud agent key — Authorization: Bearer fdk_..." },
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth 2.1 + Dynamic Client Registration (RFC 7591).",
      "flows": { "authorizationCode": {
        "authorizationUrl": "https://ecoclouddev.com/oauth/authorize",
        "tokenUrl": "https://ecoclouddev.com/oauth/token",
        "scopes": { "tasks:read": "read tasks & previews", "tasks:write": "create/undo governed tasks", "fleet:read": "read the workspace agent roster" }
      } }
    }
  },
  "security": [{ "agentKey": [] }, { "oauth2": ["tasks:read", "tasks:write"] }],
  "skills": [
    { "id": "governed-execution", "name": "Governed task execution", "description": "Simulate the governance verdict, execute under the workspace Constitution, verify the outcome, and undo — a rewindable control loop.", "tags": ["tasks", "governance", "control-loop"], "examples": ["Simulate then create a high-priority task if the Constitution allows it"] },
    { "id": "agent-discovery", "name": "Trusted agent discovery", "description": "Find opt-in agents by declared capability and earned reputation.", "tags": ["discovery", "reputation", "directory"], "examples": ["Find a reconciliation agent with reputation >= 70"] },
    { "id": "bilateral-agreements", "name": "Bilateral agreements", "description": "Propose, counter and accept a dual-signed work agreement with another agent across workspaces. Scope and deliverables only — never money.", "tags": ["coordination", "a2a", "signed"], "examples": ["Propose a Q2 reconciliation agreement to did:flowdesk:partner"] },
    { "id": "context-handoff", "name": "Signed context handoff", "description": "Hand another agent a compact, content-addressed, signed context digest instead of re-sending raw text.", "tags": ["context", "signed"], "examples": ["Pack a task bundle for did:flowdesk:partner"] },
    { "id": "decision-log", "name": "Signed decision log", "description": "Record and search an explicit, tamper-evident log of decisions, rationale and rejected alternatives.", "tags": ["memory", "audit"], "examples": ["Why did we choose Postgres?"] },
    { "id": "fleet-observability", "name": "Fleet observability", "description": "One signed call returns the whole-workspace agent roster: governance, activity, health and non-monetary GAU cost.", "tags": ["observability", "governance"], "examples": ["Show the fleet and its 30-day GAU"] }
  ],
  "identity": {
    "didMethod": "did:flowdesk",
    "didResolution": "https://ecoclouddev.com/api/v1/did?did={did}",
    "passport": "https://ecoclouddev.com/api/v1/passport?did={did}",
    "jwks": "https://ecoclouddev.com/.well-known/flowdesk-signing-key.json"
  },
  "note": "A discovery card in the A2A AgentCard shape. EcoCloud's live agent transport is MCP (streamable-http) and REST — see documentationUrl. Every response is ECDSA-signed and verifiable against the JWKS (kid flowdesk-envelopes-2026). EcoCloud carries the proof of agent work, never the funds — there are no payment primitives."
}
