{
  "specVersion": "1.0",
  "host": {
    "displayName": "Eodly",
    "documentationUrl": "https://eodly.io/developers",
    "logoUrl": "https://eodly.io/favicon.svg"
  },
  "entries": [
    {
      "identifier": "urn:air:eodly.io:server:mcp",
      "displayName": "Eodly MCP server",
      "type": "application/mcp-server-card+json",
      "url": "https://eodly.io/.well-known/mcp/server-card.json",
      "description": "Read an Eodly organization's sourced end-of-day reports and team roster. Reports say who shipped, who is silent, and who is slipping, with each claim weighed against GitHub and Linear activity. Read-only and scoped to one organization by API key.",
      "capabilities": [
        "whoami",
        "list_reports",
        "get_report",
        "list_team"
      ],
      "representativeQueries": [
        "who is slipping on my team this week",
        "show me yesterday's end-of-day report",
        "who has not checked in today",
        "which claims did not match the actual GitHub activity"
      ],
      "tags": [
        "end-of-day-report",
        "async-standup",
        "team-accountability",
        "engineering-management"
      ],
      "version": "1.0.0",
      "trustManifest": {
        "identity": "https://eodly.io",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:eodly.io:api:rest",
      "displayName": "Eodly REST API",
      "type": "application/vnd.oai.openapi+json",
      "url": "https://eodly.io/openapi.json",
      "description": "Read-only HTTP API over the same reports and roster the MCP server exposes. Organization-scoped API keys with reports:read and team:read scopes.",
      "representativeQueries": [
        "list the most recent end-of-day reports for my organization",
        "fetch one end-of-day report by id",
        "read the team roster"
      ],
      "tags": [
        "rest",
        "openapi",
        "read-only"
      ],
      "trustManifest": {
        "identity": "https://eodly.io",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:eodly.io:cli:eodly",
      "displayName": "Eodly command line tool",
      "type": "text/html",
      "url": "https://github.com/layergen/eodly-cli",
      "description": "Read-only command line access to the same reports and roster: whoami, reports, report <id>, team, each with --json. Run it with npx github:layergen/eodly-cli. Zero dependencies, Node 18 and up.",
      "capabilities": ["whoami", "reports", "report", "team"],
      "representativeQueries": [
        "read my team's end-of-day report from a shell script",
        "list Eodly reports as JSON for jq"
      ],
      "tags": ["cli", "scripting", "read-only"],
      "version": "0.1.0",
      "trustManifest": {
        "identity": "https://eodly.io",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:eodly.io:skill:end-of-day-report",
      "displayName": "Get an Eodly end-of-day report",
      "type": "application/ai-skill+md",
      "url": "https://eodly.io/.well-known/agent-skills/eodly-end-of-day-report/SKILL.md",
      "description": "Agent skill: retrieve a team's end-of-day report from Eodly, covering who shipped, who is silent, and who is slipping.",
      "representativeQueries": [
        "get my team's end-of-day report from Eodly",
        "summarize what my team shipped yesterday"
      ],
      "tags": [
        "agent-skill",
        "reporting"
      ],
      "trustManifest": {
        "identity": "https://eodly.io",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:eodly.io:skill:team-roster",
      "displayName": "Get an Eodly team roster",
      "type": "application/ai-skill+md",
      "url": "https://eodly.io/.well-known/agent-skills/eodly-team-roster/SKILL.md",
      "description": "Agent skill: retrieve a team roster from Eodly, with names, roles and departments.",
      "representativeQueries": [
        "who is on my team in Eodly",
        "list the engineers on my Eodly roster"
      ],
      "tags": [
        "agent-skill",
        "roster"
      ],
      "trustManifest": {
        "identity": "https://eodly.io",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:eodly.io:docs:llms-txt",
      "displayName": "Eodly llms.txt",
      "type": "text/plain",
      "url": "https://eodly.io/llms.txt",
      "description": "Condensed index of Eodly's documentation, developer resources and product surfaces, written for language models.",
      "tags": [
        "documentation",
        "llms-txt"
      ],
      "trustManifest": {
        "identity": "https://eodly.io",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:eodly.io:docs:auth",
      "displayName": "Eodly agent authentication guide",
      "type": "text/markdown",
      "url": "https://eodly.io/auth.md",
      "description": "How an agent obtains and uses an Eodly API key: where to create one, the Bearer scheme, the available read-only scopes, and the error responses to expect.",
      "tags": [
        "documentation",
        "authentication"
      ],
      "trustManifest": {
        "identity": "https://eodly.io",
        "identityType": "https"
      }
    }
  ]
}
