工具大全
Claude 指南作者:Coocon2026年4月13日600 次阅读约 2 分钟阅读

Claude Code MCP:连接外部工具和数据源

什么是 MCP

Model Context Protocol (MCP) 是 Anthropic 推出的开放协议,定义了 AI 模型与外部工具之间的标准通信方式。通过 MCP,Claude Code 可以连接数据库、调用 API、操作第三方服务,将 AI 编程助手的能力从代码编辑扩展到整个开发工作流。

MCP 采用客户端-服务器架构:Claude Code 作为 MCP 客户端,通过标准协议与 MCP 服务器通信。每个 MCP 服务器暴露一组工具(tools),Claude 可以根据需要主动调用这些工具。

配置 MCP 服务器

.claude/settings.json 中添加 MCP 服务器配置:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
    },
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "./data.db"]
    }
  }
}

配置完成后重启 Claude Code,即可在对话中使用这些外部工具。

常用 MCP 服务器

服务器 功能 包名
GitHub 管理 Issue、PR、仓库 @modelcontextprotocol/server-github
Filesystem 安全的文件系统访问 @modelcontextprotocol/server-filesystem
SQLite 查询 SQLite 数据库 @modelcontextprotocol/server-sqlite
PostgreSQL 查询 PostgreSQL 数据库 @modelcontextprotocol/server-postgres
Slack 发送消息、管理频道 @modelcontextprotocol/server-slack
Memory 跨会话持久化记忆 @modelcontextprotocol/server-memory

更多社区开发的 MCP 服务器可以在 MCP Servers 仓库 中找到。

编写简单的 MCP 服务器

你可以用 TypeScript 快速编写自定义 MCP 服务器:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "my-server", version: "1.0.0" });

server.tool(
  "get_weather",
  "获取指定城市的天气信息",
  { city: z.string().describe("城市名称") },
  async ({ city }) => {
    // 调用天气 API
    const data = await fetch(`https://api.weather.com/${city}`);
    return { content: [{ type: "text", text: JSON.stringify(await data.json()) }] };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

安全注意事项

  • 最小权限原则:只授予 MCP 服务器必要的权限和访问范围
  • 敏感信息保护:API 密钥通过 env 字段传递,不要硬编码在配置中
  • 网络隔离:对于访问内部服务的 MCP 服务器,确保网络访问控制得当
  • 审查第三方服务器:使用社区 MCP 服务器前,务必审查其源代码

常见问题

MCP 服务器需要一直运行吗?

不需要。Claude Code 会在启动时自动拉起配置的 MCP 服务器进程,会话结束时自动关闭。你不需要手动管理服务器的生命周期。

一个项目可以同时使用多个 MCP 服务器吗?

可以。你可以在 mcpServers 中配置任意数量的服务器,Claude 会根据任务需要自动选择合适的工具调用。不同服务器的工具会合并到 Claude 的可用工具列表中。

自定义 MCP 服务器支持哪些编程语言?

MCP SDK 官方提供了 TypeScript 和 Python 版本。社区也有 Rust、Go、Java 等语言的实现。只要遵循 MCP 协议规范,任何语言都可以编写 MCP 服务器。

相关文章

Claude Code 报错 temporarily unavailable, so auto mode cannot determine the safety of bash 怎么解决

Claude Code auto 模式弹出「temporarily unavailable, so auto mode cannot determine the safety of bash」?先说结论:不是你的命令危险,是安全判定器(一次额外的模型调用)暂时联不上。本文给出四步处理、模型名×工具名×原因的完整变体速查,以及只读操作为何不受影响的机制解释。

llmclaude-code+3
pitfalls2026年9月4日4 min
202

复现一条能打穿 Claude Code auto 模式的注入链:模型拒跑恶意二进制,却自写代码把自己坑了

embracethered 8 月底放出一条攻击链,让一句『总结这个网页』把 auto 模式的 Claude Code 拖到 60~80% 的代码执行成功率——而 Anthropic 委托第三方测出的数字是 0.00%。我在隔离环境里把这条链拆开逐段实测:诱导模型从 WebFetch 降级到 curl 的分流端点、以及最关键的一环——模型『拒绝运行陌生二进制、改自己写 Python 解码器』这个安全决定本身,反而踩中了同目录下的同名 struct.py 投毒。确定性部分(分流 + 同名模块投毒 + 缓解对照)在本机完整复现并给出真实证据;live 端我这台机器因判定器限流 fail-closed 而没能跑通完整 RCE,如实标注。文末给出真正有用的缓解手段。

claude-codeauto-模式+5
hands-on2026年8月31日9 min
253

抓包拆开 Claude Code auto 模式的判定器:11 万字系统提示词逐段解析

上一篇复测确认了 auto 模式在放行 Bash 前会调一次会话模型当判定器,但那个判定器收到的到底是什么,一直是黑盒。这次我用本地日志代理把判定请求整包抓了下来:一份 116,879 字符的系统提示词,开头写着 You are a security monitor for autonomous AI coding agents。本文逐段引用抓包原文,拆开它的威胁模型、两级规则(1 条 HARD BLOCK / 68 条 SOFT BLOCK / 17 条 ALLOW)和两阶段判定流程——第一阶段只评估危害、明确不看用户意图,第二阶段才叠加意图和豁免。附三张真实终端截图和抓包证据,所有数字均来自本次读出,未经估计。

claude-code提示词+5
hands-on2026年8月30日11 min
277
把家里的 Mac mini 变成 24 小时在线的 Claude Code 工作站:claudecodeui + SSH 反向隧道,手机浏览器随时接管

把家里的 Mac mini 变成 24 小时在线的 Claude Code 工作站:claudecodeui + SSH 反向隧道,手机浏览器随时接管

家里的 Mac mini 常年开机跑 Claude Code,人在外面怎么用浏览器接管会话?这是一套上线一周、每天在用的真实方案:claudecodeui 做 Web 界面(选型对比了官方 Web 版、ttyd、code-server),SSH 反向隧道把它推到 VPS,nginx 加 TLS 和登录限流反代成一个普通网址。附完整配置、真实运行数据(隧道五天零掉线、内存 170MB)、上线一周就踩到并自己修掉的 <synthetic> 占位符 bug,以及「为什么不用 Tailscale」的正反论证。

claude-codeclaude-code-lab+7
claude2026年8月29日10 min
349