Connect Echodo to itself: Cursor sessions can now call this repo's MCP server (`claim_task`, `complete_task`) over stdio, and operators can bootstrap the DB from `plans/` without leaving a long-running file watcher in place. - `.cursor/mcp.json`: register `echodo` MCP server. Spawns `pnpm -s --filter @tasks/mcp-server mcp`. The `mcp` script invokes tsx with `--env-file=../../.env` so DATABASE_URL is picked up at the per-session process boundary without leaking into committed config. - `import:markdown-backlog`: new one-shot importer (sibling of the existing watch script). Until the DB → markdown export side lands (see follow-up task), running the watcher continuously would clobber agent-driven status flips on every sweep. The one-shot variant runs a single `syncMarkdownBacklogScan` pass and exits. - File `Task-export-db-to-markdown-frontmatter.md` documenting the remaining direction of the sync loop. Smoke-tested end-to-end against the homelab DB: full `claim_task` → `complete_task` round-trip via real MCP stdio protocol, with agent_runs + audit_log rows landing as expected and the backlog item status restored via `finalStatus`. Co-authored-by: Cursor <cursoragent@cursor.com>
9 lines
581 B
JSON
9 lines
581 B
JSON
{
|
|
"_comment": "Echodo's own MCP server. Spawned per Cursor session over stdio. The 'mcp' script in apps/mcp-server/package.json invokes tsx with --env-file=../../.env so DATABASE_URL is read from the repo's .env without leaking it into this committed file. The -s/--silent flag on pnpm suppresses its progress output that would otherwise corrupt the MCP stdio protocol. If you fork the repo, copy .env.example → .env and fill in DATABASE_URL.",
|
|
"mcpServers": {
|
|
"echodo": {
|
|
"command": "pnpm",
|
|
"args": ["-s", "--filter", "@tasks/mcp-server", "mcp"]
|
|
}
|
|
}
|
|
}
|