Notepad++ MCP Server
Notepad++ MCP 서버
Windows용 **Notepad++**를 위한 MCP 서버입니다. FastMCP 3.1.0을 사용하여 포트만토(portmanteau) 도구(더 적은 도구로 동일한 범위 지원), 선택적 HTTP 브리지, 샘플링(Ollama 호환 HTTP 또는 클라이언트 LLM), 프롬프트, skill:// 리소스 및 에이전트 워크플로우를 지원합니다.
편집기 vs 이 저장소: Notepad++ 자체의 강점(Scintilla, 플러그인, 매크로, 세션 등)은 이 MCP가 노출하는 기능과는 별개입니다. 명확한 구분과 편집기 측면의 전체적인 개요는 **docs/EDITOR_AND_MCP_SCOPE.md**를 참조하십시오.
요구 사항
항목 | 참고 사항 |
OS | 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 (pyproject.toml의 notepadpp_mcp.server:run)입니다.
기본 stdio: 대부분의 MCP 호스트(Claude Desktop, Cursor 등)가 사용하는 방식입니다. 추가 플래그가 필요 없습니다.
선택적 HTTP 브리지:
127.0.0.1에서 FastAPI + uvicorn 실행,/mcp에서 MCP HTTP 지원.
notepadpp-mcp --http --port 1081510815 포트가 사용 중인 경우 --port를 변경하십시오(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: Notepad++의 실시간
session.xml(일반적으로%APPDATA%\Notepad++\session.xml)을 복사합니다. 이 파일은 모든 열린 버퍼를 나열하며, **%APPDATA%\Notepad++\notepadpp-mcp-sessions\** 아래의 명명된 파일로 저장됩니다. 형식은 Notepad++가 **세션 불러오기** / **-openSession**에 사용하는 것과 일치합니다. 실시간 파일이 없거나 파일이 나열되지 않은 경우, 서버는 디스크에 경로가 존재하는 경우 활성 탭 경로에서 빌드된 최소 세션으로 대체합니다.load: **
notepad++.exe -openSession "<saved.xml>"**을 실행합니다. 새 인스턴스가 열릴지 기존 인스턴스에서 파일이 열릴지는 Notepad++의 다중 인스턴스(Multi-instance) 설정에 따라 다릅니다.재정의:
NOTEPADPP_SESSION_STORAGE_DIR(명명된*.xml이 저장되는 위치),NOTEPADPP_LIVE_SESSION_XML(실시간session.xml에 대한 재정의 경로, 예: 포터블 또는-settingsDir레이아웃).
샘플링 (워크플로우용 LLM)
선택 사항입니다. 서버 / NotepadSamplingHandler에 문서화된 대로 환경 변수를 설정하십시오. 예:
NOTEPADPP_SAMPLING_BASE_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 (사용 가능한 경우 PATH의 |
display_ops | 보이지 않는 텍스트 / 디스플레이 결함 수정 |
plugin_ops | 플러그인 검색 / 설치 / 나열 / 실행 |
응답은 success, message 또는 summary와 관련이 있는 경우 error / recovery_options를 포함하는 일관된 딕셔너리 형태를 사용합니다.
저장소 내 문서
docs/EDITOR_AND_MCP_SCOPE.md: Notepad++ (편집기) vs 이 서버: 편집기의 강점, 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(있는 경우)를 실행하십시오.
로드맵 / 할 일 (확장)
계획 중이거나 열려 있는 작업 - 기여자를 위한 좋은 첫 번째 이슈:
[ ] 다중 인스턴스 / 다중 창: 여러 Notepad++가 열려 있을 때 특정 HWND를 대상으로 지정
[ ] 더 풍부한 플러그인 흐름: 조정된 다중 플러그인 단계, 플러그인 관리자로부터의 더 나은 오류 표면
[ ] 린팅: HTML/CSS, 린터를 위한 선택적 구성 파일
[ ] 구성 프로필: 서버 측 기본값 (경로, 타임아웃, 자동 시작)
[ ] 배치: 진행 상황 보고가 포함된 일류 배치 파일 작업
[ ] 웹 UI: 문서를 실제 대시보드 패키지(예:
web_sota/) 및 포트와 정렬[ ] 테스트 / 커버리지: 커버리지 향상; Windows 러너에서 CI 유지
[ ] 매크로: 저장소 내 큐레이션된 XML 스니펫;
%APPDATA%\Notepad++\shortcuts.xml에 대한 선택적 읽기/나열/병합 (docs/NOTEPADPP_MACROS.md참조)
이전 변경 로그 항목(다중 인스턴스, 플러그인 분석 등)은 여전히 적용되는 경우 위 목록에 포함되었습니다.
문제 해결
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, 샘플링, 스킬, 프롬프트, 에이전트 워크플로우,
server.py에 구현된 HTTP 브리지 + 웹 훅.이전: 포트만토 도구 통합, 린팅 및 플러그인 도구.
🛡️ 산업 품질 스택
이 프로젝트는 고충실도 에이전트 오케스트레이션을 위한 SOTA 14.1 산업 표준을 준수합니다:
Python (코어): 린팅 및 포맷팅을 위한 Ruff. 코어 핸들러에서
print문에 대한 무관용 원칙 (T201).웹앱 (UI): 밀리초 미만의 린팅을 위한 Biome. 엄격한
noConsoleLog적용.프로토콜 준수: 충돌 방지 JSON-RPC 통신을 보장하기 위한 강화된
stdout/stderr격리.자동화: 모든 플릿 작업을 위한 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