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) |
Related MCP server: Windows Automation MCP Server
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityFmaintenanceEnables Excel file manipulation through Microsoft's official COM automation interface using xlwings, designed for corporate environments where security policies prevent direct file access. Provides 25 tools for workbook operations, data manipulation, formatting, charts, pivot tables, and worksheet management through native Excel integration.2299
- FlicenseCqualityCmaintenanceProvides comprehensive Windows system control including file operations, process management, window control, screenshots, clipboard access, PowerShell/CMD execution, and optional mouse/keyboard automation and browser control capabilities.41
- AlicenseNot gradedqualityBmaintenanceEnables comprehensive Windows desktop automation including screen capture, OCR text extraction, mouse/keyboard control, window management, process control, and clipboard operations through 25+ tools for AI agents.3MIT
- AlicenseAqualityCmaintenanceProvides essential developer tools for workspace management, including advanced file searching, project structure analysis, and batch code editing. It enables users to efficiently navigate, analyze, and modify source code within their development environment.756MIT
Related MCP Connectors
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
AI access to your aNotepad online notes: read, search, write, and organize via 22 tools.
Streamline your workflow with Felix. Integrate it into your workspace and tailor its behavior to y…
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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