Skip to main content
Glama
sandraschi

Notepad++ MCP Server

by sandraschi

Notepad++ MCP Server

FastMCP Version Ruff Linted with Biome Built with Just

CI Release Python FastMCP License: MIT Version

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+ (requires-python in pyproject.toml)

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 --help

Oder 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-mcp

Verwendung

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 operation-Werte

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

Außerdem: suggest_notepad_plan, agentic_notepad_workflow (Orchestrierung), je nach Build.

Sitzungs-Snapshots (session_ops)

  • save – Kopiert die aktive session.xml von 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** / **-openSession verwendet. 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.

  • ÜberschreibungenNOTEPADPP_SESSION_STORAGE_DIR (wo benannte *.xml gespeichert 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. Ollama http://127.0.0.1:11434/v1)

  • NOTEPADPP_SAMPLING_MODEL

  • NOTEPADPP_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 ruff / eslint im PATH, falls verfügbar)

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.mdNotepad++ (Editor) vs. dieser Server: Stärken des Editors, Grenzen der MCP-Brücke

  • docs/NOTEPADPP_MACROS.mdMakros (wofür Leute sie verwenden, shortcuts.xml, kuratierte Sets / zukünftige Tool-Ideen)

  • src/notepadpp_mcp/docs/ – API-Notizen, Beispiele, PRD, falls vorhanden

  • src/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 tests

Optional: 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 (siehe docs/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-mcp ohne Fehler von einem Terminal aus läuft.

  • Sitzung speichern leer / schlägt fehl – Notepad++ aktualisiert session.xml mö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 Installationen NOTEPADPP_LIVE_SESSION_XML auf die korrekte session.xml.


Changelog (kurz)

  • 0.2.xsession_ops speichert 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.py implementiert.

  • 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 bandit und safety.

Lizenz

MIT – siehe LICENSE.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    A
    quality
    F
    maintenance
    Enables 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.
    2
    29
    9
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    7
    56
    MIT

View all related MCP servers

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…

View all MCP Connectors

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