mcp助理
用Go创建的轻量级模型上下文协议(MCP)服务器。它在WSL环境中工作,为MCP客户端(如Claude Desktop)提供本地文件系统访问工具。自动将Windows路径转换为WSL路径,无需单独设置即可浏览和检索文件。
体系结构
交付工具
文件系统
| 工具 | 说明 |
|---|---|
list_dir | 浏览目录中的文件/文件夹列表(名称、大小、类型) |
read_file | 读取文件内容(超过512KB时自动truncate) |
write_file | 创建文件(如果没有,则创建文件,如果有,则覆盖文件) |
grep | 在基于正则表达式的文件/目录中搜索文本(context line支持) |
所有文件系统工具都有Windows路径(C:\Users\...)接受WSL路径(/mnt/c/Users/...)。
数据库(PostgreSQL)
| 工具 | 说明 |
|---|---|
list_databases 查询在config.yaml中注册的数据库列表 | |
describe_schema | 查询表格名称、列信息(类型,nullable) |
query_db 运行SELECT专用读取查询 | |
execute_db 运行INSERT/UPDATE/DELETE查询 |
config.yaml在中注册数据库连接信息后即可使用。有关详细设置,请参阅 设置指南请参考。
技术堆栈
- 转到1.25 — modelcontextprotocol/go-sdk
- 标准运输 -MCP通信
- 蝰蛇 -管理设置
- WSL -运行时环境
开始
前提条件
- WSL(Ubuntu推荐)
- 转到1.25+
构建和安装
# 빌드
make build
# ~/.local/bin에 설치
make install
# 빌드 + 설치
make deployClaude桌面设置
claude_desktop_config.json:
{
"globalShortcut": "",
"mcpServers": {
"assistant": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"MCP_ASSISTANT_CONFIG=/home/songmingi/.config/mcp-assistant/config.yaml /home/songmingi/.local/bin/mcp-assistant"
]
}
},
"preferences": {
"menuBarEnabled": false,
"legacyQuickEntryEnabled": false,
"coworkScheduledTasksEnabled": false,
"sidebarMode": "chat"
}
}项目结构
├── main.go # 진입점 — 서버 초기화 및 stdio 트랜스포트 실행
├── tool/ # 도구 구현 (도구당 파일 1개)
│ └── init.go # 도구 등록
├── schema/ # 각 도구의 입출력 타입 정의
├── config/ # Viper 기반 설정 (DB 설정 등 확장용)
├── utils/ # 경로 변환 (Windows → WSL)
├── example/ # MCP 도구 구현 예제 (SayHi)
└── docs/ # 설정 가이드 및 사용 예시许可证
麻省理工学院
