advanced-windows-MCP-server

TBNilles/advanced-windows-MCP-server

3.2

If you are the rightful owner of advanced-windows-MCP-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Advanced Windows MCP Server is a comprehensive Model Context Protocol server designed for Windows environments, providing Claude Desktop with powerful system integration capabilities.

Tools
  1. notes_manager

    Personal note management

  2. task_manager

    Task tracking system

  3. bookmark_manager

    Bookmark organization

  4. file_operations

    File system operations

  5. system_command

    Safe system commands

  6. http_request

    HTTP client

  7. database_query

    Direct database access

  8. git_operations

    Git repository tools

  9. process_monitor

    Process management

  10. system_info

    System information

  11. network_info

    Network utilities

Advanced Windows MCP Server

A comprehensive Model Context Protocol (MCP) server designed for Windows environments, providing Claude Desktop with powerful system integration capabilities including file operations, task management, database queries, and system monitoring.

šŸš€ Features

šŸ“ Personal Productivity

  • Notes Manager: Create, read, list, and delete personal notes with persistent storage
  • Task Manager: Create and manage tasks with priorities, due dates, and completion tracking
  • Bookmark Manager: Save and organize web bookmarks with tags and descriptions

šŸ’» System Operations

  • File Operations: Advanced file system operations (read, write, copy, move, delete, search)
  • System Commands: Execute safe Windows system commands with security restrictions
  • Process Monitor: Monitor running Windows processes
  • System Info: Retrieve detailed Windows system information
  • Network Tools: Network configuration display and ping testing

šŸ”§ Development Tools

  • Git Operations: Git repository status, logs, and branch information
  • HTTP Requests: Make HTTP requests to external APIs
  • Database Queries: Direct SQL queries against the integrated SQLite database

šŸ“‹ Prerequisites

  • Windows 10/11 (required for Windows-specific commands)
  • Go 1.19+ for building from source
  • Claude Desktop for MCP integration
  • Git (optional, for git operations tool)

šŸ› ļø Installation

Option 1: Download Release (Recommended)

  1. Download the latest mcp-server.exe from Releases
  2. Place it in your desired directory
  3. Configure Claude Desktop (see Configuration)

Option 2: Build from Source

# Clone the repository
git clone https://github.com/TBNilles/advanced-windows-mcp.git
cd advanced-windows-mcp

# Build the executable
go build -o mcp-server.exe main.go

āš™ļø Configuration

Claude Desktop Setup

Add the server to your Claude Desktop configuration file:

Location: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "advanced-mcp-server": {
      "command": "C:\\path\\to\\your\\mcp-server.exe",
      "args": []
    }
  }
}

Database Location

The server automatically creates a SQLite database at:

%LOCALAPPDATA%\Claude\MCP\mcp_server.db

šŸŽÆ Available Tools

ToolDescriptionKey Features
notes_managerPersonal note managementCreate, read, list, delete notes
task_managerTask tracking systemCreate tasks with priorities and due dates
bookmark_managerBookmark organizationSave URLs with descriptions and tags
file_operationsFile system operationsRead, write, copy, move, delete, search files
system_commandSafe system commandsExecute whitelisted Windows commands
http_requestHTTP clientMake GET/POST/PUT/DELETE requests
database_queryDirect database accessExecute SQL queries on the integrated database
git_operationsGit repository toolsStatus, logs, branch information
process_monitorProcess managementList running Windows processes
system_infoSystem informationOS, hardware, and environment details
network_infoNetwork utilitiesIP configuration and connectivity testing

šŸ“– Usage Examples

Notes Management

Create a note about project ideas
List all my notes
Read note #1
Delete note #2

Task Management

Create a task "Review MCP documentation" with high priority due 2024-12-25
List all pending tasks
Mark task #1 as completed

File Operations

List files in C:\Projects
Read the contents of config.txt
Create a new file with some content
Search for *.go files in the current directory

System Operations

Show system information
List running processes  
Get network configuration
Ping google.com

Development Tools

Show git status for this repository
Make an HTTP GET request to https://api.github.com
Query the database: SELECT * FROM notes WHERE title LIKE '%project%'

šŸ—ļø Architecture

The server follows a modular architecture for maintainability and extensibility:

advanced-windows-mcp/
ā”œā”€ā”€ main.go                 # Application entry point
ā”œā”€ā”€ server/
│   └── server.go          # Core MCP server logic
ā”œā”€ā”€ database/
│   └── database.go        # SQLite database management
ā”œā”€ā”€ types/
│   ā”œā”€ā”€ types.go           # Tool result types
│   └── mcp.go            # MCP protocol types
└── tools/
    ā”œā”€ā”€ helpers.go         # Shared utilities
    ā”œā”€ā”€ notes.go          # Notes management
    ā”œā”€ā”€ tasks.go          # Task management
    ā”œā”€ā”€ bookmarks.go      # Bookmark management
    ā”œā”€ā”€ system.go         # System commands & info
    ā”œā”€ā”€ network.go        # Network operations
    ā”œā”€ā”€ database.go       # Database queries
    ā”œā”€ā”€ http.go           # HTTP requests
    ā”œā”€ā”€ fileOperations.go # File system operations
    └── gitOperations.go  # Git repository operations

šŸ”’ Security Features

Command Whitelist

System commands are restricted to a safe whitelist:

  • dir, echo, date, time, whoami
  • systeminfo, tasklist, ipconfig
  • netstat, ping, tree, type, ver, hostname

File Operation Safety

  • Configurable size limits for file operations
  • Path validation and sanitization
  • Optional backup creation for file modifications
  • Safety checks for dangerous operations (with override options)

Database Security

  • Local SQLite database with no network exposure
  • Parameterized queries to prevent SQL injection
  • Read-only access patterns where appropriate

šŸš€ Development

Adding New Tools

  1. Create a new file in the tools/ directory
  2. Implement the tool function with signature:
    func ExecuteYourTool(arguments map[string]interface{}) (types.ToolResult, error)
    
  3. Add the tool to the executeTool switch statement in server/server.go
  4. Add the tool schema to registerTools in server/server.go

Building and Testing

# Run tests
go test ./...

# Build for production
go build -ldflags="-s -w" -o mcp-server.exe main.go

# Test the server directly
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | ./mcp-server.exe

šŸ“Š Database Schema

Notes Table

CREATE TABLE notes (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    content TEXT NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Tasks Table

CREATE TABLE tasks (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    description TEXT,
    completed BOOLEAN DEFAULT FALSE,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    due_date DATETIME,
    priority TEXT DEFAULT 'medium'
);

Bookmarks Table

CREATE TABLE bookmarks (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    url TEXT NOT NULL,
    description TEXT,
    tags TEXT,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

šŸ› Troubleshooting

Common Issues

Server won't start

  • Check if the path in claude_desktop_config.json is correct
  • Ensure the executable has proper permissions
  • Verify Go dependencies with go mod tidy

Database errors

  • Ensure write permissions in %LOCALAPPDATA%\Claude\MCP\
  • Check disk space availability
  • Try deleting the database file to recreate it

Tool validation errors

  • Restart Claude Desktop completely
  • Clear Claude Desktop cache if possible
  • Verify the executable was rebuilt after code changes

Debug Mode

The server logs to stderr, which you can capture:

./mcp-server.exe 2> debug.log

šŸ¤ Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-tool)
  3. Commit your changes (git commit -am 'Add amazing tool')
  4. Push to the branch (git push origin feature/amazing-tool)
  5. Create a Pull Request

Code Style

  • Follow standard Go conventions
  • Use gofmt for formatting
  • Add comments for exported functions
  • Include error handling for all operations

šŸ“„ License

This project is licensed under the MIT License - see the file for details.

šŸ™ Acknowledgments

  • Anthropic for the Model Context Protocol specification
  • Claude Desktop for MCP integration
  • The Go community for excellent tooling and libraries

šŸ“ž Support


šŸ”— Related Projects


Built with ā¤ļø for the Claude Desktop and MCP community