【无标题】

AI Agent学习 -- MCP篇

MCP是什么

MCP(Model Context Protect,模型上下文协议)是一个开源标准,用于将人工智能应用与外部系统连接起来。

可以将MCP理解成USB端口,USB提供了连接电子设备的标准化方式,MCP对于AI应用来说也是如此,MCP可以连接claude code,cursor,vs等应用。

MCP Server核心概念

三大原语

  • Tools:模型可调用的函数或者可以执行操作,如数据库查询,文件系统操作等。客户端向服务器端
  • Resources:为应用提供上下文数据的数据源,如文件内容,数据库记录等。服务器端向客户端
  • Prompts:用户可调用的模板,帮助结构化与语言模型的交互。服务端向用户
  • Sampling:服务器向LLM发送补全请求。服务端向LLM
  • Logging:服务器能够向客户端发送日志消息,以便进行调试和监控。服务端向客户端

MCP架构的主要参与者

MCP Host :协调和管理一个或多个 MCP 客户端的 AI 应用
MCP 客户端 :一个组件,负责维护与 MCP 服务器的连接,并从该 MCP 服务器获取上下文供 MCP 主机使用
MCP 服务器:为 MCP 客户端提供上下文的程序

传输方式

  • stdio:本地进程场景,客户端启动服务器进程,通过stdin/stdout通信
  • http:远程服务场景,HTTP POST发送请求
  • SSE:远程服务场景,已被HTTP取代

MCP使用

MCP生态有很多个服务器,可以直接在AI应用中使用已经定义好的mcp服务器,也可以自己定制mcp服务器。

Python 用 FastMCP 2.0 的装饰器 API,使用python开发一个MCP案例

首先需要部署环境:

bash 复制代码
python -m pip install uv  #安装uv,使用uv管理mcp
pip install fastmcp
uv init weather   #使用uv初始化一个mcp服务项目
uv add "mcp[cli]"   #添加mcp的依赖项

python代码如下:

python 复制代码
"""
FastMCP quickstart example.
"""

from mcp.server.fastmcp import FastMCP

# 创建一个mcp实例
mcp = FastMCP("Demo", json_response=True)

# 定义tool,即该mcp能提供的功能
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

# 该mcp能获得的资源
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"

# 该mcp定义的提示词
@mcp.prompt()
def greet_user(name: str, style: str = "friendly") -> str:
    """Generate a greeting prompt"""
    styles = {
        "friendly": "Please write a warm, friendly greeting",
        "formal": "Please write a formal, professional greeting",
        "casual": "Please write a casual, relaxed greeting",
    }

    return f"{styles.get(style, styles['friendly'])} for someone named {name}."

if __name__ == "__main__":
    mcp.run()

在cursor中使用定制的mcp服务:

1.在cursor中添加mcp服务器

由于我已经添加了两个mcp,所以上面会显示添加的mcp,点击New MCP Server,跳转到mcp.json文件,然后填充mcp.json文件内容如下:

json 复制代码
{
  "mcpServers": {
    "fastmcp_quickstart": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp",
        "path/fastmcp_quickstart.py"
      ]
    }
  }
}

即可看到添加的fastmcp_quickstart的mcp服务器。在cursor中调用实现的mcp服务器。
由于和llm的结果进行区分,因此修改了add的实现 ,实际fastmcp_quickstart的add功能代码为返回a + a + b

然后在cursor中使用:

可以发现,计算结果是符合预期的,因此能够验证已经调用到自己定制的fastmcp_quickstart的mcp服务器

相关推荐
Soari几秒前
GitHub 开源项目解析:supermemoryai/supermemory —— AI 时代的持久记忆引擎
人工智能·github·开源项目·mcp·ai记忆引擎·下文搜索
无情的西瓜皮10 小时前
MCP协议实战:用Python从零搭建一个AI Agent工具服务器(保姆级教程)
服务器·人工智能·python·mcp
winlife_11 小时前
在 Unity 里用 AI 做游戏:funplay-unity-mcp 从安装到第一次让 AI 改场景
人工智能·游戏·unity·ai编程·claude·mcp
冬奇Lab12 小时前
Agent 系列(10):MCP 协议——工具生态的标准化接入
人工智能·agent·mcp
带娃的IT创业者16 小时前
大模型Agent的 Meta-Skill(元技能)
github·大语言模型·ai agent·多智能体协作
winlife_17 小时前
让 AI 跑通“调跳跃手感“的完整闭环:funplay-unity-mcp 实战案例
人工智能·unity·游戏引擎·ai编程·mcp·游戏手感
winlife_17 小时前
从一句话到可玩原型:用 funplay-unity-mcp 让 AI 搭起完整游戏循环
人工智能·游戏·unity·ai编程·mcp·游戏原型
winlife_1 天前
让 AI 自动跑 PlayMode 回归测试:从 BUG 注入到自动判 FAIL 的完整闭环
人工智能·unity·bug·ai编程·mcp·回归测试·游戏测试
qcx231 天前
【系统学AI】23 AI 时代产品运营与获客全景:CRM SaaS 大变局 + 增长新范式(2026 调研报告)
人工智能·产品运营·产品设计·ai agent·ai native
前端摸鱼匠1 天前
提示词缓存命中率翻倍,面向缓存设计你的工具集
ai agent·prompt caching·llm 优化,工具集设计