notepadpp-mcp
MCP server for Notepad++ on Windows that allows opening files, checking editor status, and saving/loading session snapshots.
README
@mhdd_24/notepadpp-mcp
MCP server for Notepad++ on Windows. Use it from Cursor, Claude Desktop, VS Code Copilot, or any MCP-compatible client to open files, check editor status, and save/load session snapshots.
Full documentation: docs/WIKI.md
How it works (30 seconds)
You (chat) → MCP client → notepadpp-mcp → notepad++.exe / session.xml
- Status — resolves
NOTEPADPP_EXE, checks if the process is running - Open / new — launches Notepad++ with file paths or a fresh buffer
- Sessions — reads live
session.xml; save/load named snapshots via-openSession
Prerequisites
| Requirement | Notes |
|---|---|
| Node.js 18+ | Required for MCP server |
| Notepad++ 8+ | Default: C:\Program Files\Notepad++\notepad++.exe |
| Windows | CLI + session.xml (no Python) |
Install
Option A — npm (recommended after publish)
npm install -g @mhdd_24/notepadpp-mcp
Option B — npx (no global install)
npx @mhdd_24/notepadpp-mcp
Option C — clone and build (contributors)
git clone https://github.com/Mhdd-24/NotePadpp-MCP.git
cd NotePadpp-MCP
npm install
npm run build
node dist/index.js
Configure your MCP client
Cursor
Edit Cursor Settings → MCP or ~/.cursor/mcp.json:
{
"mcpServers": {
"notepadpp": {
"command": "npx",
"args": ["-y", "@mhdd_24/notepadpp-mcp"],
"env": {
"NOTEPADPP_EXE": "C:/Program Files/Notepad++/notepad++.exe",
"NOTEPADPP_WORKDIR": "C:/Users/You/Documents/NotepadPP-Notes"
}
}
}
}
After global install, you can use:
"command": "notepadpp-mcp"
Local development:
"command": "node",
"args": ["C:/path/to/notepadpp-mcp/dist/index.js"]
Restart Cursor (or toggle the MCP server off/on) after saving.
Environment variables
| Variable | Required | Default | Purpose |
|---|---|---|---|
NOTEPADPP_EXE |
No | Program Files path | Path to notepad++.exe |
NOTEPADPP_WORKDIR |
No | %USERPROFILE%\Documents\NotepadPP-Notes |
Base for relative paths |
NOTEPADPP_SESSION_XML |
No | %APPDATA%\Notepad++\session.xml |
Live session file |
NOTEPADPP_SESSION_STORAGE_DIR |
No | %APPDATA%\Notepad++\notepadpp-mcp-sessions |
Named snapshots |
Never commit machine-specific paths that identify private orgs. Put local overrides only in MCP env or a gitignored .env.
Tools
| Tool | Purpose |
|---|---|
npp_status |
Exe path, process running, session/workdir |
npp_open |
Open file(s) in Notepad++ |
npp_new |
New empty buffer or create+open a file |
npp_list_session |
List paths from live session.xml |
npp_save_session |
Snapshot live session under a name |
npp_load_session |
Load named session via -openSession |
npp_run |
Escape hatch with custom CLI args |
What happens after npm install?
- Package files land in
node_modules/@mhdd_24/notepadpp-mcp/(or global prefix if-g). prepack/ publish includes compileddist/— no local build needed for end users.- The
notepadpp-mcpbin points todist/index.js. - Your MCP client runs that entry over stdio.
- Tools are registered; the server waits for
CallToolrequests from the AI.
After publishing to npm (maintainers)
- Bump version in
package.jsonandsrc/config/notepadpp.config.ts(NPP.SERVER.VERSION). - Build and test:
npm run buildthen test with localmcp.json. - Publish:
npm publish --access public(logged in as package owner). - Users update by restarting MCP —
npxpicks up the new version automatically.
Current package version: 1.0.1.
See WIKI — Publishing for the checklist.
Troubleshooting
| Problem | Fix |
|---|---|
| Exe not found | Set NOTEPADPP_EXE |
| Empty session list | Open saved files in Notepad++, then retry |
| Session load opens new window | Check Notepad++ multi-instance preferences |
License
ISC
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.