Notepad++ MCP Server
Servidor MCP de Notepad++
Servidor MCP para Notepad++ en Windows. Utiliza FastMCP 3.1.0 con herramientas combinadas (menos herramientas, misma cobertura), puente HTTP opcional, muestreo (HTTP compatible con Ollama o LLM del cliente), prompts, recursos skill:// y flujos de trabajo agénticos.
Editor vs este repositorio: Las fortalezas propias de Notepad++ (Scintilla, plugins, macros, sesiones) son independientes de lo que expone este MCP. Consulta docs/EDITOR_AND_MCP_SCOPE.md para ver una división clara y una visión general más completa del lado del editor.
Requisitos
Elemento | Notas |
SO | Windows 10/11 (64 bits) |
Editor | Notepad++ 8+ instalado |
Python | 3.12+ ( |
API | pywin32 (se descarga en Windows) |
Related MCP server: Windows Automation MCP Server
Instalación
Recomendado: uv.
Desde un clon de este repositorio:
git clone https://github.com/sandraschi/notepadpp-mcp.git
Set-Location notepadpp-mcp
uv sync
uv run notepadpp-mcp --helpO instala el paquete en modo editable:
uv pip install -e ".[dev]"Cuando el paquete se publique en PyPI, podrás ejecutarlo con:
uvx notepadpp-mcpUso
Cómo se ejecuta el servidor
El script de consola publicado es notepadpp-mcp (notepadpp_mcp.server:run en pyproject.toml).
stdio predeterminado: lo que usan la mayoría de los hosts MCP (Claude Desktop, Cursor, etc.). Sin flags adicionales.
Puente HTTP opcional: FastAPI + uvicorn en
127.0.0.1, MCP HTTP en/mcp.
notepadpp-mcp --http --port 10815Cambia --port si el puerto 10815 está ocupado (consulta el registro central de puertos si utilizas un conjunto de aplicaciones web MCP).
Configuración del cliente MCP
Claude Desktop (claude_desktop_config.json): apunta command/args a tu instalación. Ejemplo usando uv desde una ruta de repositorio fija:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "uv",
"args": ["run", "--directory", "D:/Dev/repos/notepadpp-mcp", "notepadpp-mcp"]
}
}
}Si notepadpp-mcp está en el PATH:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "notepadpp-mcp",
"args": []
}
}
}Legado: los documentos antiguos hacían referencia a python -m notepadpp_mcp.tools.server. Prefiere notepadpp-mcp a menos que estés depurando ese módulo.
Llamada a herramientas (conceptual)
El asistente llama a las herramientas MCP por su nombre; no las ejecutas en PowerShell. Ejemplos de operaciones dentro de las herramientas combinadas:
Herramienta | Valores típicos de |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
También: suggest_notepad_plan, agentic_notepad_workflow (orquestación), dependiendo de la compilación.
Instantáneas de sesión (session_ops)
save: Copia el archivo
session.xmlactivo de Notepad++ (normalmente%APPDATA%\Notepad++\session.xml), que enumera todos los búferes abiertos, en un archivo con nombre bajo%APPDATA%\Notepad++\notepadpp-mcp-sessions\**. El formato coincide con lo que usa Notepad++ para **Cargar sesión** / **-openSession. Si el archivo activo falta o no enumera archivos, el servidor recurre a una sesión mínima creada a partir de la ruta de la pestaña activa cuando esa ruta existe en el disco.load: Ejecuta
notepad++.exe -openSession "<saved.xml>". Si una instancia nueva o existente abre los archivos depende de tu configuración de Instancia múltiple en Notepad++.Sobrescrituras:
NOTEPADPP_SESSION_STORAGE_DIR(donde se almacenan los*.xmlcon nombre),NOTEPADPP_LIVE_SESSION_XML(ruta de sobrescritura alsession.xmlactivo, p. ej., diseños portátiles o-settingsDir).
Muestreo (LLM para flujos de trabajo)
Opcional. Establece las variables de entorno como se documenta en el servidor / NotepadSamplingHandler, por ejemplo:
NOTEPADPP_SAMPLING_BASE_URL: Base compatible con OpenAI (p. ej., Ollamahttp://127.0.0.1:11434/v1)NOTEPADPP_SAMPLING_MODELNOTEPADPP_SAMPLING_USE_CLIENT_LLM: permite que el host MCP ejecute el muestreo cuando sea compatible
Descripción general de las herramientas (combinadas)
Herramienta | Propósito |
file_ops | Abrir, nuevo, guardar, información de archivo |
text_ops | Insertar / buscar en el búfer |
status_ops | Ayuda, estado del sistema, salud |
tab_ops | Listar / cambiar / cerrar pestañas |
session_ops | Guardar / cargar / listar sesiones de espacio de trabajo |
linting_ops | Python, JS, JSON, Markdown (usa |
display_ops | Texto invisible / fallos de visualización |
plugin_ops | Descubrir / instalar / listar / ejecutar plugins |
Las respuestas utilizan una forma de diccionario consistente: success, message o summary, además de error / recovery_options cuando sea relevante.
Documentación en el repositorio
docs/EDITOR_AND_MCP_SCOPE.md: Notepad++ (editor) vs este servidor: fortalezas del editor, límites del puente MCPdocs/NOTEPADPP_MACROS.md: Macros (para qué los usa la gente,shortcuts.xml, conjunto curado / ideas de herramientas futuras)src/notepadpp_mcp/docs/: Notas de API, ejemplos, PRD donde esté presentesrc/notepadpp_mcp/docs_manifest.py: Descripción general de REST/MCP para el puente web (cuando está habilitado)
Desarrollo
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 testsOpcional: python demonstration_test.py o el proyecto dev.py si está presente para pruebas de humo de integración.
Hoja de ruta / TODO (extensiones)
Trabajo que está planificado o abierto: buenas primeras tareas para colaboradores:
[ ] Instancia múltiple / ventana múltiple: apuntar a un HWND específico de Notepad++ cuando hay varios abiertos
[ ] Flujos de plugins más ricos: pasos coordinados de múltiples plugins, mejores superficies de error desde el Administrador de Plugins
[ ] Linting: HTML/CSS, archivos de configuración opcionales para linters
[ ] Perfiles de configuración: valores predeterminados del lado del servidor (rutas, tiempos de espera, inicio automático)
[ ] Lotes: operaciones de archivos por lotes de primera clase con informes de progreso
[ ] Interfaz web: alinear los documentos con el paquete de panel real (p. ej.,
web_sota/) y puertos[ ] Pruebas / cobertura: aumentar la cobertura; mantener la CI verde en los ejecutores de Windows
[ ] Macros: fragmentos XML curados en el repositorio; lectura/lista/fusión opcional para
%APPDATA%\Notepad++\shortcuts.xml(verdocs/NOTEPADPP_MACROS.md)
Los puntos del registro de cambios anteriores (instancia múltiple, análisis de plugins, etc.) se incluyen en la lista anterior donde todavía se aplican.
Solución de problemas
No se encuentra Notepad++: Instala Notepad++, inícialo una vez o habilita el comportamiento de inicio automático si tu compilación lo admite.
API de Windows no disponible: Usa Windows; instala pywin32 en el mismo entorno que el servidor.
Herramientas que faltan en el cliente: Reinicia el host, verifica los registros de MCP, confirma que
notepadpp-mcpse ejecuta sin errores desde una terminal.El guardado de sesión está vacío / falla: Es posible que Notepad++ no actualice
session.xmlhasta que hayas abierto archivos guardados o reiniciado el editor; asegúrate de que el comportamiento de la sesión en Configuración > Preferencias > Copia de seguridad coincida con tus expectativas. Para instalaciones portátiles, estableceNOTEPADPP_LIVE_SESSION_XMLen elsession.xmlcorrecto.
Registro de cambios (corto)
0.2.x:
session_opspersiste sesiones con nombre: copia elsession.xmlactivo, carga mediante-openSession(ver la sección del README Instantáneas de sesión).0.2.0: FastMCP 3.1.0, muestreo, habilidades, prompts, flujo de trabajo agéntico, puente HTTP + web hooks como se implementó en
server.py.Anterior: Consolidación de herramientas combinadas, linting y herramientas de plugins.
🛡️ Pila de calidad industrial
Este proyecto se adhiere a los estándares industriales SOTA 14.1 para la orquestación agéntica de alta fidelidad:
Python (Núcleo): Ruff para linting y formato. Tolerancia cero para declaraciones
printen los controladores principales (T201).Aplicación web (UI): Biome para linting de sub-milisegundos. Aplicación estricta de
noConsoleLog.Cumplimiento del protocolo: Aislamiento endurecido de
stdout/stderrpara garantizar una comunicación JSON-RPC resistente a fallos.Automatización: Recetas de Justfile para todas las operaciones de flota (
just lint,just fix,just dev).Seguridad: Auditorías automatizadas mediante
banditysafety.
Licencia
MIT: ver 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