Notepad++ MCP Server
MCP-сервер Notepad++
MCP-сервер для Notepad++ в Windows. Использует FastMCP 3.1.0 с комбинированными инструментами (меньше инструментов, тот же охват), опциональный HTTP-мост, сэмплирование (HTTP, совместимый с Ollama, или клиентский LLM), промпты, ресурсы skill:// и агентные рабочие процессы.
Редактор против этого репозитория: Сильные стороны самого Notepad++ (Scintilla, плагины, макросы, сессии) отделены от того, что предоставляет этот MCP. См. docs/EDITOR_AND_MCP_SCOPE.md для четкого разделения и более полного обзора со стороны редактора.
Требования
Элемент | Примечания |
ОС | Windows 10/11 (64-бит) |
Редактор | Установлен Notepad++ 8+ |
Python | 3.12+ ( |
API | pywin32 (подтягивается в Windows) |
Related MCP server: Windows Automation MCP Server
Установка
Рекомендуется: uv.
Из клона этого репозитория:
git clone https://github.com/sandraschi/notepadpp-mcp.git
Set-Location notepadpp-mcp
uv sync
uv run notepadpp-mcp --helpИли установите пакет в редактируемом режиме:
uv pip install -e ".[dev]"Когда пакет будет опубликован в PyPI, вы сможете запустить его с помощью:
uvx notepadpp-mcpИспользование
Как работает сервер
Опубликованный консольный скрипт — это notepadpp-mcp (notepadpp_mcp.server:run в pyproject.toml).
Стандартный stdio: то, что используют большинство хостов MCP (Claude Desktop, Cursor и т.д.). Никаких дополнительных флагов.
Опциональный HTTP-мост: FastAPI + uvicorn на
127.0.0.1, MCP HTTP на/mcp.
notepadpp-mcp --http --port 10815Измените --port, если порт 10815 занят (см. центральный реестр портов, если вы используете парк веб-приложений MCP).
Конфигурация клиента MCP
Claude Desktop (claude_desktop_config.json) — укажите command/args для вашей установки. Пример использования uv из фиксированного пути репозитория:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "uv",
"args": ["run", "--directory", "D:/Dev/repos/notepadpp-mcp", "notepadpp-mcp"]
}
}
}Если notepadpp-mcp находится в PATH:
{
"mcpServers": {
"notepadpp-mcp": {
"command": "notepadpp-mcp",
"args": []
}
}
}Устаревшее: в старой документации упоминался python -m notepadpp_mcp.tools.server. Используйте notepadpp-mcp, если только вы не отлаживаете этот модуль.
Вызов инструментов (концептуально)
Ассистент вызывает инструменты MCP по имени; вы не запускаете их в PowerShell. Примеры операций внутри комбинированных инструментов:
Инструмент | Типичные значения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Также: suggest_notepad_plan, agentic_notepad_workflow (оркестрация), в зависимости от сборки.
Снимки сессий (session_ops)
save — копирует текущий файл
session.xmlNotepad++ (обычно%APPDATA%\Notepad++\session.xml), в котором перечислены все открытые буферы, в именованный файл в папке%APPDATA%\Notepad++\notepadpp-mcp-sessions\**. Формат соответствует тому, что Notepad++ использует для **Загрузки сессии** / **-openSession. Если текущий файл отсутствует или не содержит файлов, сервер возвращается к минимальной сессии, созданной из пути активной вкладки, если этот путь существует на диске.load — запускает
notepad++.exe -openSession "<saved.xml>". Откроет ли файлы новый или существующий экземпляр, зависит от ваших настроек Multi-instance в Notepad++.Переопределения —
NOTEPADPP_SESSION_STORAGE_DIR(где хранятся именованные*.xml),NOTEPADPP_LIVE_SESSION_XML(переопределение пути к текущемуsession.xml, например, для портативных версий или макетов-settingsDir).
Сэмплирование (LLM для рабочих процессов)
Опционально. Установите переменные окружения, как описано в документации сервера / NotepadSamplingHandler, например:
NOTEPADPP_SAMPLING_BASE_URL— базовая URL, совместимая с OpenAI (например, Ollamahttp://127.0.0.1:11434/v1)NOTEPADPP_SAMPLING_MODELNOTEPADPP_SAMPLING_USE_CLIENT_LLM— позволить хосту MCP выполнять сэмплирование, если это поддерживается
Обзор инструментов (комбинированные)
Инструмент | Назначение |
file_ops | Открытие, создание, сохранение, информация о файле |
text_ops | Вставка / поиск в буфере |
status_ops | Справка, статус системы, проверка работоспособности |
tab_ops | Список / переключение / закрытие вкладок |
session_ops | Сохранение / загрузка / список сессий рабочего пространства |
linting_ops | Python, JS, JSON, Markdown (использует |
display_ops | Невидимый текст / сбои отображения |
plugin_ops | Обнаружение / установка / список / выполнение плагинов |
Ответы используют согласованную структуру словаря: success, message или summary, плюс error / recovery_options, где это применимо.
Документация в репозитории
docs/EDITOR_AND_MCP_SCOPE.md— Notepad++ (редактор) против этого сервера: сильные стороны редактора, границы MCP-мостаdocs/NOTEPADPP_MACROS.md— Макросы (для чего их используют,shortcuts.xml, курируемый набор / идеи для будущих инструментов)src/notepadpp_mcp/docs/— заметки по API, примеры, PRD (если есть)src/notepadpp_mcp/docs_manifest.py— обзор REST/MCP для веб-моста (когда включен)
Разработка
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Опционально: python demonstration_test.py или проект dev.py, если он присутствует для интеграционных дымовых тестов.
Дорожная карта / TODO (расширения)
Работа, которая запланирована или открыта — хорошие первые задачи для участников:
[ ] Multi-instance / многооконность — нацеливание на конкретный HWND Notepad++, когда открыто несколько окон
[ ] Более богатые потоки плагинов — скоординированные шаги с несколькими плагинами, улучшенное отображение ошибок из Plugin Admin
[ ] Линтинг — HTML/CSS, опциональные файлы конфигурации для линтеров
[ ] Профили конфигурации — серверные значения по умолчанию (пути, тайм-ауты, автозапуск)
[ ] Пакетная обработка — первоклассные пакетные файловые операции с отчетами о прогрессе
[ ] Веб-интерфейс — приведение документации в соответствие с фактическим пакетом панели управления (например,
web_sota/) и портами[ ] Тесты / покрытие — повышение покрытия; поддержание CI в рабочем состоянии на раннерах Windows
[ ] Макросы — курируемые XML-фрагменты в репозитории; опциональное чтение/список/слияние для
%APPDATA%\Notepad++\shortcuts.xml(см.docs/NOTEPADPP_MACROS.md)
Более старые пункты журнала изменений (multi-instance, аналитика плагинов и т.д.) включены в список выше, где они все еще применимы.
Устранение неполадок
Notepad++ не найден — Установите Notepad++, запустите его один раз или включите поведение автозапуска, если ваша сборка это поддерживает.
Windows API недоступен — Используйте Windows; установите pywin32 в той же среде, что и сервер.
Инструменты отсутствуют в клиенте — Перезапустите хост, проверьте логи MCP, убедитесь, что
notepadpp-mcpзапускается без ошибок из терминала.Сохранение сессии пустое / не удается — Notepad++ может не обновлять
session.xml, пока вы не откроете сохраненные файлы или не перезапустите редактор; убедитесь, что поведение сессии в Настройки > Предпочтения > Резервное копирование соответствует вашим ожиданиям. Для портативных установок установитеNOTEPADPP_LIVE_SESSION_XMLна правильныйsession.xml.
Журнал изменений (кратко)
0.2.x —
session_opsсохраняет именованные сессии: копирует текущийsession.xml, загружает через-openSession(см. раздел README Снимки сессий).0.2.0 — FastMCP 3.1.0, сэмплирование, навыки, промпты, агентный рабочий процесс, HTTP-мост + веб-хуки, как реализовано в
server.py.Ранее — Консолидация комбинированных инструментов, линтинг и инструментарий плагинов.
🛡️ Стек промышленного качества
Этот проект придерживается промышленных стандартов SOTA 14.1 для высокоточной агентной оркестрации:
Python (Core): Ruff для линтинга и форматирования. Нулевая терпимость к операторам
printв основных обработчиках (T201).Webapp (UI): Biome для линтинга с субмиллисекундной скоростью. Строгое соблюдение
noConsoleLog.Соответствие протоколу: Усиленная изоляция
stdout/stderrдля обеспечения устойчивой к сбоям связи JSON-RPC.Автоматизация: Рецепты Justfile для всех операций парка (
just lint,just fix,just dev).Безопасность: Автоматизированные аудиты через
banditиsafety.
Лицензия
MIT — см. 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