保姆级教程:Claude Code 搭配 MCP 搭建专属面试复盘技能(附完整代码)

🔥 面试季必备!10 分钟搭建你的私教级面试复盘神器,AI 自动分析项目生成结构化笔记,含代码一键部署

🎯 项目目标

为 Claude Code 搭建一个专属的 MCP(Model Context Protocol)技能,实现一键分析项目并生成结构化面试复习笔记,包含业务背景、架构、技术栈、难点复盘、高频问答等模块,并自动写入 Markdown 文件。


🔧 环境与版本信息

  • 操作系统: Windows
  • Claude Code 版本: v2.1.121
  • Node.js 版本: v20.12.2
  • 使用模型: deepseek-v4-flash

🚀 步骤 1:解决模型自动回退问题

问题描述

每次重启 Claude Code,默认模型都会变回 DeepSeek-V3.2,导致 API 调用报错。

根本原因

模型优先级顺序:~/.claude/settings.json 中的环境变量 > .claude.json 配置。

解决方案

修改 C:\Users\DELL\.claude\settings.json 文件,将所有 DeepSeek-V3.2 相关配置改为 deepseek-v4-flash

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "你的API密钥",
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_MODEL": "deepseek-v4-flash"
  }
}

🛠️ 步骤 2:搭建 MCP 服务

2.1 创建项目目录

C:\Users\DELL\.claude\skills\project-interview

2.2 编写 server.js(核心服务文件)

使用 @modelcontextprotocol/sdk 官方标准库实现,确保协议完全兼容。

const { McpServer } = require("@modelcontextprotocol/sdk/server/mcp.js");
const { StdioServerTransport } = require("@modelcontextprotocol/sdk/server/stdio.js");
const fs = require("fs");
const path = require("path");

// 初始化标准MCP服务
const server = new McpServer({
  name: "project-interview-skill",
  version: "1.0.0"
});

// 注册标准工具
server.tool(
  "analyze-interview-project",
  "全维度分析项目,生成专业面试完整笔记并写入md",
  async () => {
    const root = process.cwd();

    const md = `# 项目面试完整复盘笔记
## 一、项目基础信息
### 1. 业务背景
### 2. 整体架构与分层设计
### 3. 技术栈 & 选型理由
### 4. 项目模块划分

## 二、核心业务流程
### 1. 核心业务链路梳理
### 2. 接口请求全流程
### 3. 核心关键类/组件说明

## 三、开发难点 & 踩坑复盘(3~5条)
### 问题1
- 问题现象:
- 根因分析:
- 解决方案:
- 落地优化效果:

### 问题2

### 问题3

## 四、项目技术亮点 & 优化设计
### 1. 性能优化
### 2. 架构设计思想
### 3. 特色技术落地实现

## 五、定制化高频面试问答(可直接背诵)
### Q1:介绍一下你这个项目?
### Q2:项目中遇到最难的问题是什么?
### Q3:做过哪些优化?
### Q4:并发/事务/缓存怎么处理?
### Q5:架构设计思路?

---
`;

    // 固定写入文件名
    const savePath = path.join(root, "Project_Interview_Note.md");
    fs.writeFileSync(savePath, md, "utf8");

    return {
      content: [
        {
          type: "text",
          text: `✅ MCP技能调用成功\n笔记已生成:${savePath}\n请基于当前项目代码,填充完整6大模块面试内容`
        }
      ]
    };
  }
);

// 标准STDIO启动
async function bootstrap() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
}

bootstrap().catch(e => {
  console.error("MCP服务启动异常:", e);
});

2.3 本地安装依赖

cd C:\Users\DELL\.claude\skills\project-interview
npm i @modelcontextprotocol/sdk

⚙️ 步骤 3:配置 .claude.json

3.1 添加 MCP 服务配置

"mcpServers": {
  "project-interview-skill": {
    "command": "node",
    "args": ["C:\\Users\\DELL\\.claude\\skills\\project-interview\\server.js"],
    "alwaysLoad": true // 全局授权,避免每次确认
  }
}

3.2 添加 Slash Command(/interview)

"slashCommands": {
  "/interview": {
    "description": "调用MCP技能,生成项目面试笔记",
    "prompt": "请调用 project-interview-skill 提供的 analyze-interview-project 工具,分析当前项目,完成:业务背景、架构、技术栈、核心流程、难点复盘、技术亮点、高频定制面试问答,完整分析当前项目,生成一份完整的面试复习笔记,并保存为 Project_Interview_Note.md 文件到项目根目录,内容贴合真实开发、面试口述友好。"
  }
}

🧪 步骤 4:测试与验证

4.1 检查 MCP 服务状态

在 Claude Code 中输入 /mcp,查看 project-interview-skill 状态,应为 connected

4.2 手动触发工具(当 Slash Command 不生效时)

直接输入提示词:

请调用 project-interview-skill 提供的 analyze-interview-project 工具,分析当前项目,生成面试笔记。

4.3 处理权限确认

首次调用时,选择 2. Yes, and don't ask again... 一劳永逸授权。


🎉 最终效果

  1. MCP 服务稳定运行,状态为 connected
  2. 输入 /interview 或手动提示词,Claude 会自动调用工具。
  3. 项目根目录生成 Project_Interview_Note.md 文件,包含完整的面试笔记框架。
  4. Claude 会自动读取项目代码,填充笔记内容。

💡 关键踩坑记录

  1. 模型回退问题settings.json 中的环境变量优先级高于 .claude.json
  2. MCP 启动失败:使用官方 @modelcontextprotocol/sdk 替代手写 JSON-RPC 协议。
  3. Slash Command 不生效v2.1.121 版本存在 BUG,需完全重启终端才能加载新命令。
  4. 每次都要确认权限:添加 alwaysLoad: true 实现全局授权。

📂 最终文件清单

  • C:\Users\DELL\.claude.json
  • C:\Users\DELL\.claude\settings.json
  • C:\Users\DELL\.claude\skills\project-interview\server.js
  • C:\Users\DELL\.claude\skills\project-interview\node_modules\@modelcontextprotocol\sdk

这份文档记录了我从问题定位到最终解决的完整过程。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐