Skip to main content
Glama

Notepad++ MCP Server

Notepad++ MCP Server

Gold Status CI Release Python FastMCP License: MIT Tools Tests Coverage

๐Ÿ† Gold Status Certified FastMCP 2.12 compatible MCP server for comprehensive Notepad++ automation, control, and code quality analysis. Enterprise production-ready with 64 passing tests, structured logging, and advanced linting capabilities.

โœจ 20 powerful tools including advanced tab/session management and code linting ๐Ÿงช 64 comprehensive tests with real Windows API integration and 23% coverage ๐Ÿ” 5 linting tools for Python, JavaScript, JSON, and Markdown ๐ŸŽฏ Enterprise production-ready with structured logging and error handling ๐Ÿ† Gold Status on Glama.ai platform (85/100 quality score)

๐Ÿš€ Installation & Setup

๐Ÿ“ฆ Option 1: DXT Installation (Recommended)

  1. Download the latest DXT file from Releases

  2. Open Claude Desktop

  3. Go to Settings โ†’ Developer โ†’ MCP Servers

  4. Drag & Drop the DXT file onto the extensions screen

  5. Restart Claude Desktop - the server will auto-install and configure

๐Ÿ Option 2: Python Installation

# Install from PyPI pip install notepadpp-mcp # Or install from source git clone https://github.com/sandraschi/notepadpp-mcp.git cd notepadpp-mcp pip install -e .

โš™๏ธ Claude Desktop Configuration

Add to your Claude Desktop configuration:

{ "mcpServers": { "notepadpp-mcp": { "command": "notepadpp-mcp", "args": [] } } }

๐Ÿ”ง Manual Configuration (if needed)

{ "mcpServers": { "notepadpp-mcp": { "command": "python", "args": ["-m", "notepadpp_mcp.tools.server"], "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}/src" } } } }

๐Ÿ“‹ Requirements

๐Ÿ–ฅ๏ธ System Requirements

  • Windows 10/11 (64-bit)

  • Notepad++ 8.0+ installed and accessible

  • Python 3.10+ with pip

  • pywin32 for Windows API integration

๐Ÿ› ๏ธ Dependencies

  • FastMCP 2.12+ - MCP framework

  • pywin32 - Windows API bindings

  • psutil - System monitoring

  • pathlib - Path operations

๐Ÿšจ Important Notes

  • Notepad++ must be installed on the system

  • Server requires Windows API access (pywin32)

  • First run may require Notepad++ to be started manually

๐ŸŽฏ New in v1.0: Advanced Workspace Management

๐Ÿ“‘ Tab Management Tools

Organize and navigate multiple open files efficiently:

  • List all tabs: See filenames, modification status, and active tab

  • Switch tabs: Jump to any tab by index (0-based)

  • Close tabs: Remove tabs individually or current tab

๐Ÿ’พ Session Management Tools

Save and restore your entire workspace:

  • Save sessions: Preserve all open files and cursor positions

  • Load sessions: Restore complete workspace state

  • List sessions: Browse saved workspace configurations

๐Ÿ’ก Usage Examples

# Get comprehensive help about all tools get_help() # List all open tabs list_tabs() # Save current workspace save_session("my_project_session") # Load a saved session load_session("my_project_session") # Switch to tab 2 switch_to_tab(2)

๐Ÿ“ Project Structure

notepadpp-mcp/ โ”œโ”€โ”€ src/notepadpp_mcp/ โ”‚ โ”œโ”€โ”€ tools/ # MCP server implementation โ”‚ โ”œโ”€โ”€ docs/ # Documentation and examples โ”‚ โ”œโ”€โ”€ tests/ # Test suite โ”‚ โ””โ”€โ”€ dxt/ # DXT packaging configuration โ”œโ”€โ”€ pyproject.toml # Package configuration โ”œโ”€โ”€ README.md # This file โ””โ”€โ”€ LICENSE # MIT license

๐Ÿ“š Documentation

๐Ÿ› ๏ธ Tools Overview (20 Total)

Category

Tools

Description

File Operations

4

Create, open, save, and inspect files

Text Operations

2

Insert and search text content

Status & Info

3

Monitor system and document state

Tab Management

3

Organize and navigate multiple files

Session Management

3

Save and restore workspace states

Code Quality & Linting

5

Analyze code for multiple file types

Total: 20 production-ready tools with comprehensive Windows API integration and multi-linter support.

โšก Features

๐Ÿ“ File Operations (4 tools)

  • open_file - Open files in Notepad++

  • new_file - Create new files

  • save_file - Save current file

  • get_current_file_info - Get file metadata

๐Ÿ“ Text Operations (2 tools)

  • insert_text - Insert text at cursor position

  • find_text - Search text with case sensitivity options

๐Ÿ“Š Status & Information (3 tools)

  • get_status - Notepad++ status and window info

  • get_system_status - Comprehensive system diagnostics

  • get_help - Hierarchical help system

๐Ÿ“‘ Tab Management (3 tools) โœจ NEW

  • list_tabs - List all open tabs with metadata

  • switch_to_tab - Switch between tabs by index

  • close_tab - Close tabs by index or current tab

๐Ÿ’พ Session Management (3 tools) โœจ NEW

  • save_session - Save workspace to named session

  • load_session - Load saved sessions

  • list_sessions - List all saved sessions

๐Ÿ” Code Quality & Linting (5 tools) โœจ NEW

  • lint_python_file - Comprehensive Python code analysis with ruff/flake8

  • lint_javascript_file - JavaScript validation with ESLint or basic checking

  • lint_json_file - JSON syntax validation and structure analysis

  • lint_markdown_file - Markdown style and syntax validation

  • get_linting_tools - Overview of available linting capabilities

๐Ÿ”ง Core Capabilities

  • ๐ŸŽฏ Windows Integration: Native Windows API with pywin32

  • โšก FastMCP 2.12: Latest MCP framework compliance

  • ๐Ÿ“ Structured Logging: Professional error handling

  • ๐Ÿงช Comprehensive Testing: 34 tests covering all tools

  • ๐Ÿ“š Self-Documenting: Built-in help system

  • ๐Ÿ” Multi-linter Support: ruff, flake8, ESLint with fallback options

  • ๐ŸŽจ Code Quality: Syntax validation for Python, JS, JSON, Markdown

๐Ÿ› ๏ธ Development

# Clone and install git clone https://github.com/sandraschi/notepadpp-mcp.git cd notepadpp-mcp pip install -e .[dev] # Run comprehensive tests python -m pytest src/notepadpp_mcp/tests/ # Format code black src/ # Test real Notepad++ integration python demonstration_test.py # Development helper python dev.py test|format|build|validate-dxt

๐Ÿงช Testing

  • 34 comprehensive tests covering all tools including linting functionality

  • Real Windows API testing with actual Notepad++ integration

  • Demonstration script (demonstration_test.py) tests live functionality

  • CI/CD ready with automated testing pipeline

  • Multi-linter testing with ruff, flake8, and ESLint integration

๐Ÿ—๏ธ Architecture

๐ŸŽฏ Core Components

  • NotepadPPController - Windows API integration layer

  • FastMCP Server - MCP protocol implementation

  • Tool Decorators - Automatic tool registration

  • Structured Logging - Professional error handling

๐Ÿ”ง Integration Flow

  1. MCP Client (Claude Desktop) โ†’ FastMCP Server

  2. Server โ†’ NotepadPPController โ†’ Windows API

  3. Windows API โ†’ Notepad++ Application โ†’ User Interface

๐Ÿ“ File Structure

src/notepadpp_mcp/ โ”œโ”€โ”€ tools/server.py # Main MCP server (1533 lines) โ”œโ”€โ”€ tests/ # Comprehensive test suite (34 tests) โ”œโ”€โ”€ docs/ # Documentation and examples โ””โ”€โ”€ dxt/ # DXT packaging configuration

๐Ÿ› Troubleshooting

โŒ Common Issues

"Notepad++ not found"

# Check if Notepad++ is installed python demonstration_test.py # Install Notepad++ # Download from: https://notepad-plus-plus.org/downloads/ # Or via Chocolatey: choco install notepadplusplus

"Windows API not available"

# Install pywin32 pip install pywin32 # Restart Python environment # Try running demonstration script again python demonstration_test.py

"Server not connecting"

{ "mcpServers": { "notepadpp-mcp": { "command": "python", "args": ["-m", "notepadpp_mcp.tools.server"], "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}/src" } } } }

"Tools not appearing in Claude"

  1. Restart Claude Desktop after configuration

  2. Check logs in Claude developer console

  3. Verify Notepad++ is running on the system

  4. Run demonstration script to test functionality

๐Ÿ†˜ Getting Help

Run Diagnostics

# Test all functionality python demonstration_test.py # Check tool availability python -c "from notepadpp_mcp.tools.server import app; print('Tools:', len(app._tools))"

Debug Mode

# Enable debug logging import logging logging.basicConfig(level=logging.DEBUG) # Run server with debug output python -m notepadpp_mcp.tools.server

Manual Testing

# Test individual tools from notepadpp_mcp.tools.server import get_status, get_help # Get status status = await get_status() print("Status:", status) # Get help help_info = await get_help() print("Help:", help_info)

๐Ÿค Contributing

๐Ÿ“ Development Setup

# Clone repository git clone https://github.com/sandraschi/notepadpp-mcp.git cd notepadpp-mcp # Install development dependencies pip install -e .[dev] # Run tests python -m pytest # Format code black src/ # Build DXT package python dev.py build

๐Ÿ› Reporting Issues

  1. Run demonstration script first: python demonstration_test.py

  2. Check existing issues on GitHub

  3. Include error logs and system information

  4. Test with different Notepad++ versions if possible

๐Ÿ’ก Feature Requests

  • Check existing tools in the tools overview

  • Consider Windows API limitations

  • Test with real Notepad++ workflows

  • Follow FastMCP 2.12 patterns

๐Ÿ“œ Changelog

v1.1.0 - Linting Tools Release โœจ NEW

  • โœ… 5 comprehensive linting tools for Python, JavaScript, JSON, and Markdown

  • โœ… Multi-linter support with ruff, flake8, ESLint, and fallback options

  • โœ… 16 additional tests covering all linting functionality

  • โœ… Enhanced DXT configuration with detailed linting tool documentation

  • โœ… Total: 20 tools for complete code quality analysis

v1.0.0 - Core Release

  • โœ… 15 comprehensive tools for Notepad++ automation

  • โœ… Real Windows API integration with pywin32

  • โœ… Advanced tab and session management

  • โœ… 18 comprehensive tests with full coverage

  • โœ… DXT packaging for easy installation

  • โœ… Production-ready error handling and logging

Planned Features

  • Multi-instance support for multiple Notepad++ windows

  • Plugin integration for extended functionality

  • HTML/CSS linting tools for web development

  • Configuration files for custom settings

  • Batch operations for multiple file processing

๐Ÿ“„ License

MIT - see LICENSE

-
security - not tested
-
license - not tested
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables comprehensive automation and control of Notepad++ on Windows, including file operations, text editing, tab management, and session management through 15 integrated tools. Supports advanced workspace management with the ability to save and restore complete editing sessions.

  1. ๐Ÿš€ Installation & Setup
    1. ๐Ÿ“ฆ Option 1: DXT Installation (Recommended)
    2. ๐Ÿ Option 2: Python Installation
    3. โš™๏ธ Claude Desktop Configuration
    4. ๐Ÿ”ง Manual Configuration (if needed)
  2. ๐Ÿ“‹ Requirements
    1. ๐Ÿ–ฅ๏ธ System Requirements
    2. ๐Ÿ› ๏ธ Dependencies
    3. ๐Ÿšจ Important Notes
  3. ๐ŸŽฏ New in v1.0: Advanced Workspace Management
    1. ๐Ÿ“‘ Tab Management Tools
    2. ๐Ÿ’พ Session Management Tools
    3. ๐Ÿ’ก Usage Examples
  4. ๐Ÿ“ Project Structure
    1. ๐Ÿ“š Documentation
      1. ๐Ÿ› ๏ธ Tools Overview (20 Total)
        1. โšก Features
          1. ๐Ÿ“ File Operations (4 tools)
          2. ๐Ÿ“ Text Operations (2 tools)
          3. ๐Ÿ“Š Status & Information (3 tools)
          4. ๐Ÿ“‘ Tab Management (3 tools) โœจ NEW
          5. ๐Ÿ’พ Session Management (3 tools) โœจ NEW
          6. ๐Ÿ” Code Quality & Linting (5 tools) โœจ NEW
          7. ๐Ÿ”ง Core Capabilities
        2. ๐Ÿ› ๏ธ Development
          1. ๐Ÿงช Testing
        3. ๐Ÿ—๏ธ Architecture
          1. ๐ŸŽฏ Core Components
          2. ๐Ÿ”ง Integration Flow
          3. ๐Ÿ“ File Structure
        4. ๐Ÿ› Troubleshooting
          1. โŒ Common Issues
          2. ๐Ÿ†˜ Getting Help
        5. ๐Ÿค Contributing
          1. ๐Ÿ“ Development Setup
          2. ๐Ÿ› Reporting Issues
          3. ๐Ÿ’ก Feature Requests
        6. ๐Ÿ“œ Changelog
          1. v1.1.0 - Linting Tools Release โœจ NEW
          2. v1.0.0 - Core Release
          3. Planned Features
        7. ๐Ÿ“„ License

          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