Skip to main content
Glama
sandraschi

Notepad++ MCP Server

by sandraschi

MCP-сервер Notepad++

FastMCP Version Ruff Linted with Biome Built with Just

CI Release Python FastMCP License: MIT Version

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

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. Примеры операций внутри комбинированных инструментов:

Инструмент

Типичные значения operation

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

Также: suggest_notepad_plan, agentic_notepad_workflow (оркестрация), в зависимости от сборки.

Снимки сессий (session_ops)

  • save — копирует текущий файл session.xml Notepad++ (обычно %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 (например, Ollama http://127.0.0.1:11434/v1)

  • NOTEPADPP_SAMPLING_MODEL

  • NOTEPADPP_SAMPLING_USE_CLIENT_LLM — позволить хосту MCP выполнять сэмплирование, если это поддерживается


Обзор инструментов (комбинированные)

Инструмент

Назначение

file_ops

Открытие, создание, сохранение, информация о файле

text_ops

Вставка / поиск в буфере

status_ops

Справка, статус системы, проверка работоспособности

tab_ops

Список / переключение / закрытие вкладок

session_ops

Сохранение / загрузка / список сессий рабочего пространства

linting_ops

Python, JS, JSON, Markdown (использует ruff / eslint в PATH, если доступно)

display_ops

Невидимый текст / сбои отображения

plugin_ops

Обнаружение / установка / список / выполнение плагинов

Ответы используют согласованную структуру словаря: success, message или summary, плюс error / recovery_options, где это применимо.


Документация в репозитории

  • docs/EDITOR_AND_MCP_SCOPE.mdNotepad++ (редактор) против этого сервера: сильные стороны редактора, границы 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.xsession_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.

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