闲社

标题: 【教程】用 MCP 协议打通 AI 与本地工具:从零搭建你的智能工具链 [打印本页]

作者: 大海全是水    时间: 3 天前
标题: 【教程】用 MCP 协议打通 AI 与本地工具:从零搭建你的智能工具链
前言

MCP(Model Context Protocol)是 Anthropic 推出的开放协议,让 AI 模型能够直接调用本地文件、数据库、浏览器等工具。相比传统 API 调用,MCP 实现了双向实时通信,AI 不再只是被动回答问题,而是能主动操作你的开发环境。

本教程手把手教你从零搭建 MCP 服务,让 Claude、Cursor 等 AI 工具直接操作你的本地资源。

前置条件



步骤一:安装 MCP 框架

以 Node.js 环境为例,全局安装 MCP SDK:
  1. npm install -g @anthropic/mcp
复制代码

验证安装:
  1. mcp --version
  2. # 应显示版本号,如 1.2.3
复制代码

步骤二:创建你的第一个 MCP 服务

新建项目目录并初始化:
  1. mkdir my-mcp-server && cd my-mcp-server
  2. npm init -y
  3. npm install @anthropic/mcp
复制代码

创建 server.js
  1. const { Server } = require('@anthropic/mcp');
  2. const server = new Server({
  3.   name: 'file-tools',
  4.   version: '1.0.0'
  5. });
  6. // 注册一个读取文件的工具
  7. server.registerTool('readFile', {
  8.   description: '读取本地文件内容',
  9.   parameters: {
  10.     type: 'object',
  11.     properties: {
  12.       path: { type: 'string', description: '文件绝对路径' }
  13.     },
  14.     required: ['path']
  15.   }
  16. }, async ({ path }) => {
  17.   const fs = require('fs');
  18.   const content = fs.readFileSync(path, 'utf-8');
  19.   return { content };
  20. });
  21. // 注册一个执行命令的工具
  22. server.registerTool('runCommand', {
  23.   description: '执行本地 shell 命令',
  24.   parameters: {
  25.     type: 'object',
  26.     properties: {
  27.       command: { type: 'string', description: '要执行的命令' }
  28.     },
  29.     required: ['command']
  30.   }
  31. }, async ({ command }) => {
  32.   const { execSync } = require('child_process');
  33.   const output = execSync(command, { encoding: 'utf-8' });
  34.   return { output };
  35. });
  36. server.listen();
  37. console.log('MCP 服务已启动,等待 AI 连接...');
复制代码

启动服务:
  1. node server.js
复制代码

步骤三:配置 AI 客户端连接 MCP

以 Claude Desktop 为例,编辑配置文件:

macOS
  1. ~/Library/Application Support/Claude/claude_desktop_config.json
复制代码

Windows
  1. %APPDATA%/Claude/claude_desktop_config.json
复制代码

添加 MCP 服务配置:
  1. {
  2.   "mcpServers": {
  3.     "file-tools": {
  4.       "command": "node",
  5.       "args": ["/absolute/path/to/my-mcp-server/server.js"]
  6.     }
  7.   }
  8. }
复制代码

重启 Claude Desktop,在输入框右侧会出现工具图标,表示 MCP 连接成功。

步骤四:实际使用演示

现在你可以对 Claude 说:
请读取我的 package.json 文件,然后运行 npm list 查看依赖树

Claude 会自动调用你注册的 readFilerunCommand 工具,无需你手动复制粘贴。

进阶示例:让 AI 帮你分析代码
  1. // 在 server.js 中新增工具
  2. server.registerTool('analyzeCode', {
  3.   description: '分析代码文件并返回复杂度评估',
  4.   parameters: {
  5.     type: 'object',
  6.     properties: {
  7.       path: { type: 'string', description: '代码文件路径' }
  8.     },
  9.     required: ['path']
  10.   }
  11. }, async ({ path }) => {
  12.   const fs = require('fs');
  13.   const code = fs.readFileSync(path, 'utf-8');
  14.   const lines = code.split('\n').length;
  15.   const functions = (code.match(/function|=>/g) || []).length;
  16.   return {
  17.     lines,
  18.     functions,
  19.     complexity: functions > 20 ? '高' : functions > 10 ? '中' : '低',
  20.     suggestion: lines > 300 ? '建议拆分模块' : '代码结构良好'
  21.   };
  22. });
复制代码

常见问题

Q1:提示 "MCP 服务连接失败" 怎么办?



Q2:如何限制 AI 的权限,防止误操作?



Q3:Python 用户如何接入?



Q4:支持哪些 AI 客户端?



总结

MCP 协议正在重塑 AI 与本地环境的交互方式。通过本教程,你已经学会:



下一步建议:尝试接入数据库查询、Git 操作、Docker 管理等更多工具,打造属于你的 AI 超级助手。

参考资源



发布于 2026-06-23,如遇到问题欢迎在评论区交流。




欢迎光临 闲社 (https://www.xianshe.com/) Powered by Discuz! X5.0