MCP(Model Context Protocol)是2024年底Anthropic发布的开放协议,2026年已成AI工具调用的事实标准。本文带你全面了解MCP生态,并给出10个最实用的MCP Server。
MCP是什么?为什么2026年人人都在谈?
一句话解释:MCP是AI模型的”USB-C接口”——让任何AI模型都能用统一的方式连接任何工具/数据源。
没有MCP之前的世界
# 每个AI应用都要自己写工具调用代码
# LangChain 版
from langchain.tools import Tool
def search_google(query: str) -> str:
# 写一大堆API调用、鉴权、错误处理...
api_key = os.getenv("GOOGLE_API_KEY")
url = f"https://www.googleapis.com/customsearch/v1?key={api_key}&q={query}"
response = requests.get(url)
return response.json()
search_tool = Tool(
name="GoogleSearch",
func=search_google,
description="搜索Google"
)
# 换一个框架(比如LlamaIndex)又要重新写一遍...
# 换一个模型(比如Claude)又要适配一遍...
痛点:工具集成成本高、重复造轮子、各框架互不兼容。
有了MCP之后
# 任何支持MCP的AI应用,都能直接调用MCP Server
# 不需要写适配代码!
# Claude Desktop 配置(一次配置,到处可用)
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-google-search"],
"env": {
"GOOGLE_API_KEY": "your-key"
}
}
}
}
# 配置好后,Claude/CodeBuddy/Cursor 都能直接用这个工具
# 不需要为每个框架单独开发!
MCP架构核心概念
┌─────────────┐ MCP协议 ┌──────────────┐
│ AI 应用 │ ←────────────→ │ MCP Server │
│ (Claude/ │ 标准JSON-RPC │ (工具提供方) │
│ Cursor等) │ │ Google/DB/Git │
└─────────────┘ └──────────────┘
│ │
└─────────── 用户对话 ───────────────┘
| 概念 | 说明 | 举例 |
|---|---|---|
| MCP Client | AI应用中集成MCP的模块 | Claude Desktop、Cursor |
| MCP Server | 提供工具/数据源的服务 | @modelcontextprotocol/server-postgres |
| Tool | Server暴露的具体能力 | search_google、query_db |
| Resource | Server提供的数据 | 文件内容、数据库记录 |
10个必知MCP Server实战
1. @modelcontextprotocol/server-filesystem – 文件系统访问
用途:让AI直接读写本地文件,告别复制粘贴。
// Claude Desktop 配置
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents",
"/Users/yourname/Projects"]
}
}
}
实战场景:
用户:帮我整理Documents文件夹,把PDF移到PDF文件夹,图片移到Images文件夹
AI自动执行:
1. 调用 filesystem list_directory 查看文件
2. 调用 filesystem read_file 判断文件类型
3. 调用 filesystem create_directory 创建分类文件夹
4. 调用 filesystem move_file 移动文件
→ 全程不需要人工干预!
2. @modelcontextprotocol/server-postgres – 数据库查询
用途:让AI直接查询PostgreSQL,自动生成SQL并执行。
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "postgresql://user:pass@localhost:5432/mydb"
}
}
}
}
# 使用Python MCP Client调用
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def query_database():
server_params = StdioServerParameters(
command="npx",
args=["-y", "@modelcontextprotocol/server-postgres"],
env={"POSTGRES_URL": "postgresql://localhost/mydb"}
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# 列出可用工具
tools = await session.list_tools()
print(f"可用工具: {[t.name for t in tools.tools]}")
# 执行查询
result = await session.call_tool(
"query",
arguments={"sql": "SELECT * FROM users WHERE active = true LIMIT 5"}
)
print(result.content[0].text)
asyncio.run(query_database())
3. @modelcontextprotocol/server-google-search – 谷歌搜索
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-google-search"],
"env": {
"GOOGLE_API_KEY": "your-google-api-key",
"GOOGLE_CSE_ID": "your-cse-id"
}
}
}
}
4. server-github – GitHub仓库操作
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}
实战场景:
用户:帮我看看yunduancloud/blog仓库最近3天的commit,总结主要改动
AI自动执行:
1. 调用 github list_commits(repo: yunduancloud/blog, since: 3天前)
2. 调用 github get_commit(获取每个commit详情)
3. 汇总分析 → 输出结构化总结
5. server-slack – Slack消息收发
让AI自动发送工作通知、查询历史消息。
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token"
}
}
}
}
6. server-redis – Redis操作
# 自定义MCP Server示例:Redis操作
from mcp.server import Server
import redis
app = Server("redis-server")
@app.tool()
def redis_get(key: str) -> str:
"""从Redis获取值"""
r = redis.Redis(host='localhost', port=6379)
value = r.get(key)
return value.decode() if value else None
@app.tool()
def redis_set(key: str, value: str, ttl: int = None) -> str:
"""向Redis写入键值"""
r = redis.Redis(host='localhost', port=6379)
r.set(key, value, ex=ttl)
return f"OK: {key} = {value}"
# 运行Server
if __name__ == "__main__":
import asyncio
from mcp.server.stdio import stdio_server
asyncio.run(stdio_server(app))
7. server-docker – Docker容器管理
让AI帮你管理Docker容器、查看日志、重启服务。
实战场景:
用户:我的博客容器好像挂了,帮我检查并重启
AI自动执行:
1. 调用 docker list_containers(查看所有容器状态)
2. 发现 blog-container 状态为 exited
3. 调用 docker restart_container(重启容器)
4. 调用 docker get_logs(查看启动日志确认正常)
→ 全程自动化处理!
8. server-sqlite – 轻量级数据库
适合个人项目、原型开发,无需配置PostgreSQL。
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite",
"/path/to/your/database.db"]
}
}
}
9. server-fetch – 网页内容抓取
让AI自动抓取网页内容并解析(替代手动复制)。
用户:帮我看看 https://y1cloud.cn 最近发布了什么文章
AI自动执行:
1. 调用 fetch fetch_url(抓取网页内容)
2. 解析HTML,提取文章标题和链接
3. 汇总输出最近10篇文章列表
10. 自定义MCP Server – 连接你的内部API
"""
自定义MCP Server:连接腾讯云API
让用户可以用自然语言管理云资源
"""
from mcp.server import Server
import requests
from mcp.server.stdio import stdio_server
import asyncio
app = Server("tencent-cloud-server")
# 腾讯云API封装
class TencentCloudAPI:
def __init__(self, secret_id, secret_key):
self.secret_id = secret_id
self.secret_key = secret_key
self.base_url = "https://cvm.tencentcloudapi.com"
def describe_instances(self, region="ap-guangzhou"):
"""查询CVM实例列表"""
# 简化版,实际需要签名加密
url = f"{self.base_url}/?Action=DescribeInstances&Region={region}"
response = requests.get(url, headers={
"Authorization": f"TC3-HMAC-SHA256 Credential={self.secret_id}/..."
})
return response.json()
# 注册MCP工具
tcapi = TencentCloudAPI("your-secret-id", "your-secret-key")
@app.tool()
def list_cvm_instances(region: str = "ap-guangzhou") -> str:
"""列出指定区域的腾讯云CVM实例"""
result = tcapi.describe_instances(region)
instances = result.get("Response", {}).get("InstanceSet", [])
if not instances:
return f"区域 {region} 没有CVM实例"
summary = f"区域 {region} 共有 {len(instances)} 个CVM实例:\n"
for inst in instances:
summary += f"- {inst['InstanceName']} ({inst['InstanceId']}): {inst['InstanceState']}\n"
return summary
@app.tool()
def recommend_cvm_spec(cpu: int, mem: int, usage: str) -> str:
"""根据需求推荐CVM规格"""
recommendations = {
"web": f"推荐S5.SMALL4(2核4G),适合Web应用,约¥150/月",
"db": f"推荐S5.MEDIUM8(4核8G),适合数据库,约¥300/月",
"cache": f"推荐S5.SMALL2(1核2G),适合缓存,约¥80/月",
}
return recommendations.get(usage, f"推荐S5.SMALL4(2核4G),通用型约¥150/月")
# 启动Server
if __name__ == "__main__":
asyncio.run(stdio_server(app))
配置到Claude Desktop:
{
"mcpServers": {
"tencent-cloud": {
"command": "python",
"args": ["/path/to/tencent_cloud_mcp_server.py"],
"env": {
"TENCENT_SECRET_ID": "your-secret-id",
"TENCENT_SECRET_KEY": "your-secret-key"
}
}
}
}
使用效果:
用户:帮我看看广州区域有哪些CVM,另外我要部署一个Web应用(2核4G),推荐什么规格?
AI自动调用:
1. list_cvm_instances(region="ap-guangzhou") → 查看现有实例
2. recommend_cvm_spec(cpu=2, mem=4, usage="web") → 获取推荐
AI回复:
广州区域目前有3个CVM实例运行中。
针对你的Web应用(2核4G需求),推荐 S5.SMALL4 规格,
约¥150/月,支持按量计费,适合前期流量不稳定的场景。
需要我帮你创建实例吗?
MCP生态现状(2026年5月)
| 平台 | MCP支持情况 | 说明 |
|---|---|---|
| Claude Desktop | ✅ 原生支持 | 最成熟的MCP Client |
| Cursor | ✅ 原生支持 | 开发者首选 |
| CodeBuddy | ✅ 原生支持 | 支持MCP连接器 |
| OpenAI GPT | 🔄 部分支持 | 通过Function Calling间接支持 |
| LangChain | ✅ 第三方库 | mcp-langchain-adapter |
| 腾讯云 | 🚧 规划中 | 官方MCP Server即将发布 |
如何开发自己的MCP Server
# 1. 安装MCP SDK
pip install mcp
# 2. 创建Server文件
touch my_mcp_server.py
# 3. 运行Server(开发模式)
mcp dev my_mcp_server.py
# 4. 测试(MCP Inspector界面)
# 浏览器打开 http://localhost:5173
总结
MCP的核心价值:
1. 统一标准 → 工具开发者只需开发一次,所有AI应用都能用
2. 降低门槛 → 不懂AI框架也能让AI调用你的工具
3. 生态爆发 → 2026年已有1000+ MCP Server覆盖各种场景
行动建议:
– 如果你在做AI应用 → 接入MCP,立即获得1000+工具
– 如果你有内部API → 封装成MCP Server,让AI帮你调用
– 如果你在用Claude/Cursor → 配置这10个MCP Server,效率翻倍
👤 作者简介
一枚在大中原腹地(河南)卖公有云的从业者,主营腾讯云/阿里云/火山云,曾踩坑无数,现专注AI大模型应用落地。关注公众号「公有云cloud」,围观AI前沿动态~
博客:y1cloud.cn
