Skip to content

MCP配置指南:让Claude Code连接浏览器、数据库与外部API

2026年5月2日

Skills的能力还是在本地文件系统里打转。想让Claude帮你查网页、连数据库、调第三方API?MCP就是解决这个问题的。

MCP是什么

MCP全称Model Context Protocol,是Anthropic推出的开源标准协议。可以把它理解成AI世界的USB接口——

  • 电脑通过USB连接键盘、鼠标、U盘
  • Claude Code通过MCP连接浏览器、数据库、搜索引擎、任何外部服务

没有MCP的Claude Code:只能读写文件和跑Bash

有了MCP的Claude Code

  • 打开浏览器帮你调试前端页面
  • 连上PostgreSQL跑SQL查询
  • 调GitHub API创建Issue和PR
  • 搜索Brave Search查最新资料
  • 操控你正在浏览的网页

基本概念

概念说明
MCP Server提供能力的服务端,一个Server包含一组Tools
Tool具体的动作,比如brave_web_search、puppeteer_navigate
Resource数据源,比如数据库表、文件系统

通信方式有三种:HTTP(远程服务,推荐)、SSE(已废弃)、stdio(本地进程)。

从零配置一个MCP Server

配MCP Server最快的方式是用claude mcp add命令。

远程服务器(HTTP)

bash
# 连接 Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 带认证的服务
claude mcp add --transport http stripe https://mcp.stripe.com \n  --header "Authorization: Bearer your-token"

本地服务器(stdio)

bash
# Airtable
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \n  -- npx -y airtable-mcp-server

注意参数顺序:所有选项(--transport、--env、--scope)必须在服务器名之前。--分隔符之后是传给MCP服务器的启动命令。

用JSON配置

也可以直接写JSON或写在项目根目录的.mcp.json里,团队共享:

json
{
  "mcpServers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    },
    "sentry": {
      "type": "http",
      "url": "https://mcp.sentry.dev/sse",
      "headers": {
        "Authorization": "Bearer ${SENTRY_AUTH_TOKEN}"
      }
    }
  }
}

${SENTRY_AUTH_TOKEN}会自动展开成环境变量,密钥不用硬编码在配置文件里。

三种作用域

作用域存储位置什么时候用
local(默认)~/.claude.json个人实验、敏感凭据
project.mcp.json团队共享,提交到Git
user~/.claude.json全局跨项目的个人常用工具
bash
# 团队共享
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp

# 跨项目个人使用
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

配好之后,输入/mcp可以查看所有已连接的Server、工具数量和状态。

实用MCP Server推荐

浏览器自动化

Chrome集成(推荐)

Claude Code原生支持Chrome集成,用--chrome启动或在会话中输入/chrome。需要安装Claude in Chrome扩展(v1.0.36+),然后Claude就能:

  • 读取你当前浏览器页面的内容和DOM
  • 在Console里执行JavaScript调试
  • 截图做视觉验证
  • 操控页面元素(点击、填表、滚动)

最大的亮点是共享你的浏览器登录状态——Claude可以帮你操作Google Docs、Notion、内部管理后台这些需要登录的应用,不用单独给它凭据。

Playwright MCP

需要更强的自动化能力(比如跑端到端测试):

bash
claude mcp add playwright -- npx @anthropic-ai/mcp-playwright

搜索

Brave Search

bash
claude mcp add --transport stdio --env BRAVE_API_KEY=YOUR_KEY brave \n  -- npx -y @anthropic-ai/mcp-brave-search

让Claude可以搜索最新的信息,不再局限于训练数据的知识截止日期。

数据库

PostgreSQL

bash
claude mcp add --transport stdio --env DATABASE_URL=postgresql://... postgres \n  -- npx -y @anthropic-ai/mcp-postgres

Claude可以直接跑SQL查询、查看表结构、分析数据。

代码搜索

grep.app

在GitHub上百万个公开仓库里搜索真实的代码用法。当你不确定某个API怎么用的时候,让Claude去搜一下别人怎么写的,比看文档快。

文档查询

Context7

专门查最新的框架和库文档。解决Claude知识截止的问题——它训练数据里的React可能还是旧版API,但Context7能查到最新的。

自己写一个MCP Server

大部分场景用社区现成的Server就够了。但如果要连接内部API、私有服务,可能需要自己写一个。

用Python的FastMCP框架,几十行就能搞定:

python
from fastmcp import FastMCP

mcp = FastMCP("weather")

@mcp.tool()
def get_weather(city: str) -> str:
    """获取指定城市的天气信息"""
    # 调用你的天气 API
    return f"{city}: 晴天, 28°C"

mcp.run()

TypeScript版本用@anthropic-ai/sdk也差不多。写完之后用stdio方式注册:

bash
claude mcp add weather -- python weather_server.py

什么时候该自建:

  • 要连接公司内部的API(不会有公开的MCP Server)
  • 要封装特定的业务逻辑
  • 现有的MCP Server不满足需求

什么时候不该自建:

  • 能用Bash + curl解决的事
  • 只需要静态知识(用Skills的references目录就行)

给Agent设计工具和给人设计API不是一回事

很多人踩过坑。直觉上会把现有的REST API一个接口封装成一个MCP工具——create_file一个、write_content一个、set_permissions一个。但Agent用起来就很痛苦,它得协调三个工具才能完成一件事。

更好的做法是按Agent的目标来设计:直接给一个create_script(path, content, executable)一步搞定。这个思路叫ACI(Agent-Computer Interface)。

几个实用原则:

  • 工具名按系统分层:github_pr_create、jira_issue_search,Claude看名字就知道是干什么的
  • 错误信息要教Agent怎么修:告诉它「参数X格式应该是YYYY-MM-DD」
  • 大响应支持精简模式:加一个response_format: concise选项
  • 每个工具附1-2个调用示例:加了示例后工具调用准确率可以从72%提升到90%

MCP的隐形代价

MCP很强,但有代价,而且这个代价很多人没意识到。

上下文成本

每个MCP Server启动后,它的所有工具定义会被加载到上下文里。一个典型的MCP Server有20-30个工具定义,每个约200 tokens,合计4000-6000 tokens。

接5个MCP Server,光工具定义的固定开销就到了25000 tokens——占200K上下文的12.5%。

Tool Output噪声

MCP和Skills在这点上有很大区别——很多MCP Server会把完整结果直接返回给Claude,一次查询就可能灌回来几千tokens。Claude不需要看这么多,但只要数据进了上下文,token就实打实消耗了。

相比之下,Skills通常更轻量——它走的是CLI + 短描述的方式。所以能用Skill解决的就不要上MCP。MCP的真正优势是需要维护状态的任务(比如Playwright操控浏览器)。

怎么优化

Tool Search(官方方案)

Claude Code有Tool Search机制缓解工具定义开销。设了ENABLE_TOOL_SEARCH=true之后,MCP工具不会全量加载到上下文里,固定开销从几万tokens降到几乎为零:

json
{
  "env": {
    "ENABLE_TOOL_SEARCH": "true"
  }
}

限制返回数据量

MAX_MCP_OUTPUT_TOKENS可以限制MCP工具返回的最大token数。

及时断开不用的Server

/mcp命令可以查看每个Server的连接状态和工具数量,该关的关掉。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来