Odel
eodly mcp

eodly mcp

@layergenJavaScriptMITUpdated 2w ago

Read your team's end-of-day reports and roster from Eodly.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Eodly MCP server

Read your team's sourced end-of-day reports and roster from any MCP client, using an Eodly API key.

Hosted endpoint: https://eodly.io/api/mcp (Streamable HTTP, nothing to install). Local: npx @eodly/mcp (stdio). Auth: set EODLY_API_KEY to an Eodly API key (eodly_sk_...) created in the app under Settings, Developer, API keys. Tools: whoami, list_reports, get_report, list_team. MCP Apps: report tools render as an interactive card in hosts that support the UI extension. Read-only, and scoped to one organization.

Eodly sends founders and team leads one sourced report every evening: who shipped, who is silent, who is slipping. Your team checks in from Slack, Telegram, Microsoft Teams, or Discord, and Eodly weighs each claim against the real work in GitHub and Linear. This server exposes those reports to MCP clients such as Claude and Cursor, so you can ask an agent "who is slipping this week?" and have it pull the sourced answer.

Read-only. It cannot change anything in your workspace.

Install

Hosted (recommended)

A remote Streamable HTTP endpoint, nothing to install:

https://eodly.io/api/mcp

Local (stdio)

npx @eodly/mcp

Configure

Create an API key in the Eodly app under Settings → Developer → API keys, then add the server to your client.

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "eodly": {
      "command": "npx",
      "args": ["-y", "@eodly/mcp"],
      "env": { "EODLY_API_KEY": "eodly_sk_..." }
    }
  }
}

Cursor and other MCP clients use the same shape.

Tools

ToolWhat it doesScope
whoamiIdentify the key: which organization it belongs to and what scopes it holdsnone
list_reportsRecent end-of-day report summaries, most recent first (limit, 1-50, default 14)reports:read
get_reportFull structured content of one report by idreports:read
list_teamThe team roster: names, roles, departmentsteam:read

Interactive report card (MCP Apps)

list_reports and get_report ship an interactive view alongside their JSON. In a host that supports the MCP Apps UI extension (SEP-1865), the report renders as a card (who shipped, who's silent, who's slipping) instead of a wall of text. Hosts without the extension get the same JSON as before, so nothing breaks.

Resourceui://eodly/report.html
MIME typetext/html;profile=mcp-app
Capabilityio.modelcontextprotocol/ui

The view is fully self-contained (inline CSS and JS, no network access, no external assets) and declares an empty CSP allowlist. The hosted endpoint at https://eodly.io/api/mcp serves the identical view.

Environment

VariableRequiredDefault
EODLY_API_KEYyesnone. An Eodly API key (eodly_sk_...)
EODLY_API_BASEnohttps://eodly.io/api/v1

Keys are organization-scoped and read-only. Revoke one at any time in the app.

Links

License

MIT. See LICENSE.