
有需要PDF文档,请关注私信我留言即可。
今天我们聊一个让我兴奋的话题:MCP(Model Context Protocol)。
但我不想一上来就讲技术定义。我想先问你一个问题:
你在用Claude Code写代码,突然需要:
查GitHub上Issue #123的详情 → 切换浏览器,复制,粘贴 看数据库里这个用户的数据 → 打开数据库工具,查询,复制,粘贴 查Sentry上的错误日志 → 登录Sentry,搜索,截图,上传
更讽刺的是:AI很聪明,但它是个瞎子。它看不到你的GitHub,碰不到你的数据库,读不了你的监控。它只能等你喂数据。
这就是MCP要解决的问题。
今天这篇文章,我会用最通俗的方式,拆解MCP的核心原理,手把手教你配置,并展示它如何把10分钟的重复劳动变成一句话指令。
依然是深入浅出,小白能懂,高手有料。
---
第一部分:重新理解"上下文"
MCP不是技术,是范式转变
在讲MCP是什么之前,我们先理解它要解决的本质问题。
想象你雇了一个盲人按摩师:
技术很好(AI很聪明) 但需要你告诉他哪里痛(你粘贴数据) 不能自己诊断(AI无法主动获取信息)
每次按摩前,你要详细描述:"肩膀左侧,往下3厘米,那个硬硬的点..."
你的工作流程涉及:
GitHub (代码和Issue) PostgreSQL (用户数据) Sentry (错误监控) Slack (团队沟通) Notion (项目文档) Stripe (支付数据) Google Analytics (流量分析)
但AI只能在一个孤岛里工作。它看不到这些工具,只能等你把数据复制过来。
现在想象AI变成全科医生:
能看化验单(查数据库) 能看病历(读文档系统) 能开处方(调用API) 能预约检查(创建任务)
你只需要说"我不舒服",医生自己会:
查你的历史病历 看最近的化验结果 询问症状 给出诊断 开药方
---
MCP的一句话定义
- 眼睛
= 能"看到"你的数据(GitHub、数据库、文档) - 手
= 能"操作"你的工具(创建Issue、发消息、查询) - 标准协议
= 就像USB-C,统一的连接方式
USB-C出现之前:
每个设备有自己的充电口 你要带10根不同的线
USB-C出现之后:
一根线连接所有设备 手机、电脑、耳机都能用
一个标准,让Claude Code能连接:
GitHub 数据库 Slack Notion Sentry ...成百上千的工具
---
第二部分:MCP核心架构拆解
三层结构:Host、Client、Server
MCP的架构很简单,就三层:
┌─────────────────────────────────────┐│ Host (宿主应用) ││ Claude Code / Claude Desktop │ ← 你用的AI工具└──────────────┬──────────────────────┘││ MCP Client (客户端) ← 内置的"神经系统"│┌─────────┴─────────┐│ │┌────▼─────┐ ┌─────▼────┐│MCP Server│ │MCP Server│ ← "感官器官"│ GitHub │ │PostgreSQL│└────┬─────┘ └─────┬────┘│ │┌────▼─────┐ ┌─────▼────┐│ GitHub │ │PostgreSQL│ ← 实际的工具│ API │ │ Database │└──────────┘ └──────────┘
让我逐层解释:
Layer 1: Host (宿主应用)
你正在使用的AI工具,比如:
Claude Code (终端里的AI编程助手) Claude Desktop (桌面版Claude) Cursor (集成Claude的IDE)
运行AI模型 管理用户交互 控制MCP Client
---
Layer 2: MCP Client (客户端)
内置在Host里的连接器,你看不到,但它在后台工作。
管理与MCP Server的连接 发现可用的工具 转发AI的请求 返回工具的结果
一个Host可以连接多个MCP Server 每个连接是独立的 自动处理权限和认证
---
Layer 3: MCP Server (服务器)
连接外部工具的"适配器"。
把外部工具"翻译"成AI能理解的语言 暴露工具的功能(Tools) 提供数据访问(Resources) 预设工作流(Prompts)
GitHub MCP Server = 眼睛(看代码) PostgreSQL MCP Server = 触觉(摸数据) Slack MCP Server = 嘴巴(说话)
MCP Server是中间层,不是工具本身:
AI → MCP Server → GitHub API → GitHub(翻译器) (实际接口) (实际工具)
---
完整工作流程
让我用一个真实场景演示:
> "查一下Issue #123的状态"
1. 你的问题 → Claude Code (Host)2. Claude分析: "需要GitHub数据"3. Claude Code → MCP Client:"我需要GitHub的get_issue工具"4. MCP Client → GitHub MCP Server:"调用get_issue,参数:repo=myapp, issue=123"5. GitHub MCP Server → GitHub API:发起HTTP请求查询Issue6. GitHub API → 返回Issue数据7. GitHub MCP Server → 格式化数据 → MCP Client8. MCP Client → Claude Code → Claude分析数据9. Claude → 回答你:"Issue #123: 'Add OAuth login'状态: Open创建者: @alice最后更新: 2天前有3条评论,最新的讨论是关于..."
---
第三部分:MCP的三大核心能力
MCP Server可以提供三种能力:Tools、Resources、Prompts。
能力1: Tools (工具调用)
AI可以主动调用的功能。
Tools就像你能做的"动作":点击、输入、拖拽。
你: "帮我在GitHub创建一个Issue"Claude: "好的,请提供:- 仓库名称- Issue标题- Issue描述- 标签- 分配给谁"你: [复制粘贴一堆信息]Claude: "这是创建Issue的curl命令:curl -X POST https://api.github.com/repos/..."你: [复制命令到终端执行]
你: "帮我在GitHub创建一个Issue:标题'Add OAuth login',描述'用户需要第三方登录',打上'enhancement'标签"Claude: [自动调用GitHub MCP Server的create_issue工具]Claude: "Issue已创建: #456链接: https://github.com/myapp/issues/456"
create_issue- 创建Issue create_pull_request- 创建PR add_comment- 添加评论 search_code- 搜索代码
query- 执行查询 insert- 插入数据 update- 更新数据
send_message- 发送消息 list_channels- 列出频道 upload_file- 上传文件
get_errors- 获取错误列表 resolve_issue- 标记问题已解决
---
能力2: Resources (资源读取)
AI可以读取的数据和文档。
Resources就像"参考资料":你能看的书、文档、网页。
假设你在用React 19的新特性use()写代码:
// React 19新特性function UserProfile({userId}) {const user = use(fetchUser(userId));return <div>{user.name}</div>;}
你: "用React 19的use()实现异步数据加载"Claude: "抱歉,我的训练数据到2025年1月,
React 19是2025年底发布的,
我不了解use()这个API..."
你: "帮我在GitHub创建一个Issue:标题'Add OAuth login',描述'用户需要第三方登录',打上'enhancement'标签"Claude: [自动调用GitHub MCP Server的create_issue工具]Claude: "Issue已创建: #456链接: https://github.com/myapp/issues/456"
在提示词里,你可以这样写:
"参考@github:myorg/myapp的架构,实现新的支付模块"# Claude自动:# 1. 读取GitHub仓库的代码结构# 2. 理解现有架构# 3. 按照同样的风格实现新模块
实时库文档(React、Next.js、Tailwind等)
仓库代码 README Wiki
项目文档 会议记录 决策日志
本地文件 配置文件
---
能力3: Prompts (工作流模板)
MCP Server预设的提示词模板。
Prompts就像"快捷指令":Siri的"早安例程"、Alfred的Workflow。
# 快捷命令/review-pr 123# 等价于完整提示词:"请审查Pull Request #123:1. 代码质量分析2. 安全漏洞检查3. 性能问题识别4. 测试覆盖评估5. 最佳实践对比6. 给出详细改进建议"
因为你经常做同样的任务,但每次都要输入一长串提示词。Prompts让你把常用的工作流"模板化"。
你可以在MCP Server里预设:
# /deploy-check检查部署前的所有事项:1. 所有测试通过了吗?2. 有未提交的代码吗?3. 环境变量都配置了吗?4. 数据库迁移准备好了吗?5. 回滚计划是什么?
以后只需要:
/deploy-check# Claude自动执行完整检查清单
---
第四部分:5步配置你的第一个MCP Server
理论讲完了,现在实战。
我保证,5分钟内让你跑起第一个MCP Server。
---
Step 1: 确认环境
claude --version需要 v2.1.0 或更高
node --version需要 v18 或更高
# 更新Claude Codeclaude update# 安装Node.js (Mac)brew install node# 安装Node.js (Ubuntu)curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -sudo apt-get install -y nodejs
---
Step 2: 选择MCP Server
- GitHub MCP
- 管理代码和Issue (最常用) - Filesystem MCP
- 读写本地文件 (最基础) - Context7 MCP
- 实时库文档 (解决训练数据过时)
---
Step 3: 获取GitHub Token
因为MCP Server要代表你操作GitHub,需要你的授权。
打开 https://github.com/settings/tokens 点击 "Generate new token" → "Generate new token (classic)" 填写:
- Note: Claude Code MCP
- Expiration: 90 days (或更长)
- Scopes: 勾选
- repo (访问仓库)
- read:org (读组织信息)
点击 "Generate token" - 立即复制token
(格式: ghp_xxxxxxxxxxxx)
---
Step 4: 配置MCP Server
# 添加GitHub MCPclaude mcp add github \-e GITHUB_TOKEN=ghp_your_actual_token_here \-- npx -y @modelcontextprotocol/server-github
ghp_your_actual_token_here为你刚才复制的真实token!如果成功,会看到:✅ GitHub MCP server added successfully---
~/.mcp.json:{"mcpServers": {"github": {"command": "npx","args": ["-y", "@modelcontextprotocol/server-github"],"env": {"GITHUB_TOKEN": "ghp_your_actual_token_here"}}}}
---
Step 5: 验证配置
claude> /mcp listConnected MCP Servers:github (@modelcontextprotocol/server-github) Tools: 12 available
Status: Connected
> "列出我的GitHub仓库"Claude wants to use GitHub MCP server:List your repositoriesRead repository information[Allow this time] [Always allow] [Deny]
你有以下仓库:1. myorg/backend-api (Private)- Last updated: 2 days ago- Language: Python2. myorg/frontend-app (Private)- Last updated: 5 hours ago- Language: TypeScript3. myorg/mobile-app (Private)- Last updated: 1 week ago- Language: Swift
---
故障排查
Token无效或过期 Token权限不足 网络问题
# 检查tokenecho $GITHUB_TOKEN# 如果为空,说明环境变量没设置# 重新生成token (确保勾选了repo权限)# 更新配置claude mcp remove githubclaude mcp add github -e GITHUB_TOKEN=new_token_here -- npx -y @modelcontextprotocol/server-github
---
cat ~/.mcp.json// ❌ 错误:多余的逗号{"mcpServers": {"github": {...}, // ← 这个逗号多余}}// ✅ 正确{"mcpServers": {"github": {...}}}
用jq验证cat ~/.mcp.json | jq .
如果报错,说明JSON格式有问题
---
# 清除授权记录rm ~/.claude/mcp-permissions.json# 重新测试claude> "列出我的GitHub仓库"# 会再次弹出授权请求
---
第五部分:热门MCP Server生态
现在你已经配置好GitHub MCP了。但MCP生态远不止这一个。
让我带你看看值得安装的MCP Servers。
---
官方MCP Servers (Anthropic维护)
1. GitHub MCP ✅ (已配置)
Issue管理 PR操作 代码搜索 仓库信息
"实现Issue #123描述的功能并创建PR"---
2. Filesystem MCP
claude mcp add filesystem \-- npx -y @modelcontextprotocol/server-filesystem \
/Users/yourname/projects
"分析/logs目录下所有错误日志,找出最常见的5个错误"# Claude自动:# 1. 读取logs目录所有文件# 2. 解析错误信息# 3. 统计频率# 4. 生成报告
---
3. PostgreSQL MCP
claude mcp add postgres \-e POSTGRES_URL="postgresql://user:pass@localhost:5432/mydb" \
-- npx -y @modelcontextprotocol/server-postgres
"查询上周注册且今天活跃的用户,按活跃度排序"# Claude自动:# 1. 构建SQL查询# 2. 执行查询# 3. 格式化结果# 4. 生成分析报告
---
社区热门MCP Servers
1. Context7 (🔥 解决训练数据过时)
Claude的训练数据到2025年1月。但技术栈在快速更新:
React 19 (2025年底发布) Next.js 15 (2025年10月) Tailwind CSS 4 (2025年11月)
claude mcp add context7 \-e OPENAI_API_KEY=sk-your-openai-key \
-- npx -y @context7/mcp-server
"用React 19的Server Components和use()实现这个页面"# Claude自动:# 1. 查询React 19.2最新文档# 2. 使用最新API# 3. 生成production-ready代码
---
2. Slack MCP
claude mcp add slack \-e SLACK_TOKEN=xoxb-your-slack-token \
-- npx -y @modelcontextprotocol/server-slack
"当测试失败时,发消息到#dev-team告知错误详情"# Claude自动:# 1. 检测测试结果# 2. 提取错误信息# 3. 发送Slack消息
---
3. Sentry MCP
"分析Sentry上过去7天的top 10错误,找出根本原因并修复最严重的3个"# Claude自动:# 1. 调用Sentry API获取错误# 2. 分析错误堆栈# 3. 定位问题代码# 4. 提出修复方案# 5. 修改代码
---
4. Notion MCP
"从Notion项目管理页获取本周所有任务,按优先级排序,生成今日工作清单"
---
5. Claude Context (Zilliz)
claude mcp add claude-context \-e OPENAI_API_KEY=sk-your-key \
-e MILVUS_TOKEN=your-zilliz-token \
-- npx @zilliz/claude-context-mcp@latest
"整个代码库中,哪些地方使用了Redis缓存?是怎么用的?有没有一致的模式?"# Claude自动:# 1. 语义搜索整个代码库# 2. 找到所有Redis使用# 3. 分析使用模式# 4. 生成最佳实践建议
---
6. 3D-Agent (Blender) 🤯
"生成一个咖啡杯的3D模型,陶瓷材质,带把手"# Claude自动:# 1. 调用Blender API# 2. 创建几何体# 3. 应用材质# 4. 渲染预览
---
企业级MCP Servers
EC2、S3、Lambda管理
集群管理、Pod调试
监控和APM
支付数据和订阅管理
---
第六部分:MCP vs Skills vs API - 什么时候用什么?
很多人问我:MCP、Skills、传统API,到底有什么区别?什么时候用什么?
三者本质对比

---
实际场景对比
// 你要自己写代码const octokit = new Octokit({auth: process.env.GITHUB_TOKEN});async function reviewPR(prNumber) {// 获取PR详情const pr = await octokit.pulls.get({owner: 'myorg',repo: 'myapp',pull_number: prNumber});// 获取文件变更const files = await octokit.pulls.listFiles({owner: 'myorg',repo: 'myapp',pull_number: prNumber});// 分析每个文件...// 检查安全问题...// 生成评论...// ...100行代码}
需要会编程 每次都要手动运行 逻辑固定,难以调整
---
# 创建code-review Skill# Skills理解代码审查最佳实践/code-review# 但Skills看不到实际的PR数据# 你还是要手动粘贴代码
Skills有知识但没数据 无法自动获取PR内容
---
"审查PR #123"# AI自动:# 1. 调用GitHub MCP获取PR# 2. 读取文件变更# 3. 分析代码# 4. 给出建议
审查可能不够专业 没有特定的审查标准
---
"用我们的安全审查标准审查PR #123"# AI自动:# 1. 应用security-review Skill (专业知识)# 2. 调用GitHub MCP (获取PR数据)# 3. 按Skill定义的标准分析# 4. 调用GitHub MCP (自动评论)
✅ MCP提供数据通道✅ Skills提供专业知识
✅ 完全自动化
✅ 符合团队标准
---
选择决策树
你的需求是什么?├─ 需要AI理解领域知识和最佳实践│ → 用Skills│ 例如:代码规范、架构原则、审查标准│├─ 需要AI访问外部系统的数据│ → 用MCP│ 例如:GitHub、数据库、监控系统│├─ 需要完全自定义的复杂逻辑│ → 写代码调用API│ 例如:复杂的数据处理管道│└─ 需要专业知识 + 自动获取数据 + 自动执行→ MCP + Skills 组合例如:完整的开发工作流
---
第七部分:真实工作流案例
理论和工具都讲完了,现在看真实场景。
案例1: Bug修复全流程自动化
打开Sentry → 找到错误 → 复制堆栈 打开数据库工具 → 查询相关数据 → 截图 切换到IDE → 定位代码 → 分析原因 修改代码 → 运行测试 打开GitHub → 创建PR → 填写描述 打开Slack → 通知团队
"处理Sentry上最严重的错误,分析原因,修复,创建PR,通知团队"[1/6] 调用Sentry MCP✓ 获取到错误: NullPointerException in PaymentService.processPayment✓ 影响用户: 234个✓ 发生频率: 每小时15次[2/6] 调用PostgreSQL MCP✓ 查询最近失败的支付记录✓ 发现规律: amount为null时触发[3/6] 应用debugging Skill分析✓ 定位问题: PaymentService.java:45✓ 原因: 未验证amount参数[4/6] 应用code-fix Skill修复✓ 添加参数验证✓ 添加单元测试✓ 运行测试通过[5/6] 调用GitHub MCP✓ 创建PR: "Fix: Add amount validation in PaymentService"✓ PR链接: github.com/myapp/pull/789[6/6] 调用Slack MCP✓ 发送消息到#dev-team:"🐛 修复了NullPointerException bug影响用户234个,已创建PR #789等待code review"
---
案例2: 功能开发端到端
打开Notion → 看需求文档 → 复制到笔记 打开GitHub → 查看现有代码结构 → 截图架构 Google搜索 → 看React文档 → 复制示例代码 写代码 → 调试 → 改bug 写测试 → 运行测试 → 修复失败 创建PR → 写描述 → 等待review 打开Notion → 更新任务状态
"实现Notion任务#123'用户删除评论',参考现有评论系统架构,
使用React 19最新API,
写完整测试,
创建PR,
更新Notion状态"
[1/7] 调用Notion MCP✓ 读取任务#123详情✓ 需求: 用户可以删除自己的评论✓ 验收标准:- 只能删除自己的评论- 需要二次确认- 删除后无法恢复[2/7] 调用GitHub MCP✓ 分析现有评论系统✓ 找到CommentCard组件✓ 理解现有API结构[3/7] 调用Context7 MCP✓ 查询React 19文档✓ 学习最新的useOptimistic API[4/7] 应用fullstack-dev Skill生成代码✓ 前端: CommentCard添加删除按钮✓ 后端: DELETE /api/comments/:id端点✓ 验证: 用户只能删除自己的评论✓ 使用useOptimistic实现乐观更新[5/7] 应用test-driven Skill写测试✓ 单元测试: CommentCard.test.tsx✓ 集成测试: api/comments.test.ts✓ E2E测试: delete-comment.spec.ts✓ 运行测试: 全部通过 ✓[6/7] 调用GitHub MCP✓ 创建PR: "feat: Add user comment deletion"✓ 描述包含:- 实现细节- 测试覆盖- 截图演示✓ 链接: github.com/myapp/pull/790[7/7] 调用Notion MCP✓ 更新任务#123状态: In Review✓ 添加评论: "PR已创建,等待review"
---
案例3: 数据分析周报
打开数据库工具 → 写SQL查用户增长 打开Stripe后台 → 导出支付数据 打开Google Analytics → 截图流量图 打开Excel → 粘贴数据 → 做图表 写Word文档 → 排版 → 插入图表 发送到Slack
"生成上周运营周报:用户增长、支付情况、流量分析,
生成可视化报告,
发送到#management频道"
[1/5] 数据收集├─ PostgreSQL MCP│ ✓ 新增用户: 1,234人 (↑15%)│ ✓ 活跃用户: 8,765人 (↑8%)│ ✓ 留存率: 68% (↑3%)│├─ Stripe MCP│ ✓ 总收入: $45,678 (↑22%)│ ✓ 新订阅: 234个│ ✓ 取消订阅: 45个│└─ Google Analytics MCP✓ 总访问: 125,432次✓ 平均停留: 3分45秒✓ 跳出率: 42%[2/5] 应用data-analyst Skill分析✓ 关键洞察:- 用户增长加速(得益于新的推荐系统)- 收入大幅增长(Pro套餐升级率提升)- 流量质量提高(停留时间↑,跳出率↓)✓ 风险提示:- 取消订阅率略有上升(需关注)[3/5] 生成可视化报告✓ 用户增长趋势图✓ 收入构成饼图✓ 流量来源对比图[4/5] 应用report-writer Skill生成报告✓ 格式: Markdown✓ 包含:- 核心数据- 趋势分析- 可视化图表- 行动建议[5/5] 调用Slack MCP✓ 发送到#management✓ 附件: weekly-report-2026-04-11.md
---
第八部分:安全与最佳实践
MCP很强大,但强大的工具需要谨慎使用。
安全原则
原则1: 最小权限
❌ 给GitHub全部权限GITHUB_TOKEN=ghp_full_admin_access_to_everything
# ✅ 创建Fine-grained token,只勾选需要的权限# 在 https://github.com/settings/tokens?type=beta权限清单:✓ Repository access: Only select repositories✓ Permissions:- Issues: Read and write- Pull requests: Read and write- Contents: Read only✗ Administration✗ Secrets✗ Workflows
如果token泄露(比如你不小心commit到GitHub),攻击者:
❌ 全权限: 可以删除你的所有仓库 ✅ 最小权限: 只能创建Issue和PR
---
原则2: 敏感数据不存储
{"mcpServers": {"postgres": {"env": {"POSTGRES_URL": "postgresql://admin:MyPassword123@prod-db.com/maindb"}}}}
密码明文存储 一旦配置文件泄露,生产数据库暴露
{"mcpServers": {"postgres": {"env": {"POSTGRES_URL": "${DATABASE_URL}"}}}}
# 添加到 ~/.bashrc 或 ~/.zshrcexport DATABASE_URL="postgresql://..."# 或使用密码管理工具export DATABASE_URL=$(security find-generic-password -w -s db-password)
---
原则3: 审计日志
<h1>在 ~/.claude/config.json 添加</h1>{
"mcp": {
"auditLog": true,
"auditLogPath": "~/.claude/logs/mcp-audit.log"
}
}
<h1>查看最近的MCP操作</h1>tail -f ~/.claude/logs/mcp-audit.log
<h1>示例输出</h1>
[2026-04-11 10:23:45] github.create_issue - repo: myapp, title: "Fix bug"
[2026-04-11 10:24:12] postgres.query - query: "SELECT * FROM users WHERE..."
[2026-04-11 10:25:33] slack.send_message - channel: #dev-team
撤销MCP Server的token 检查是否有数据泄露 更改相关密码
---
性能优化
优化1: 避免频繁小调用
"分析每个文件的import语句"<h1>可能触发:</h1>
<h1>- 100次文件读取</h1>
<h1>- 100次分析</h1>
<h1>= 很慢,token浪费</h1>
"列出所有文件,批量读取,分析import模式"<h1>优化为:</h1>
<h1>- 1次列出文件</h1>
<h1>- 1次批量读取</h1>
<h1>- 1次综合分析</h1>
<h1>= 快,省token</h1>
---
优化2: 设置合理的输出限制
<h1>设置最大输出token</h1>export MAX_MCP_OUTPUT_TOKENS=25000
<h1>超过10k会警告</h1>
<h1>超过25k会截断</h1>
<h1>❌ 不好</h1>"查询所有用户数据"
<h1>可能返回100万条记录</h1>
<h1>✅ 好</h1>
"查询最近100个活跃用户"
<h1>返回合理数量</h1>
---
优化3: 使用Tool Search
启动时只加载工具名称 AI需要时才加载完整定义 用完释放,节省上下文
<h1>自动模式(推荐)</h1>export ENABLE_TOOL_SEARCH=auto
传统: 50个Server = 40k tokens占用 Tool Search: 50个Server = 4k tokens占用 (10倍节省!)
---
常见问题排查
问题1: Server连接失败
/mcp list<h1>显示: github - Status: Failed</h1>
<h1>Step 1: 检查配置文件</h1>cat ~/.mcp.json
<h1>确认JSON格式正确</h1>
<h1>Step 2: 测试命令能否单独运行</h1>
npx -y @modelcontextprotocol/server-github
<h1>如果报错,说明Server本身有问题</h1>
<h1>Step 3: 检查环境变量</h1>
echo $GITHUB_TOKEN
<h1>确认token已设置</h1>
<h1>Step 4: 查看详细日志</h1>
cat ~/.claude/logs/mcp.log | grep github
<h1>看具体错误信息</h1>
Token过期 → 重新生成 Node.js版本太低 → 升级到v18+ 网络问题 → 检查代理设置 JSON语法错误 → 用jq验证
---
问题2: 授权被拒绝
Permission denied: Cannot use GitHub MCP<h1>清除授权记录</h1>rm ~/.claude/mcp-permissions.json
<h1>重新测试</h1>
claude
> "列出我的GitHub仓库"
<h1>会再次弹出授权请求</h1>
<h1>这次点 "Always allow"</h1>
---
问题3: 输出被截断
查询返回数据不完整,显示:"... (truncated, 15k tokens omitted)"
<h1>方案1: 增加输出限制</h1>export MAX_MCP_OUTPUT_TOKENS=50000
<h1>方案2: 优化查询(推荐)</h1>
<h1>❌ "查询所有错误日志"</h1>
<h1>✅ "查询最近100条错误日志"</h1>
总结:从"孤岛AI"到"互联AI"
我们讲了很多技术,但最后,我想回到本质。
MCP不只是技术,是范式转变
很聪明,但是"瞎子" 只能在一个孤岛里工作 需要你喂数据 你是搬运工
能看到你的数据 能操作你的工具 能串联整个工作流 你是指挥官
---
关键节点
如果你只记住三件事,记住这三个:
不是"协议"(技术术语) 是"连接器"(实际作用)
MCP提供数据通道 Skills提供专业知识 两者结合才最强
最小权限原则 敏感数据不存储 定期检查审计日志
---
行动建议
- 配置3个基础MCP Server
- GitHub (代码管理)
- Filesystem (文件操作)
- Context7 (实时文档)
- 尝试一个真实工作流
- 从最痛的重复任务开始
- 用MCP自动化
- 记录节省的时间
- 探索更多MCP Server
- 访问 modelcontextprotocol.io/servers
- 看看有没有你在用的工具
- 组合MCP + Skills
- 创建一个自定义Skill
- 配合MCP构建完整工作流
- 优化安全配置
- 检查所有token权限
- 启用审计日志
- 设置环境变量
- 自建简单MCP Server
- 连接公司内部系统
- 定制化工作流
- 建立团队标准
- 统一MCP配置
- 共享最佳实践
如果这篇文章对你有帮助,欢迎转发。
如果有问题,欢迎留言讨论。
我们下期见。🌊
- MCP官方文档: modelcontextprotocol.io
- Claude Code文档: code.claude.com/docs
- MCP Server Registry: modelcontextprotocol.io/servers
- 社区最佳实践和真实案例
有需要PDF文档,请关注私信我留言即可。
夜雨聆风