Summary
POST https://mcp-server.macro.com/mcp tools/list returns 67 tools in a single page (no nextCursor), but Macro's own generated tool reference (docs.macro.com/AI/mcp/tools/, generated from the Rust MCP tool registry, 70 entries) documents 5 tools the live server never serves:
SendEmail (send-email.md)
ReadThread (live server has GetThread but not ReadThread)
SearchTools / LoadTools (the dynamic loader for connected-integration tools — Slack, Gmail, Linear, GitHub per the SearchTools doc page)
DisplayResults (dynamic-UI rendering)
Conversely, the live server exposes 2 tools missing from the docs index — CreateImportEntity, ListNotifications — so the docs cut both ways, but the net effect is a 5-tool shortfall on the live endpoint.
What I ruled out (all tested 2026-09-16)
- Client-side truncation: my MCP client mounts all 67 server tools 1:1 (verified by diffing a direct
tools/list call against the client's mounted set — zero diff). No pagination involved (1 page).
- Auth method: OAuth browser flow works. Sending the
x-macro-user-api-key header alongside OAuth changes nothing; using the user API key as Bearer → 401; header alone with no Authorization → 401. So the header is accepted but inert for tool visibility.
- Plan gating: reproduced identically on Free and, after upgrading, on Paid ($40/mo). The OAuth JWT carries only identity scopes (
openid profile email offline_access), so there is no scope a user could grant to unlock these.
- Stale client/auth state: client restarted, OAuth token refreshed via the stored refresh grant, server still identifies as
macro-tools version 0.1.0.
Expected
Live tools/list matches the generated registry (or the docs note which tools are withheld and why).
Actual
5 documented tools are missing on the deployed build regardless of auth, headers, or plan.
Impact
No email sending via MCP at all (SendEmail absent), and the entire connected-integrations tool layer (SearchTools/LoadTools) is unreachable — both are advertised capabilities (Agents product page mentions drafting emails and pulling content in from Notion, Linear, and Slack).
Environment
- Endpoint:
mcp-server.macro.com/mcp, server macro-tools version 0.1.0
- MCP protocol
2025-11-25 (handshake succeeds), OAuth user-scope grant
- Happy to provide full
tools/list output (67 names) on request
Summary
POST https://mcp-server.macro.com/mcptools/listreturns 67 tools in a single page (nonextCursor), but Macro's own generated tool reference (docs.macro.com/AI/mcp/tools/, generated from the Rust MCP tool registry, 70 entries) documents 5 tools the live server never serves:SendEmail(send-email.md)ReadThread(live server hasGetThreadbut notReadThread)SearchTools/LoadTools(the dynamic loader for connected-integration tools — Slack, Gmail, Linear, GitHub per theSearchToolsdoc page)DisplayResults(dynamic-UI rendering)Conversely, the live server exposes 2 tools missing from the docs index —
CreateImportEntity,ListNotifications— so the docs cut both ways, but the net effect is a 5-tool shortfall on the live endpoint.What I ruled out (all tested 2026-09-16)
tools/listcall against the client's mounted set — zero diff). No pagination involved (1 page).x-macro-user-api-keyheader alongside OAuth changes nothing; using the user API key asBearer→401; header alone with noAuthorization→401. So the header is accepted but inert for tool visibility.openid profile email offline_access), so there is no scope a user could grant to unlock these.macro-toolsversion0.1.0.Expected
Live
tools/listmatches the generated registry (or the docs note which tools are withheld and why).Actual
5 documented tools are missing on the deployed build regardless of auth, headers, or plan.
Impact
No email sending via MCP at all (
SendEmailabsent), and the entire connected-integrations tool layer (SearchTools/LoadTools) is unreachable — both are advertised capabilities (Agents product page mentions drafting emails and pulling content in from Notion, Linear, and Slack).Environment
mcp-server.macro.com/mcp, servermacro-toolsversion0.1.02025-11-25(handshake succeeds), OAuth user-scope granttools/listoutput (67 names) on request