MCP协议本地文件系统工具

一个基于Go的轻量级MCP服务器,为MCP客户端提供本地文件系统访问和数据库操作功能,支持Windows与WSL路径自动转换。

  • by alsrl8
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 alsrl8/local-mcp-assistant

使用说明

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在中注册数据库连接信息后即可使用。有关详细设置,请参阅 设置指南请参考。

技术堆栈

开始

前提条件

  • WSL(Ubuntu推荐)
  • 转到1.25+

构建和安装

# 빌드
make build

# ~/.local/bin에 설치
make install

# 빌드 + 설치
make deploy

Claude桌面设置

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/            # 설정 가이드 및 사용 예시

许可证

麻省理工学院