{
  "version": 3,
  "summary": "Buddy provides agentic infrastructure for coding agents: sandbox VMs, app and website hosting, git repositories, package registry, domains and CI/CD workflows - so agents can write, review, test, deploy and ship software. Exposed as an HTTP REST API, a remote MCP server and the bdy CLI.",
  "credentials": {
    "buddy_pat": {
      "type": "api_key",
      "label": "Buddy personal access token",
      "generateUrl": "https://app.buddy.works/security",
      "setup": "Create a personal access token at app.buddy.works (Security page), granting only the scopes the task needs. Send it as an Authorization bearer token, or pass it to the bdy CLI via `bdy login --token` / the BUDDY_TOKEN environment variable."
    },
    "buddy_oauth": {
      "type": "oauth2",
      "label": "Buddy OAuth 2.1",
      "generateUrl": "https://buddy.works/docs/api/getting-started",
      "setup": "OAuth 2.1 authorization code flow with PKCE. Authorization endpoint: https://api.buddy.works/oauth2/authorize, token endpoint: https://api.buddy.works/oauth2/token. The MCP server supports discovery via RFC 9728 protected resource metadata at https://mcp.buddy.works/.well-known/oauth-protected-resource."
    }
  },
  "surfaces": [
    {
      "slug": "buddy-rest-api",
      "name": "Buddy REST API",
      "type": "http",
      "docs": "https://buddy.works/docs/api/getting-started",
      "spec": "https://buddy.works/openapi.json",
      "url": "https://api.buddy.works",
      "basis": {
        "via": "declared",
        "source": "https://buddy.works/.well-known/integrations.json"
      },
      "auth": {
        "status": "required",
        "entries": [
          {
            "use": [
              {
                "id": "buddy_pat",
                "mechanics": {
                  "source": "http",
                  "in": "header",
                  "headerName": "Authorization",
                  "scheme": "Bearer"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://buddy.works/.well-known/integrations.json"
            }
          },
          {
            "use": [
              {
                "id": "buddy_oauth",
                "mechanics": {
                  "source": "http",
                  "in": "header",
                  "headerName": "Authorization",
                  "scheme": "Bearer"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://buddy.works/.well-known/integrations.json"
            }
          }
        ]
      }
    },
    {
      "slug": "buddy-mcp-server",
      "name": "Buddy MCP server",
      "type": "mcp",
      "docs": "https://buddy.works/docs",
      "url": "https://mcp.buddy.works/mcp",
      "transports": ["streamable-http"],
      "basis": {
        "via": "declared",
        "source": "https://buddy.works/.well-known/integrations.json"
      },
      "auth": {
        "status": "required",
        "entries": [
          {
            "use": [
              {
                "id": "buddy_oauth",
                "mechanics": {
                  "source": "well-known"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://buddy.works/.well-known/integrations.json"
            }
          },
          {
            "use": [
              {
                "id": "buddy_pat",
                "mechanics": {
                  "source": "http",
                  "in": "header",
                  "headerName": "Authorization",
                  "scheme": "Bearer"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://buddy.works/.well-known/integrations.json"
            }
          }
        ]
      }
    },
    {
      "slug": "buddy-cli",
      "name": "bdy CLI",
      "type": "cli",
      "docs": "https://buddy.works/docs/cli",
      "command": "bdy",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "bdy",
          "runtimeHint": "npx"
        }
      ],
      "basis": {
        "via": "declared",
        "source": "https://buddy.works/.well-known/integrations.json"
      },
      "auth": {
        "status": "required",
        "entries": [
          {
            "use": [
              {
                "id": "buddy_pat",
                "mechanics": {
                  "source": "cli",
                  "command": "bdy login",
                  "env": ["BUDDY_TOKEN"]
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://buddy.works/.well-known/integrations.json"
            }
          }
        ]
      }
    }
  ]
}
