Not � web-based rich text editor with MCP integration
- Python 41.6%
- JavaScript 27.4%
- CSS 18.4%
- HTML 12.6%
PDF export now uses Playwright's Chromium for proper CSS rendering — nested lists, tables, links, inline formatting all handled natively. DOCX export now uses pandoc subprocess instead of regex HTML parser. Removed python-docx and fpdf2 dependencies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| static | ||
| templates | ||
| .gitignore | ||
| app.py | ||
| build.py | ||
| mcp_server.py | ||
| README.md | ||
| requirements.txt | ||
Not
A rich text editor and spreadsheet with MCP integration. Built with Flask, Quill.js, and jspreadsheet — designed as an AI-native workspace where Claude Code and other agents create, read, edit, and analyze content through MCP tools.
Web app: http://localhost:5430
MCP server: stdio transport via mcp_server.py
Features
Rich Text Editor
- Quill.js Snow theme with full formatting toolbar
- Headers, lists, bold/italic/underline, links, code blocks
- Dark mode toggle
- Auto-save to SQLite with WAL mode
- Document preview in sidebar
Spreadsheet
- jspreadsheet with column/row management
- CSV import and export
- Cell-by-cell or bulk column/row operations via MCP
Formula Engine
Excel-like formula evaluation with 28 functions across 6 categories:
| Category | Functions |
|---|---|
| Aggregates | SUM, AVERAGE, COUNT, COUNTA, COUNTBLANK, MIN, MAX, MEDIAN, STDEV, VAR |
| Logic | IF, AND, OR, NOT |
| Text | CONCATENATE, LEN, UPPER, LOWER, TRIM, LEFT, RIGHT, MID |
| Math | ABS, ROUND, CEILING, FLOOR, POWER, SQRT, MOD, LOG, LN |
- Range references:
A1:B3,A:A(full column) - Nested functions:
=ROUND(SQRT(A1),2) - Cell arithmetic:
=A1+B1*C1 - Optional
result_cellparameter writes results back to sheets - Error codes:
#DIV/0!,#REF!,#NAME?,#VALUE!
Export
- PDF, DOCX, and Markdown export
- AI text enhancement (grammar, style, conciseness)
Standalone Build
- PyInstaller-based
.exewith embedded Flask + all dependencies
MCP Tools
Notes
not_list, not_get, not_get_html, not_create, not_update, not_delete, not_search, not_export, not_export_md_content, not_ai_enhance, not_stats, not_open
Spreadsheet
not_cell_get, not_cell_set, not_cell_range, not_col_set, not_row_set, not_sheet_clear, not_sheet_import_csv, not_sheet_export_csv
Formulas
not_formula(note_id, formula, result_cell="") — evaluate Excel-like formulas
Setup
pip install flask python-docx fpdf2 markdownify bleach requests httpx fastmcp
python app.py # web editor at :5430
python mcp_server.py # MCP stdio server
MCP Config
{
"not-editor": {
"type": "stdio",
"command": "python",
"args": ["path/to/not/mcp_server.py"]
}
}
Tech Stack
- Backend: Flask + SQLite (WAL mode)
- Editor: Quill.js 1.3.7 Snow theme
- Spreadsheet: jspreadsheet CE
- AI: LiteLLM proxy / NVIDIA NIM
- MCP: FastMCP stdio transport
- Build: PyInstaller standalone
.exe