MCP本地部署教程
Tips
本教程详细介绍了如何在本地部署各种MCP(Model Context Protocol)服务,帮助开发者提升AI开发体验。
什么是MCP
MCP(Model Context Protocol)是一种协议标准,允许AI模型通过各种服务器扩展来访问外部功能、数据和工具。通过部署MCP服务,我们可以增强AI模型的能力,使其能够:
- 访问文件系统
- 连接数据库
- 使用更先进的思维工具
- 管理记忆和上下文
- 执行各种专业化任务
部署方式选择
部署MCP服务有两种主要方式:
- 本地部署:在自己的计算机上安装和运行MCP服务
- 线上部署:利用Smithery.ai等平台提供的云服务
每种方式各有优缺点,您可以根据自己的需求选择合适的部署方式。
线上部署 - Smithery.ai
Smithery.ai 是一个专门为MCP服务提供托管的平台,可以让您免去本地部署的复杂步骤。
Smithery.ai优势
- 无需本地安装Node.js和npm包
- 免去环境配置困扰
- 随时可用的MCP服务
- 丰富的预配置服务选择
- 持续更新的服务库
使用步骤
- 访问Smithery.ai官方网站
- 创建账号并登录
- 浏览可用的MCP服务列表
- 选择需要的服务进行添加
- 根据提示完成配置
- 开始使用服务
常用Smithery服务
根据搜索结果,Smithery.ai平台提供了多种类型的MCP服务:
- Sequential Thinking:结构化思维和问题解决工具
- Clear Thought:使用系统思维和心智模型增强问题解决能力
- Memory Bank:管理AI助手上下文的记忆系统
- Desktop Commander:执行终端命令和管理文件
- 数据库服务:如PostgreSQL、MySQL等数据库连接器
- 搜索工具:如Brave Search、DuckDuckGo等
本地部署准备
如果您选择本地部署,请确保您的系统满足以下要求:
- 安装了Node.js环境(v16+)
- 安装了npm包管理器
- 具有管理员权限(用于全局安装npm包)
- 了解基本的终端/命令行操作
MCP服务器配置文件
MCP服务器通常通过JSON配置文件进行管理,该文件定义了需要启动的服务及其配置参数。下面是一个典型的配置示例:
{
"mcpServers": {
"jdwa-filesystem": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
"D:\\项目路径1",
"D:\\项目路径2"
],
"disabled": false
},
"cursor10x-mcp": {
"command": "npx",
"args": [
"cursor10x-mcp"
],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "libsql://您的数据库名称.turso.io",
"TURSO_AUTH_TOKEN": "您的认证令牌"
}
},
"clear-thought": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@waldzellai\\clear-thought\\dist\\index.js"
]
},
"jdwa-memory-bank": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@movibe\\memory-bank-mcp\\build\\index.js"
],
"disabled": false
},
"sequential-thinking": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-sequential-thinking\\dist\\index.js"
],
"disabled": false
},
"mcp_server_mysql": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@benborla29\\mcp-server-mysql\\dist\\index.js"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "您的密码",
"MYSQL_DB": "您的数据库名",
"ALLOW_INSERT_OPERATION": "true",
"ALLOW_UPDATE_OPERATION": "true",
"ALLOW_DELETE_OPERATION": "true",
"ALLOW_DDL_OPERATION": "true",
"MYSQL_ENABLE_LOGGING": "true",
"MYSQL_LOG_LEVEL": "info"
},
"disabled": false
}
}
}
常用MCP服务器安装指南
以下是一些常用MCP服务器的安装和使用指南:
1. 文件系统服务(jdwa-filesystem)
文件系统服务允许AI模型读取、写入和管理本地文件系统中的文件。
安装步骤:
npm install -g @modelcontextprotocol/server-filesystem
配置参数:
- 第一个参数:允许访问的根目录路径
- 第二个参数:(可选)额外的允许访问目录
使用示例:
"jdwa-filesystem": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
"D:\\项目路径1",
"D:\\项目路径2"
],
"disabled": false
}
2. 记忆管理服务(cursor10x-mcp)
Cursor10x记忆管理服务允许AI模型存储和检索长期记忆,提高上下文理解能力。
安装步骤:
npm install -g cursor10x-mcp
配置参数:
- TURSO_DATABASE_URL:Turso数据库URL
- TURSO_AUTH_TOKEN:Turso认证令牌
使用示例:
"cursor10x-mcp": {
"command": "npx",
"args": [
"cursor10x-mcp"
],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "libsql://您的数据库.turso.io",
"TURSO_AUTH_TOKEN": "您的认证令牌"
}
}
3. 结构化思维工具(clear-thought)
Clear-thought提供了一套结构化思维工具,包括心智模型、辩证思维、科学方法等。
安装步骤:
npm install -g @waldzellai/clear-thought
配置示例:
"clear-thought": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@waldzellai\\clear-thought\\dist\\index.js"
]
}
4. 记忆库服务(jdwa-memory-bank)
Memory Bank提供了一种结构化的方式来存储和检索项目相关的知识。
安装步骤:
npm install -g @movibe/memory-bank-mcp
配置示例:
"jdwa-memory-bank": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@movibe\\memory-bank-mcp\\build\\index.js"
],
"disabled": false
}
5. 顺序思维服务(sequential-thinking)
Sequential Thinking服务提供了一种结构化的逐步推理能力,帮助AI模型更系统地解决问题。
安装步骤:
npm install -g @modelcontextprotocol/server-sequential-thinking
配置示例:
"sequential-thinking": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-sequential-thinking\\dist\\index.js"
],
"disabled": false
}
6. MySQL数据库服务(mcp_server_mysql)
MySQL服务器允许AI模型直接查询和操作MySQL数据库。
安装步骤:
npm install -g @benborla29/mcp-server-mysql
配置参数:
- MYSQL_HOST:MySQL服务器地址
- MYSQL_PORT:MySQL服务器端口
- MYSQL_USER:用户名
- MYSQL_PASS:密码
- MYSQL_DB:默认数据库名称
- ALLOW_*_OPERATION:允许的操作类型
配置示例:
"mcp_server_mysql": {
"command": "node",
"args": [
"C:\\Users\\用户名\\AppData\\Roaming\\npm\\node_modules\\@benborla29\\mcp-server-mysql\\dist\\index.js"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "您的密码",
"MYSQL_DB": "您的数据库名",
"ALLOW_INSERT_OPERATION": "true",
"ALLOW_UPDATE_OPERATION": "true",
"ALLOW_DELETE_OPERATION": "true",
"ALLOW_DDL_OPERATION": "true",
"MYSQL_ENABLE_LOGGING": "true",
"MYSQL_LOG_LEVEL": "info"
},
"disabled": false
}
本地启动MCP服务
一旦您完成了MCP服务的安装和配置,您可以通过以下方式启动服务:
方法一:使用MCP运行时启动
- 创建一个名为
mcp.json
的配置文件,包含您需要的所有MCP服务配置 - 安装MCP运行时:
npm install -g @modelcontextprotocol/runtime
- 启动MCP服务:
mcp-runtime mcp.json
方法二:单独启动各个服务
您也可以在不同的终端窗口中单独启动各个MCP服务。例如:
# 启动文件系统服务
node C:\Users\用户名\AppData\Roaming\npm\node_modules\@modelcontextprotocol\server-filesystem\dist\index.js D:\项目路径
# 启动MySQL服务
set MYSQL_HOST=localhost
set MYSQL_PORT=3306
set MYSQL_USER=root
set MYSQL_PASS=密码
set MYSQL_DB=数据库名
node C:\Users\用户名\AppData\Roaming\npm\node_modules\@benborla29\mcp-server-mysql\dist\index.js
本地与线上部署对比
特性 | 本地部署 | Smithery.ai线上部署 |
---|---|---|
安装难度 | 需要手动安装各组件 | 无需安装,注册即用 |
配置复杂度 | 需要手动创建配置文件 | 界面配置,简单直观 |
隐私性 | 数据本地处理 | 数据可能经过第三方服务器 |
定制化 | 完全可定制 | 受限于平台提供的选项 |
维护成本 | 需要自行更新 | 平台自动更新维护 |
可用性 | 仅在本地计算机可用 | 全球可访问 |
成本 | 免费 | 基础功能免费,高级功能可能收费 |
常见问题与故障排除
1. 服务启动失败
问题: 尝试启动MCP服务时出现错误。
解决方案:
- 检查Node.js版本是否为v16或更高版本
- 确保已经全局安装了相应的MCP服务包
- 检查配置文件中的路径是否正确
- 查看详细的错误日志以获取更多信息
2. 权限问题
问题: 遇到"权限被拒绝"错误。
解决方案:
- 以管理员身份运行命令提示符或终端
- 确保用户对指定的目录和文件有读写权限
- 对于Linux/Mac,可能需要使用
sudo
3. 端口冲突
问题: MCP服务无法启动因为端口被占用。
解决方案:
- 检查是否有其他MCP服务已经在运行
- 确保相应的端口未被其他应用程序占用
- 在配置中修改端口号(如果可能)
4. 数据库连接问题
问题: MySQL服务器连接失败。
解决方案:
- 确保MySQL服务正在运行
- 检查主机名、端口、用户名和密码是否正确
- 确认用户具有足够的数据库权限
- 检查防火墙是否阻止了连接
安全最佳实践
在部署MCP服务时,请注意以下安全建议:
- 不要在配置文件中硬编码敏感信息(如数据库密码和API密钥)
- 限制文件系统访问仅到必要的目录
- 使用专用的数据库用户并设置适当的权限
- 定期更新MCP服务到最新版本
- 监控MCP服务的日志以发现异常活动
结语
通过本教程,您应该能够理解MCP服务的部署选项,并根据自己的需求选择合适的部署方式。无论是使用Smithery.ai的线上服务,还是在本地自行部署,MCP服务都能显著增强AI模型的能力,为您的开发提供更丰富的扩展能力。
如果您在部署过程中遇到任何问题,或有更多关于MCP的问题,欢迎联系记得晚安(JDWA)获取技术支持。