Documentation
Centralized documentation for the Eden client, intended for structured reference and direct access by Cursor.
Additional guidance
- Loom walkthrough (repo orientation + usage): https://www.loom.com/share/e19fa857ffe94886abcd54ee1e5b5896
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
*.mdfiles inmeeting_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.mdtranscript per object, plus the index).
To regenerate transcripts + index:
cd meeting_transcripts
python json_script.pyMCP 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:
- File → Preferences → Cursor Settings
- Search MCP, then click Add new MCP server
- Cursor will open/redirect you to your
mcp.json(create it if needed) - 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
- Windows:
- After: restart Cursor so it picks up the new MCP server.
- Requirement: you need Node.js (v22+) installed so
npxworks (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.pdfand summarize the key points + next steps.” - Target specific pages: “Read pages 1–5 of
path/to/file.pdfand summarize.” - Charts/roadmaps: “Pull the roadmap/Gantt slide from
path/to/file.pdfand 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:
- File → Preferences → Cursor Settings
- Search MCP, then click Add new MCP server
- Cursor will open/redirect you to your
mcp.json(create it if needed) - 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
- Windows:
- 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.EXEprocess 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.xlsx→Tracking Planand 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 Xstarting atA2.”
Troubleshooting
- Excel lock/temp files (
~$...xlsx): Excel creates~$<workbook>.xlsxwhile a workbook is open. On Windows, the MCP backend may spawn a backgroundEXCEL.EXEthat 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.