注意:这仍在开发中,是一个预览版。 目前正在Qwen3 Coder Next REAP 40B A3B上进行测试https://huggingface.co/lovedheart/Qwen3-Coder-Next-REAP-40B-A3B-GGUF/resolve/main/Qwen3-Coder-Next-REAP-40B-A3B-Q4_K_XL.gguf
Qwen3-MCP服务器
一个完整的MCP服务器,为LM Studio的Qwen3(或任何本地LLM)提供完整的编码代理功能,包括80多种用于文件操作、命令执行、git、网络搜索、内存、规划和完整技能系统的工具。
特性
- 两种服务器模式:
- HTTP模式 -基于浏览器的聊天http://localhost:3847/chat.html - MCP模式 -与LM Studio的MCP接口直接集成
- 80+工具 包括:
- 文件操作(读、写、编辑、搜索、glob) - 命令执行(shell、后台进程) - Git操作(状态、差异、提交、分支、推送、拉取) - Web工具(搜索、图像搜索、URL获取) - 记忆和计划(笔记、草稿、任务列表、计划) - 媒体(阅读图片、PDF、截图) - Jupyter笔记本支持 - ComfyUI集成(32个工作流工具) - GitHub博客(Jekyll博客创建、主题、部署)
- 工具名称别名 -服务器端路由处理常见的模型幻觉(例如。,
edit->edit_file,bash->execute_command)
- 技能体系 -16个预装技能+从安装更多 出色的代理技能
快速开始
HTTP模式(浏览器聊天)
# Start the server
start-chat.bat
# Open in browser
http://localhost:3847/chat.htmlMCP模式(LM Studio Direct)
添加到LM Studio MCP配置(~/.lmstudio/mcp-servers.json):
{
"mcpServers": {
"qwen3-mcp": {
"command": "node",
"args": ["/src/index.js"],
"cwd": ""
}
}
}替换 `` 使用您安装服务器的实际路径。
然后重新启动LM Studio。
安装
先决条件
- Node.js 18+
- LM Studio已加载模型(建议使用Qwen3)
快速设置(Windows)
cd
setup.bat这将:
- 安装npm依赖项
- 创建所需目录
- 自动配置LM Studio MCP
手动设置
# Install dependencies
npm install
# Setup MCP config for LM Studio
npm run setupnpm脚本
| 命令 | 描述 |
|---|---|
npm run setup | 配置LM Studio MCP |
npm run start | 启动HTTP服务器(端口3847) |
npm run mcp | 直接运行MCP服务器(stdio) |
npm run dev | 从自动重新加载开始 |
项目结构
qwen3-mcp/
├── src/
│ ├── index.js # MCP server (stdio mode)
│ └── tools/ # Tool implementations
│ ├── filesystem.js # File operations
│ ├── edit.js # File editing
│ ├── bash.js # Command execution
│ ├── git.js # Git operations
│ ├── search.js # Glob/grep search
│ ├── web.js # Web search, fetch
│ ├── memory.js # Notes, scratchpads
│ ├── planning.js # Plans, task tracking
│ ├── tasks.js # Todo lists
│ ├── thinking.js # Reasoning tools
│ ├── context.js # Conversation context
│ ├── interaction.js # User prompts
│ ├── media.js # Images, PDFs
│ ├── notebook.js # Jupyter support
│ ├── comfyui.js # ComfyUI workflows
│ ├── github-blog.js # Jekyll blog tools
│ └── skills.js # Skills system
├── frontend/
│ ├── server.js # HTTP server (port 3847)
│ ├── chat.html # Browser chat interface
│ └── index.html # Image viewer interface
├── skills/ # Installed skills (16)
│ ├── chrome-extension/ # Chrome extension development (MV3)
│ ├── code-review/ # Code review methodology
│ ├── comfyui-nodes/ # ComfyUI custom node development
│ ├── comfyui-workflow/ # ComfyUI workflow creation
│ ├── differential-review/ # Security-focused diff review
│ ├── docx/ # Word document creation
│ ├── frontend-design/ # Frontend UI/UX
│ ├── github-blog/ # Jekyll blog for GitHub Pages
│ ├── mcp-builder/ # Build MCP servers
│ ├── modern-python/ # Python tooling (uv, ruff)
│ ├── react-best-practices/ # React patterns (Vercel)
│ ├── shadcn-ui/ # Modern component library
│ ├── static-analysis/ # CodeQL, Semgrep, SARIF
│ ├── testing-handbook-skills/ # Fuzzers, sanitizers
│ ├── web-artifacts-builder/ # HTML/React prototypes
│ └── web-design-guidelines/ # UI/UX fundamentals
├── start-chat.bat # Start HTTP server
├── stop-chat.bat # Stop server
├── restart-chat.bat # Restart server
└── install-skill.bat # Install skills from GitHub可用工具(80+)
文件操作
| 工具 | 说明 |
|---|---|
read_file | 读取带有行号的文件内容(参数: file_path, offset, limit) |
write_file | 写入/创建文件(参数: file_path, content) |
edit_file | 在文件中查找和替换(参数: file_path, old_string, new_string) |
list_directory | 列出目录内容(参数: path) |
create_directory | 创建目录(参数: path) |
delete_file | 删除文件(参数: path) |
move_file | 移动/重命名文件(参数: source, destination) |
copy_file | 复制文件(参数: source, destination) |
file_info | 获取文件元数据(参数: path) |
get_working_directory | 获取当前工作目录 |
set_working_directory | 设置工作目录(参数: path) |
编辑工具
| 工具 | 说明 |
|---|---|
insert_at_line | 在特定行插入(参数: file_path, line, content) |
replace_lines | 替换线路范围(参数: file_path, start_line, end_line, content) |
append_to_file | 附加到文件(参数: file_path, content) |
prepend_to_file | 前置文件(参数: file_path, content) |
搜索
| 工具 | 说明 |
|---|---|
glob_search | 按模式查找文件(参数: pattern, cwd) |
grep_search | 使用正则表达式搜索文件内容(参数: pattern, path) |
find_definition | 查找代码定义(参数: name, path) |
命令执行
| 工具 | 说明 |
|---|---|
execute_command | 运行shell命令(参数: command, cwd, timeout) |
execute_background | 在后台运行命令(参数: command, cwd) |
read_output | 读取后台进程输出(参数: session_id) |
kill_session | 终止后台进程(参数: session_id) |
list_sessions | 列出正在运行的进程 |
Git
| 工具 | 说明 |
|---|---|
git_status | 存储库状态 |
git_diff | 显示更改 |
git_log | 提交历史记录 |
git_add | 舞台文件 |
git_commit | 创建提交 |
git_branch | 列出/创建分支 |
git_checkout | 切换分支 |
git_push | 推到远程 |
git_pull | 从远程拉 |
git_clone | 克隆存储库 |
网络
| 工具 | 说明 |
|---|---|
web_search | DuckDuckGo搜索(参数: query) |
web_image_search | Bing图像搜索与下载(参数: query) |
web_fetch | 获取网页内容(参数: url) |
web_fetch_image | 从URL下载图像(参数: url) |
记忆与规划
| 工具 | 说明 |
|---|---|
memory_store | 存储带有标签的笔记 |
memory_recall | 搜索笔记 |
memory_list | 列出所有笔记 |
scratchpad_write | 写入草稿行 |
scratchpad_read | 阅读草稿 |
plan_create | 创建执行计划(参数: goal, steps) |
plan_status | 检查计划进度 |
task_add | 添加待办事项 |
task_list 列出所有 |
GitHub博客
| 工具 | 说明 |
|---|---|
blog_init | 为GitHub Pages初始化Jekyll博客 |
blog_post_create | 创建新的博客文章 |
blog_page_create | 创建静态页面 |
blog_category_create | 创建类别页面 |
blog_post_list | 列出所有博客文章 |
blog_nav_update | 更新导航菜单 |
blog_deploy | 部署到GitHub页面 |
blog_config | 更新博客配置 |
blog_theme | 应用主题预设或自定义颜色 |
blog_theme_list | 列出可用主题 |
blog_jekyll_theme | 应用Jekyll远程主题 |
技能
| 工具 | 说明 |
|---|---|
list_skills | 列出已安装的技能 |
load_skill | 加载技能说明 |
install_skill | 从GitHub安装 |
公用事业
| 工具 | 说明 |
|---|---|
get_current_time | 当前日期/时间 |
calculator | 数学表达式 |
think | 记录思考笔记 |
ask_user | 提示用户输入 |
技能体系
技能是教授人工智能专业任务的指令包。模型会根据您的请求自动检测要加载的技能。
安装技能(16)
代码质量和安全:
- 代码审查 -代码审查方法
- 差别审查 -以安全为重点的差异评审
- 静态分析 -CodeQL、Semgrep、SARIF
- 测试手册技能 -引信、消毒剂、覆盖物
Web开发:
- 反应最佳实践 -反应模式(Vercel)
- 网页设计指南 -UI/UX基础
- shadcn ui -现代组件库
- 前端设计 -前端UI/UX
- web工件生成器 -HTML/RReact原型
ComfyUI和创意:
- comfyui节点 -自定义节点开发(V1+V3 API)
- comfyui工作流程 -工作流创建(SD1.5/SDXL/SD3.5/Flux)
开发工具:
- 镀铬延伸 -Chrome扩展程序开发(MV3)
- mcp构建器 -构建MCP服务器
- 现代python -Python工具(uv、ruff、pytest)
- docx 文件 -Word文档创建
- github博客 -GitHub页面的Jekyll博客
安装更多技能
install-skill.bat https://github.com/anthropics/skills/tree/main/skills/pptx使用技能
技能匹配您的请求时会自动加载。您也可以手动加载它们:
"What skills do I have?"
"Load the comfyui-nodes skill"
"Use the docx skill to create a report"配置
HTTP服务器端口
编辑 frontend/server.js:
const PORT = 3847;环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
IMAGE_DOWNLOAD_DIR | ~/lmstudio-images | 图像下载位置 |
LM Studio设置(HTTP模式)
- 加载模型(推荐Qwen3)
- 启用API服务器(默认值:localhost:1234)
- 打开http://localhost:3847/chat.html
- 如果启用了身份验证,请输入API令牌
LM工作室设置(MCP模式)
- 添加MCP配置(见上文快速入门)
- 重新启动LM Studio
- 工具会自动出现在模型上下文中
API端点(HTTP模式)
| 端点 | 方法 | 描述 |
|---|---|---|
/ | GET | 图像查看器UI |
/chat.html | GET | 聊天界面 |
/tool | POST | 执行工具 {name, args} |
/skills | GET | 列表技能(JSON) |
/skill?name=X | 获取 | 获取技能详细信息 |
测试
# Test a tool
curl -X POST http://localhost:3847/tool \
-H "Content-Type: application/json" \
-d '{"name":"get_current_time","args":{}}'
# List skills
curl http://localhost:3847/skills故障排除
服务器问题
# Check if running
curl http://localhost:3847/skills
# Restart
restart-chat.bat
# Force stop
stop-chat.batMCP连接问题
- 检查LM Studio控制台是否有错误
- 验证mcp-servers.json中的路径是否正确
- 跑
node src/index.js手动测试
read_file超时/WebSocket错误
这 read_file 该工具默认为500行,以防止LM Studio WebSocket超时。 对于大文件,使用分页:
read_file with offset=1, limit=100 # Lines 1-100
read_file with offset=101, limit=100 # Lines 101-200工具名称错误
如果模型调用了错误的工具名称(例如。, edit 而不是 edit_file),服务器具有内置别名,用于路由常见错误。如果仍然看到错误,请更新LM Studio中的系统提示——请参阅 SYSTEM_PROMPT.md 以获得正确的提示。
工具错误
- 检查浏览器控制台(F12)的HTTP模式
- 验证工作目录权限
- 检查LM Studio模型是否支持函数调用
许可证
麻省理工学院

