Notepad++ MCP Server
Notepad++ MCP Server
MCP-Server für Notepad++ unter Windows. Verwendet FastMCP 3.1.0 mit Portmanteau-Tools (weniger Tools, gleiche Abdeckung), optionaler HTTP-Brücke, Sampling (Ollama-kompatibles HTTP oder Client-LLM), Prompts, skill:// Ressourcen und agentischen Workflows.
Editor vs. dieses Repo: Die Stärken von Notepad++ selbst (Scintilla, Plugins, Makros, Sitzungen) sind getrennt von dem, was dieses MCP bereitstellt. Siehe docs/EDITOR_AND_MCP_SCOPE.md für eine klare Trennung und einen umfassenderen Überblick über die Editor-Seite.
Anforderungen
Element | Hinweise |
Betriebssystem | Windows 10/11 (64-Bit) |
Editor | Notepad++ 8+ installiert |
Python | 3.12+ ( |
API | pywin32 (wird unter Windows automatisch geladen) |
Installation
Empfohlen: uv.
Von einem Klon dieses Repos:
git clone https://github.com/sandraschi/notepadpp-mcp.git
Set-Location notepadpp-mcp
uv sync
uv run notepadpp-mcp --helpOder installieren Sie das Paket im editierbaren Modus:
uv pip install -e ".[dev]"Sobald das Paket auf PyPI veröffentlicht ist, können Sie es ausführen mit:
uvx notepadpp-mcpVerwendung
Wie der Server ausgeführt wird
Das veröffentlichte Konsolenskript ist notepadpp-mcp (notepadpp_mcp.server:run in pyproject.toml).
Standard stdio: Was die meisten MCP-Hosts verwenden (Claude Desktop, Cursor usw.). Keine zusätzlichen Flags.
Optionale HTTP-Brücke: FastAPI + uvicorn auf
127.0.0.1, MCP HTTP unter/mcp.
notepadpp-mcp --http --port 10815Ändern Sie --port, falls 10815 belegt ist (siehe zentrales Port-Register, falls Sie eine Flotte von MCP-Webanwendungen verwenden).
MCP-Client-Konfiguration
Claude Desktop (claude_desktop_config.json) – verweisen Sie command/args auf Ihre Installation. Beispiel mit uv von einem festen Repo-Pfad:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "uv",
"args": ["run", "--directory", "D:/Dev/repos/notepadpp-mcp", "notepadpp-mcp"]
}
}
}Wenn notepadpp-mcp im PATH ist:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "notepadpp-mcp",
"args": []
}
}
}Veraltet: Ältere Dokumentationen verwiesen auf python -m notepadpp_mcp.tools.server. Bevorzugen Sie notepadpp-mcp, es sei denn, Sie debuggen dieses Modul.
Aufrufen von Tools (konzeptionell)
Der Assistent ruft MCP-Tools beim Namen auf; Sie führen diese nicht in PowerShell aus. Beispiele für Operationen innerhalb von Portmanteau-Tools:
Tool | Typische |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Außerdem: suggest_notepad_plan, agentic_notepad_workflow (Orchestrierung), je nach Build.
Sitzungs-Snapshots (session_ops)
save – Kopiert die aktive
session.xmlvon Notepad++ (typischerweise%APPDATA%\Notepad++\session.xml), die alle offenen Puffer auflistet, in eine benannte Datei unter%APPDATA%\Notepad++\notepadpp-mcp-sessions\. Das Format entspricht dem, was Notepad++ für Sitzung laden /-openSessionverwendet. Wenn die Live-Datei fehlt oder keine Dateien auflistet, greift der Server auf eine minimale Sitzung zurück, die aus dem Pfad des aktiven Tabs erstellt wird, sofern dieser Pfad auf der Festplatte existiert.load – Führt
notepad++.exe -openSession "<saved.xml>"aus. Ob eine neue oder bestehende Instanz Dateien öffnet, hängt von Ihren Multi-Instanz-Einstellungen in Notepad++ ab.Überschreibungen –
NOTEPADPP_SESSION_STORAGE_DIR(wo benannte*.xmlgespeichert werden),NOTEPADPP_LIVE_SESSION_XML(Überschreibungspfad zur Live-session.xml, z. B. portable oder-settingsDir-Layouts).
Sampling (LLM für Workflows)
Optional. Setzen Sie Umgebungsvariablen wie im Server / NotepadSamplingHandler dokumentiert, zum Beispiel:
NOTEPADPP_SAMPLING_BASE_URL– OpenAI-kompatible Basis (z. B. Ollamahttp://127.0.0.1:11434/v1)NOTEPADPP_SAMPLING_MODELNOTEPADPP_SAMPLING_USE_CLIENT_LLM– Lassen Sie den MCP-Host das Sampling durchführen, wenn unterstützt
Tools-Übersicht (Portmanteau)
Tool | Zweck |
file_ops | Öffnen, neu, speichern, Datei-Info |
text_ops | Einfügen / Suchen im Puffer |
status_ops | Hilfe, Systemstatus, Integrität |
tab_ops | Tabs auflisten / wechseln / schließen |
session_ops | Arbeitsbereichs-Sitzungen speichern / laden / auflisten |
linting_ops | Python, JS, JSON, Markdown (verwendet |
display_ops | Unsichtbarer Text / Anzeigefehler |
plugin_ops | Plugins entdecken / installieren / auflisten / ausführen |
Antworten verwenden eine konsistente Dict-Form: success, message oder summary, plus error / recovery_options, wo relevant.
Dokumentation im Repo
docs/EDITOR_AND_MCP_SCOPE.md– Notepad++ (Editor) vs. dieser Server: Stärken des Editors, Grenzen der MCP-Brückedocs/NOTEPADPP_MACROS.md– Makros (wofür Leute sie verwenden,shortcuts.xml, kuratierte Sets / zukünftige Tool-Ideen)src/notepadpp_mcp/docs/– API-Notizen, Beispiele, PRD, falls vorhandensrc/notepadpp_mcp/docs_manifest.py– REST/MCP-Übersicht für die Web-Brücke (wenn aktiviert)
Entwicklung
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 testsOptional: python demonstration_test.py oder Projekt dev.py, falls für Integrations-Smoke-Tests vorhanden.
Roadmap / TODO (Erweiterungen)
Arbeiten, die geplant oder offen sind – gute erste Issues für Mitwirkende:
[ ] Multi-Instanz / Multi-Fenster – ein spezifisches Notepad++ HWND ansteuern, wenn mehrere geöffnet sind
[ ] Reichhaltigere Plugin-Flows – koordinierte Multi-Plugin-Schritte, bessere Fehlermeldungen aus dem Plugin-Admin
[ ] Linting – HTML/CSS, optionale Konfigurationsdateien für Linter
[ ] Konfigurationsprofile – serverseitige Standardwerte (Pfade, Timeouts, Autostart)
[ ] Batch – erstklassige Batch-Dateivorgänge mit Fortschrittsberichten
[ ] Web-UI – Dokumentation mit dem tatsächlichen Dashboard-Paket (z. B.
web_sota/) und Ports abgleichen[ ] Tests / Abdeckung – Abdeckung erhöhen; CI auf Windows-Runnern grün halten
[ ] Makros – kuratierte XML-Snippets im Repo; optionales Lesen/Auflisten/Zusammenführen für
%APPDATA%\Notepad++\shortcuts.xml(siehedocs/NOTEPADPP_MACROS.md)
Ältere Changelog-Punkte (Multi-Instanz, Plugin-Analytik usw.) sind in die obige Liste eingeflossen, wo sie noch zutreffen.
Fehlerbehebung
Notepad++ nicht gefunden – Installieren Sie Notepad++, starten Sie es einmal oder aktivieren Sie das Autostart-Verhalten, falls Ihr Build dies unterstützt.
Windows API nicht verfügbar – Verwenden Sie Windows; installieren Sie pywin32 in derselben Umgebung wie den Server.
Tools fehlen im Client – Starten Sie den Host neu, überprüfen Sie die MCP-Protokolle, bestätigen Sie, dass
notepadpp-mcpohne Fehler von einem Terminal aus läuft.Sitzung speichern leer / schlägt fehl – Notepad++ aktualisiert
session.xmlmöglicherweise erst, wenn Sie gespeicherte Dateien geöffnet oder den Editor neu gestartet haben; stellen Sie sicher, dass das Sitzungsverhalten unter Einstellungen > Einstellungen > Sicherung Ihren Erwartungen entspricht. Setzen Sie bei portablen InstallationenNOTEPADPP_LIVE_SESSION_XMLauf die korrektesession.xml.
Changelog (kurz)
0.2.x –
session_opsspeichert benannte Sitzungen dauerhaft: kopiert Live-session.xml, lädt über-openSession(siehe README-Abschnitt Sitzungs-Snapshots).0.2.0 – FastMCP 3.1.0, Sampling, Skills, Prompts, agentischer Workflow, HTTP-Brücke + Web-Hooks wie in
server.pyimplementiert.Früher – Portmanteau-Tool-Konsolidierung, Linting- und Plugin-Tooling.
🛡️ Industrieller Qualitäts-Stack
Dieses Projekt hält sich an die SOTA 14.1 Industriestandards für hochpräzise agentische Orchestrierung:
Python (Core): Ruff für Linting und Formatierung. Null-Toleranz für
print-Anweisungen in Core-Handlern (T201).Webapp (UI): Biome für Sub-Millisekunden-Linting. Strenge
noConsoleLog-Durchsetzung.Protokoll-Konformität: Gehärtete
stdout/stderr-Isolierung, um eine absturzsichere JSON-RPC-Kommunikation zu gewährleisten.Automatisierung: Justfile-Rezepte für alle Flottenoperationen (
just lint,just fix,just dev).Sicherheit: Automatisierte Audits via
banditundsafety.
Lizenz
MIT – siehe LICENSE.
This server cannot be installed
Maintenance
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/notepadpp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server