闲社
标题:
【教程】用 MCP 协议打通 AI 与本地工具:从零搭建你的智能工具链
[打印本页]
作者:
大海全是水
时间:
3 天前
标题:
【教程】用 MCP 协议打通 AI 与本地工具:从零搭建你的智能工具链
前言
MCP(Model Context Protocol)是 Anthropic 推出的开放协议,让 AI 模型能够直接调用本地文件、数据库、浏览器等工具。相比传统 API 调用,MCP 实现了
双向实时通信
,AI 不再只是被动回答问题,而是能主动操作你的开发环境。
本教程手把手教你从零搭建 MCP 服务,让 Claude、Cursor 等 AI 工具直接操作你的本地资源。
前置条件
已安装 Node.js 18+ 或 Python 3.10+
使用 Claude Desktop、Cursor 或支持 MCP 的 AI 编辑器
基本的命令行操作能力
一台能联网的电脑(Windows/macOS/Linux 均可)
步骤一:安装 MCP 框架
以 Node.js 环境为例,全局安装 MCP SDK:
npm install -g @anthropic/mcp
复制代码
验证安装:
mcp --version
# 应显示版本号,如 1.2.3
复制代码
步骤二:创建你的第一个 MCP 服务
新建项目目录并初始化:
mkdir my-mcp-server && cd my-mcp-server
npm init -y
npm install @anthropic/mcp
复制代码
创建
server.js
:
const { Server } = require('@anthropic/mcp');
const server = new Server({
name: 'file-tools',
version: '1.0.0'
});
// 注册一个读取文件的工具
server.registerTool('readFile', {
description: '读取本地文件内容',
parameters: {
type: 'object',
properties: {
path: { type: 'string', description: '文件绝对路径' }
},
required: ['path']
}
}, async ({ path }) => {
const fs = require('fs');
const content = fs.readFileSync(path, 'utf-8');
return { content };
});
// 注册一个执行命令的工具
server.registerTool('runCommand', {
description: '执行本地 shell 命令',
parameters: {
type: 'object',
properties: {
command: { type: 'string', description: '要执行的命令' }
},
required: ['command']
}
}, async ({ command }) => {
const { execSync } = require('child_process');
const output = execSync(command, { encoding: 'utf-8' });
return { output };
});
server.listen();
console.log('MCP 服务已启动,等待 AI 连接...');
复制代码
启动服务:
node server.js
复制代码
步骤三:配置 AI 客户端连接 MCP
以 Claude Desktop 为例,编辑配置文件:
macOS
:
~/Library/Application Support/Claude/claude_desktop_config.json
复制代码
Windows
:
%APPDATA%/Claude/claude_desktop_config.json
复制代码
添加 MCP 服务配置:
{
"mcpServers": {
"file-tools": {
"command": "node",
"args": ["/absolute/path/to/my-mcp-server/server.js"]
}
}
}
复制代码
重启 Claude Desktop,在输入框右侧会出现工具图标,表示 MCP 连接成功。
步骤四:实际使用演示
现在你可以对 Claude 说:
请读取我的 package.json 文件,然后运行 npm list 查看依赖树
Claude 会自动调用你注册的
readFile
和
runCommand
工具,无需你手动复制粘贴。
进阶示例:让 AI 帮你分析代码
// 在 server.js 中新增工具
server.registerTool('analyzeCode', {
description: '分析代码文件并返回复杂度评估',
parameters: {
type: 'object',
properties: {
path: { type: 'string', description: '代码文件路径' }
},
required: ['path']
}
}, async ({ path }) => {
const fs = require('fs');
const code = fs.readFileSync(path, 'utf-8');
const lines = code.split('\n').length;
const functions = (code.match(/function|=>/g) || []).length;
return {
lines,
functions,
complexity: functions > 20 ? '高' : functions > 10 ? '中' : '低',
suggestion: lines > 300 ? '建议拆分模块' : '代码结构良好'
};
});
复制代码
常见问题
Q1:提示 "MCP 服务连接失败" 怎么办?
检查 server.js 中的路径是否为绝对路径
确认 Node.js 版本 >= 18
查看 Claude Desktop 日志排查具体错误
Q2:如何限制 AI 的权限,防止误操作?
在工具实现中添加白名单校验
对敏感操作(如 rm、format)增加二次确认
使用只读权限运行 MCP 服务
Q3:Python 用户如何接入?
安装 Python MCP SDK:
pip install mcp
复制代码
API 与 Node.js 版本完全一致,参考官方文档即可
Q4:支持哪些 AI 客户端?
Claude Desktop(官方支持最完善)
Cursor(需开启实验性功能)
VS Code + Cline 插件
任何支持 stdio 传输的 MCP 客户端
总结
MCP 协议正在重塑 AI 与本地环境的交互方式。通过本教程,你已经学会:
安装和配置 MCP 框架
创建自定义工具服务
连接 Claude Desktop 等 AI 客户端
实现文件读取、命令执行等实用功能
下一步建议:尝试接入数据库查询、Git 操作、Docker 管理等更多工具,打造属于你的 AI 超级助手。
参考资源
MCP 官方文档:https://modelcontextprotocol.io
Anthropic 开发者博客
GitHub: anthropic/mcp
发布于 2026-06-23,如遇到问题欢迎在评论区交流。
欢迎光临 闲社 (https://www.xianshe.com/)
Powered by Discuz! X5.0