{
  "object": "index",
  "name": "YouSpot for agents",
  "description": "YouSpot is a personal CRM. Public pages and documentation are open; anything scoped to a person needs that person's delegated OAuth token.",
  "base_url": "https://youspot.com/",
  "documentation_url": "https://youspot.com/docs",
  "endpoints": [
    {
      "method": "POST",
      "url": "https://youspot.com/mcp/v1",
      "auth": "oauth2",
      "anonymous_methods": [
        "initialize",
        "ping",
        "tools/list"
      ],
      "description": "The MCP server over one member's own CRM. Handshake and tool list need no credential; every tools/call does."
    },
    {
      "method": "POST",
      "url": "https://youspot.com/mcp/docs",
      "auth": "none",
      "description": "A second MCP server over the public pages and docs. No credential at all."
    },
    {
      "method": "POST",
      "url": "https://youspot.com/mcp/sandbox",
      "auth": "none",
      "description": "A third MCP server: the read tools over a demo account whose data is generated. Try them before you connect a real account."
    },
    {
      "method": "GET",
      "url": "https://youspot.com/ask",
      "auth": "none",
      "description": "Ask a question about YouSpot in plain words and get the pages that answer it. Add streaming=true for server-sent events."
    },
    {
      "method": "POST",
      "url": "https://youspot.com/a2a",
      "auth": "none",
      "description": "The same answers over A2A JSON-RPC. The card is at /.well-known/agent-card.json."
    },
    {
      "method": "GET",
      "url": "https://youspot.com/api/human/{username}",
      "auth": "none",
      "description": "A public member profile as JSON. Append .json or .md for an explicit representation."
    },
    {
      "method": "GET",
      "url": "https://youspot.com/api/network/members",
      "auth": "none",
      "description": "A page of the public member directory."
    },
    {
      "method": "POST",
      "url": "https://youspot.com/agent/identity",
      "auth": "none",
      "description": "What identity you can hold here. POST {\"type\":\"anonymous\"} for what needs no credential, or {\"type\":\"service_auth\"} with a bearer to be told whose access it is."
    },
    {
      "method": "GET",
      "url": "https://youspot.com/llms.txt",
      "auth": "none",
      "description": "Every public page, one line each. Any page also answers with a .md suffix."
    }
  ],
  "authentication": {
    "type": "oauth2",
    "walkthrough_url": "https://youspot.com/auth.md",
    "authorization_server": "https://youspot.com/.well-known/oauth-authorization-server",
    "protected_resource": "https://youspot.com/.well-known/oauth-protected-resource",
    "registration_endpoint": "https://youspot.com/oauth/register",
    "identity_endpoint": "https://youspot.com/agent/identity",
    "identity_types_supported": [
      "anonymous",
      "service_auth"
    ],
    "dynamic_registration": true,
    "scopes_supported": [
      "linkedin"
    ],
    "client_credentials_supported": false,
    "api_keys_supported": false,
    "note": "Every credential is one person delegating their own access. A member mints a per-tool token at /user/mcp; an agent uses the authorization code flow with PKCE S256."
  },
  "machine_readable": {
    "mcp_server_card": "https://youspot.com/.well-known/mcp/server-card.json",
    "api_catalog": "https://youspot.com/.well-known/api-catalog",
    "agent_card": "https://youspot.com/.well-known/agent-card.json",
    "agent_guide": "https://youspot.com/agents.md",
    "resource_catalog": "https://youspot.com/.well-known/ard.json",
    "skills": "https://youspot.com/.well-known/agent-skills/index.json"
  },
  "contact": "support@youspot.com"
}
