AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
MCP Server for Notepad++ automation with comprehensive file operations, plugin management, code linting, and Windows API integration. 26 tools, FastMCP 2.12 compatibility, and extensive testing.
翻譯準備中
開發工具Python · TypeScriptGitHub @sandraschi自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
安裝型專案無需部署網域也可驗證。個人儲存庫可透過 GitHub 登入驗證,組織儲存庫可使用上方的儲存庫驗證檔案。
正在載入完整 README。 以下為已儲存的摘錄。
📖 Installation Guide — quick start, manual setup, and troubleshooting
MCP server for Notepad++ on Windows. Uses FastMCP 3.4.4 with portmanteau tools (fewer tools, same coverage), optional HTTP bridge, sampling (Ollama-compatible HTTP or client LLM), prompts, skill:// resources, and agentic workflows.
Editor vs this repo: Notepad++s own strengths (Scintilla, plugins, macros, sessions, ) are separate from what this MCP exposes. See docs/EDITOR_AND_MCP_SCOPE.md for a clear split and a fuller editor-side overview.檢視完整 README ↗📖 Installation Guide — quick start, manual setup, and troubleshooting Onboarding — Notepad++ wrappee required (Windows, N++ 8+); sanity checks + pitfalls
Claude Desktop one-click: download notepadpp-mcp.mcpb from
releases/latest
and drag it into Claude Desktop, or run .\dist\install.ps1 after just mcpb-pack.
MCP server for Notepad++ on Windows. Uses FastMCP 3.4.4 with portmanteau tools (fewer tools, same coverage), optional HTTP bridge, sampling (Ollama-compatible HTTP or client LLM), prompts, skill:// resources, and agentic workflows.
Editor vs this repo: Notepad++s own strengths (Scintilla, plugins, macros, sessions, ) are separate from what this MCP exposes. See docs/EDITOR_AND_MCP_SCOPE.md for a clear split and a fuller editor-side overview.
| Item | Notes |
|---|---|
| OS | Windows 10/11 (64-bit) |
| Editor | Notepad++ 8+ installed |
| Python | 3.12+ (requires-python in pyproject.toml) |
| API | pywin32 (pulled in on Windows) |
git clone https://github.com/sandraschi/notepadpp-mcp
cd notepadpp-mcp
just
This opens an interactive dashboard showing all available commands. Run just bootstrap to install dependencies, then just serve to start the full stack (backend 10815 + webapp 10814).
If you don't have just installed:
Recommended: uv.
From a clone of this repo:
git clone https://github.com/sandraschi/notepadpp-mcp.git
Set-Location notepadpp-mcp
uv sync
uv run notepadpp-mcp --help
Or install the package in editable mode:
uv pip install -e ".[dev]"
When the package is published to PyPI, you can run it with:
uvx notepadpp-mcp
The published console script is notepadpp-mcp (notepadpp_mcp.server:run in pyproject.toml).
127.0.0.1, MCP HTTP at /mcp.notepadpp-mcp --http --port 10815
Change --port if 10815 is taken (see central port registry if you use a fleet of MCP webapps).
Claude Desktop (claude_desktop_config.json) point command/args at your install. Example using uv from a fixed repo path:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "uv",
"args": ["run", "--directory", "D:/Dev/repos/notepadpp-mcp", "notepadpp-mcp"]
}
}
}
If notepadpp-mcp is on PATH:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "notepadpp-mcp",
"args": []
}
}
}
Legacy: older docs referenced python -m notepadpp_mcp.tools.server. Prefer notepadpp-mcp unless you are debugging that module.
The assistant calls MCP tools by name; you do not run these in PowerShell. Examples of operations inside portmanteau tools:
| Tool | Typical operation values |
|---|---|
file_ops | open, new, save, info |
text_ops | insert, find |
status_ops | help, system_status, health_check |
tab_ops | list, switch, close |
session_ops | save, load, list |
linting_ops | python, javascript, json, markdown, |
display_ops | fix_invisible_text, fix_display_issue |
plugin_ops | discover, install, list, execute |
Also: suggest_notepad_plan, agentic_notepad_workflow (orchestration), depending on build.
session_ops)session.xml (typically %APPDATA%\Notepad++\session.xml), which lists all open buffers, into a named file under %APPDATA%\Notepad++\notepadpp-mcp-sessions\. Format matches what Notepad++ uses for Load Session / -openSession. If the live file is missing or lists no files, the server falls back to a minimal session built from the active tab path when that path exists on disk.notepad++.exe -openSession "<saved.xml>". Whether a new or existing instance opens files depends on your Multi-instance settings in Notepad++.NOTEPADPP_SESSION_STORAGE_DIR (where named *.xml are stored), NOTEPADPP_LIVE_SESSION_XML (override path to the live session.xml, e.g. portable or -settingsDir layouts).Optional. Set env vars as documented in the server / NotepadSamplingHandler, for example:
NOTEPADPP_SAMPLING_BASE_URL OpenAI-compatible base (e.g. Ollama http://127.0.0.1:11434/v1)NOTEPADPP_SAMPLING_MODELNOTEPADPP_SAMPLING_USE_CLIENT_LLM let the MCP host run sampling when supported| Tool | Purpose |
|---|---|
| file_ops | Open, new, save, file info |
| text_ops | Insert / find in buffer |
| status_ops | Help, system status, health |
| tab_ops | List / switch / close tabs |
| session_ops | Save / load / list workspace sessions |
| linting_ops | Python, JS, JSON, Markdown, (uses ruff / eslint on PATH when available) |
| display_ops | Invisible text / display glitches |
| plugin_ops | Discover / install / list / execute plugins |
Responses use a consistent dict shape: success, message or summary, plus error / recovery_options where relevant.
docs/EDITOR_AND_MCP_SCOPE.md Notepad++ (editor) vs this server: strengths of the editor, boundaries of the MCP bridgedocs/NOTEPADPP_MACROS.md Macros (what people use them for, shortcuts.xml, curated-set / future tool ideas)src/notepadpp_mcp/docs/ API notes, examples, PRD where presentsrc/notepadpp_mcp/docs_manifest.py REST/MCP overview for the web bridge (when enabled)uv pip install -e ".[dev]"
uv run pytest src/notepadpp_mcp/tests/
uv run ruff check src/notepadpp_mcp tests
uv run ruff format src/notepadpp_mcp tests
Optional: python demonstration_test.py or project dev.py if present for integration smoke tests.
Work that is planned or open good first issues for contributors:
web_sota/) and ports%APPDATA%\Notepad++\shortcuts.xml (see docs/NOTEPADPP_MACROS.md)This MCP server includes a free, premium web interface for monitoring and control. By default, the web dashboard runs on port 10814. (Assigned ports: 10814 (Web dashboard frontend), 10815 (Web dashboard backend (API)))
To start the webapp dashboard and backend:
.\start.ps1
-Headless: Runs everything in the background (hidden windows).-BackendOnly: Starts only the Python API server (no Vite frontend).-NoBrowser: Prevents the automatic browser opening.Access the dashboard at http://localhost:10814.
Older changelog bullets (multi-instance, plugin analytics, etc.) are folded into the list above where they still apply.
notepadpp-mcp runs without errors from a terminal.session.xml until you have opened saved files or restarted the editor; ensure Settings > Preferences > Backup session behavior matches your expectations. For portable installs, set NOTEPADPP_LIVE_SESSION_XML to the correct session.xml.session_ops persists named sessions: copies live session.xml, loads via -openSession (see README section Session snapshots).server.py.This project adheres to SOTA 14.1 industrial standards for high-fidelity agentic orchestration:
print statements in core handlers (T201).noConsoleLog enforcement.stdout/stderr isolation to ensure crash-resistant JSON-RPC communication.just lint, just fix, just serve).bandit and safety.MIT see LICENSE.