Skip to content

MCP Build Status

This page is the current MCP checkpoint so the next session can start from repo state instead of chat history.

The following MCP work is merged into main:

  • PR #70: initial Worker-hosted MCP endpoint
  • PR #71: standalone Node-based MCP integration harness
  • PR #72: connection_list
  • PR #73: workspace_list
  • PR #74: calendar_get_snapshot

Endpoint:

  • POST /mcp

Tools:

  • auth_get_status
  • connection_list
  • workspace_list
  • calendar_get_snapshot

Resources:

  • agenda://platform-rules

Prompts:

  • setup-agenda-panda
  • returns authenticated vs unauthenticated status
  • returns user identity and plan
  • returns active_projects_count
  • requires authentication
  • requires owner/admin access to at least one workspace
  • returns authorized: false if the user is authenticated but does not yet have connection-management access
  • returns connected social accounts for the user
  • requires authentication
  • does not require additional authorization beyond accessible workspace membership/ownership
  • returns a lean workspace list payload
  • intentionally excludes large markdown fields like soul_md and art_md
  • requires authentication
  • supports:
    • optional workspace_id
    • optional date_from
    • optional date_to
  • defaults to a window from now through the next 30 days if no window is provided
  • returns only scheduled posts inside the requested window
  • validates:
    • ISO date parsing
    • date_to > date_from
    • workspace_id must be accessible if provided

Primary local validation path:

Terminal window
bunx wrangler dev --port 8788

Then in another terminal:

Terminal window
npm run test:mcp

Current harness coverage:

  • MCP surface discovery
  • unauthenticated auth_get_status
  • authenticated auth_get_status
  • authenticated connection_list
  • authenticated workspace_list
  • authenticated calendar_get_snapshot

Manual ad hoc testing is also possible with inline node --input-type=module -e '...' scripts, but npm run test:mcp is the stable default.

Important Implementation Decisions Already Made

Section titled “Important Implementation Decisions Already Made”
  • MCP transport tests do not run in the Workers Vitest pool.
  • MCP transport tests run in a separate Node-based harness that starts wrangler dev and uses the real MCP SDK over HTTP.
  • This split was chosen because the Workers Vitest path became unstable for the streamable HTTP MCP transport.
  • Read-only MCP list and snapshot tools are intentionally narrow and cheap in token terms.
  • Shared backend query helpers are preferred over duplicating SQL in MCP handlers.

These are not built yet:

  • connection_health_check
  • calendar_preview_sync
  • calendar_apply_sync
  • post_schedule
  • post_publish_now
  • ap mcp stdio
  • host install flows for Claude and Codex
  • public SKILL.md MCP path

Local wrangler dev MCP testing can currently emit errors into the real Sentry project because:

  • src/index.ts includes a hardcoded Sentry DSN fallback
  • local dev still reports through the same Sentry path

Observed symptom:

  • local MCP registration or runtime mistakes can show up as production noise in Sentry even when they are only from local development

Recommended cleanup:

  • remove the hardcoded production DSN fallback for local dev, or
  • gate Sentry by environment, or
  • tag local and preview environments distinctly so MCP iteration does not pollute production signal

Production-level MCP validation does not exist yet

Section titled “Production-level MCP validation does not exist yet”

Right now the MCP path is validated locally, not as a production-grade installed client integration.

Choose one:

  • repair-oriented surface:
    • likely connection_health_check
  • first write-preview surface:
    • likely calendar_preview_sync

Decide whether MCP should now be referenced in public onboarding artifacts, especially:

Decide how to validate MCP in a production-like setup, not just local wrangler dev.

Likely options:

  • deployed preview MCP smoke checks
  • a dedicated MCP smoke GitHub Action against preview or prod
  • manual install testing in a real Claude or Codex client against a stable deployed MCP endpoint
  1. Review this page.
  2. Decide between connection_health_check and calendar_preview_sync.
  3. Decide whether MCP is still internal-only or should start appearing in SKILL.md.
  4. Decide what production-level MCP testing means for this repo:
    • preview deploy only
    • preview plus smoke workflow
    • real host install tests