Documentation

Centralized documentation for the Eden client, intended for structured reference and direct access by Cursor.

Additional guidance

What’s in this repo

  • tableau_dashboards_glossary.md: Plain-English descriptions of key Tableau dashboards (exec, product, marketing, PharmOps, finance).
  • analysis/: Strategic analysis outlines and roadmaps (telehealth margins, experimentation analytics, strategic data analysis roadmap).
  • data_platform/: Data platform workbooks and templates (e.g., tracking plan templates, platform documentation, forecasting/prototypes).
  • elt_decks/: Weekly / bi-weekly ELT project review slide decks (PDFs).
  • martech_decks/: Weekly MarTech project review slide decks (PDFs).
  • meeting_transcripts/: Zoom meeting transcripts and utilities for converting them into searchable markdown.
  • staging/: Scratch area for newly-added artifacts (PDF/XLSX/PPTX) before they’re organized into the right folder.

Meeting transcripts

  • Source data: meeting_transcripts/eden_zoom_meetings.json (consolidated JSON array of meeting objects).
  • Per-meeting docs: Individual *.md files in meeting_transcripts/ (one markdown file per JSON object).
  • Index: meeting_transcripts/meeting_transcripts_index.md (auto-generated list of meetings by date with links).
  • Converter script: meeting_transcripts/json_script.py (takes the consolidated JSON and generates one .md transcript per object, plus the index).

To regenerate transcripts + index:

cd meeting_transcripts
python json_script.py

MCP setup: reading PDFs (slide decks, reports, etc.)

We read PDFs in this repo using an MCP PDF reader server: @sylphx/pdf-reader-mcp.

  • Why MCP: PDFs (especially slide decks) often don’t extract cleanly via normal file reads. MCP lets Cursor pull per-page text and (when needed) page images for charts/visuals.

One-time setup in Cursor

In Cursor:

  1. File → Preferences → Cursor Settings
  2. Search MCP, then click Add new MCP server
  3. Cursor will open/redirect you to your mcp.json (create it if needed)
  4. Add the server config below, save, then restart Cursor

Add the MCP server to your mcp.json:

{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": ["@sylphx/pdf-reader-mcp"]
    }
  }
}
  • Where: ~/.cursor/mcp.json
    • Windows: %USERPROFILE%\.cursor\mcp.json
    • Mac/Linux: ~/.cursor/mcp.json
  • After: restart Cursor so it picks up the new MCP server.
  • Requirement: you need Node.js (v22+) installed so npx works (this is how Cursor launches the MCP server).

How to use (for newcomers)

Just drop a PDF into the repo (any folder), then ask Cursor something like:

  • Important: use an absolute path to the PDF (this is more reliable than relative paths).
  • Summarize a deck/report: “Read path/to/file.pdf and summarize the key points + next steps.”
  • Target specific pages: “Read pages 1–5 of path/to/file.pdf and summarize.”
  • Charts/roadmaps: “Pull the roadmap/Gantt slide from path/to/file.pdf and describe it.”

MCP setup: reading/writing Excel (.xlsx)

We use an Excel MCP server to read and (optionally) write Excel workbooks directly from Cursor: @negokaz/excel-mcp-server.

One-time setup in Cursor

In Cursor:

  1. File → Preferences → Cursor Settings
  2. Search MCP, then click Add new MCP server
  3. Cursor will open/redirect you to your mcp.json (create it if needed)
  4. Add the server config below, save, then restart Cursor

Add the MCP server to your mcp.json:

{
  "mcpServers": {
    "excel": {
      "command": "npx",
      "args": ["--yes", "@negokaz/excel-mcp-server"],
      "env": {
        "EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
      }
    }
  }
}

Windows note: the upstream repo recommends using cmd /c npx ... on Windows. If npx doesn’t launch correctly for you, use this Windows-specific config:

{
  "mcpServers": {
    "excel": {
      "command": "cmd",
      "args": ["/c", "npx", "--yes", "@negokaz/excel-mcp-server"],
      "env": {
        "EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
      }
    }
  }
}
  • Where: ~/.cursor/mcp.json
    • Windows: %USERPROFILE%\\.cursor\\mcp.json
    • Mac/Linux: ~/.cursor/mcp.json
  • After: restart Cursor so it picks up the new MCP server.
  • Requirements:
    • Node.js 20+ (per upstream)
    • Windows: the server can use a live Excel backend; you may see a background EXCEL.EXE process during reads/writes.

How to use

Examples you can ask Cursor:

  • Important: use an absolute path to the workbook (this is more reliable than relative paths).
  • List sheets: “List the sheet names in path/to/file.xlsx.”
  • Extract a table: “Read path/to/file.xlsxTracking Plan and output a normalized CSV.”
  • Read formulas vs values: “Read the same range twice: once values, once formulas.”
  • Write/update (if you want): “Write these rows into sheet X starting at A2.”

Troubleshooting

  • Excel lock/temp files (~$...xlsx): Excel creates ~$<workbook>.xlsx while a workbook is open. On Windows, the MCP backend may spawn a background EXCEL.EXE that keeps the lock file around until the process exits. If you can’t delete a ~$... file, close Excel and/or end the background Excel process.
  • no range available to read:
    • This usually means the server can’t detect a sheet “used range” / paging ranges (common with highly-formatted templates, merged cells, or sparse layouts).
    • Workarounds:
      • Export that sheet to CSV for analysis, or
      • Use the Windows-only sheet capture tool (image) for layout-heavy tabs, then re-key/normalize as needed.