高级Windows MCP服务器
为Windows环境设计的综合模型上下文协议(MCP)服务器,为Claude Desktop提供强大的系统集成功能,包括文件操作、任务管理、数据库查询和系统监控。
🚀 特性
📝 个人生产力
- 笔记管理器:使用持久存储创建、读取、列出和删除个人笔记
- 任务管理器:创建和管理具有优先级、截止日期和完成跟踪的任务
- 书签管理器:保存和组织带有标签和描述的网络书签
💻 系统操作
- 文件操作:高级文件系统操作(读、写、复制、移动、删除、搜索)
- 系统命令:执行具有安全限制的安全Windows系统命令
- 进程监视器:监视正在运行的Windows进程
- 系统信息:检索详细的Windows系统信息
- 网络工具:网络配置显示和ping测试
🔧 开发工具
- Git操作:Git存储库状态、日志和分支信息
- HTTP请求:向外部API发出HTTP请求
- 数据库查询:对集成SQLite数据库进行直接SQL查询
📋 先决条件
- Windows 10/11 (Windows特定命令需要)
- 转到1.19+ 从源头进行建设
- 克劳德桌面 用于MCP集成
- Git (可选,用于git操作工具)
🛠️ 安装
选项1:下载版本(推荐)
选项2:从源代码构建
# 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⚙️ 配置
Claude桌面设置
将服务器添加到Claude Desktop配置文件中:
位置: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"advanced-mcp-server": {
"command": "C:\\path\\to\\your\\mcp-server.exe",
"args": []
}
}
}数据库位置
服务器在以下位置自动创建SQLite数据库:
%LOCALAPPDATA%\Claude\MCP\mcp_server.db🎯 可用工具
| 工具 | 描述 | 主要功能 |
|---|---|---|
notes_manager | 个人笔记管理 | 创建、阅读、列出、删除笔记 |
task_manager | 任务跟踪系统 | 创建具有优先级和截止日期的任务 |
bookmark_manager | 书签组织 | 保存带有描述和标签的URL |
file_operations | 文件系统操作 | 读取、写入、复制、移动、删除、搜索文件 |
system_command | 安全系统命令 | 执行列入白名单的Windows命令 |
http_request | HTTP客户端 | 发出GET/POST/PUT/DELETE请求 |
database_query | 直接数据库访问 | 在集成数据库上执行SQL查询 |
git_operations | Git存储库工具 | 状态、日志、分支信息 |
process_monitor | 进程管理 | 列出正在运行的Windows进程 |
system_info | 系统信息 | 操作系统、硬件和环境详细信息 |
network_info | 网络实用程序 | IP配置和连接测试 |
📖 使用示例
票据管理
Create a note about project ideas
List all my notes
Read note #1
Delete note #2任务管理
Create a task "Review MCP documentation" with high priority due 2024-12-25
List all pending tasks
Mark task #1 as completed文件操作
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系统操作
Show system information
List running processes
Get network configuration
Ping google.com开发工具
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%'🏗️ 建筑
服务器遵循模块化架构,以实现可维护性和可扩展性:
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🔒 安全功能
命令白名单
系统命令仅限于安全白名单:
dir,echo,date,time,whoamisysteminfo,tasklist,ipconfignetstat,ping,tree,type,ver,hostname
文件操作安全
- 文件操作的可配置大小限制
- 路径验证和清理
- 文件修改的可选备份创建
- 危险操作的安全检查(带超控选项)
数据库安全性
- 无网络暴露的本地SQLite数据库
- 参数化查询以防止SQL注入
- 在适当的情况下采用只读访问模式
🚀 发展
添加新工具
- 在中创建新文件
tools/目录 - 使用签名实现工具功能:
func ExecuteYourTool(arguments map[string]interface{}) (types.ToolResult, error)- 将工具添加到
executeToolswitch语句server/server.go - 将工具架构添加到
registerTools在……里面server/server.go
建造和测试
# 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📊 数据库模式
备注表
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
);任务表
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'
);书签表
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
);🐛 故障排除
常见问题
服务器无法启动
- 检查路径是否正确
claude_desktop_config.json是正确的 - 确保可执行文件具有适当的权限
- 验证Go依赖关系
go mod tidy
数据库错误
- 确保中的写入权限
%LOCALAPPDATA%\Claude\MCP\ - 检查磁盘空间可用性
- 尝试删除数据库文件以重新创建它
工具验证错误
- 完全重新启动克劳德桌面
- 如果可能,清除克劳德桌面缓存
- 验证可执行文件是否在代码更改后重建
调试模式
服务器记录到stderr,您可以捕获:
./mcp-server.exe 2> debug.log🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-tool) - 提交您的更改(
git commit -am 'Add amazing tool') - 推到分支(
git push origin feature/amazing-tool) - 创建拉取请求
代码的风格
- 遵循标准Go惯例
- 使用
gofmt用于格式化 - 为导出的函数添加注释
- 包括所有操作的错误处理
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📞 支持
- 问题:
- 讨论:
- 文档: MCP规范
______________________________________________________________________
🔗 相关项目
______________________________________________________________________
内置于❤️ 克劳德桌面和MCP社区
