MCP 模型上下文协议介绍

发布时间: 更新时间: 总字数:813 阅读时间:2m 作者: IP上海 分享 网址

MCP(Model Context Protocol) 由 Anthropic 推出的一种全新开放标准,旨在为 AI 助手提供与数据源之间的安全连接能力

介绍

  • MCP 可以构建服务器,以安全、标准化的方式向 LLM 应用程序公开数据和功能。可以把它想象成网络 API,但它是专门为 LLM 交互而设计的。MCP 服务器主要提供三种能力
    • Resources:通过 资源 公开数据(将这些资源视为类似 GET 的 endpoints;它们用于将信息加载到 LLM 的上下文中)
      • Python SDK 通过 @mcp.resource("config://app") 实现
    • Tools:通过工具提供功能(有点像 POST 的 endpoints;它们用于执行代码或以其他方式调用接口执行动作)
      • Python SDK 通过 @mcp.tool()实现
    • Prompts:通过提示(可重复使用的 LLM 交互模板)定义交互模式
      • Python SDK 通过 @mcp.prompt()实现
  • MCP 是一个开放协议,它标准化了 AI 应用与大语言模型(LLM)之间的连接方式,通过该协议与大语言模型进行高效的对接
    • MCP 协议功能类似与 USB-C 接口,为 AI 应用提供了一个统一、灵活的接入方式
    • MCP 是一种旨在提高大模型 Agent 开发效率的技术协议
  • MCP 支持
    • MCP Servers、clients、agent tools
    • MCP SDK 开发工具:python、java、TS 等 SDK

什么是 Function Calling

  • Function Calling 是一个允许大型语言模型(如 GPT)在生成文本的过程中调用外部函数或服务的功能,参考
        --调用请求-->                        --请求-->
大模型                   外部函数(function)             外部工具(如openweather API)
        --调用结果-->                        <--响应--

Function Calling 命名

  • MCP Client(MCP 客户端) 大模型运行环境
  • MCP Server(MCP 服务器) 外部函数运行环境
            --调用请求-->                --请求-->
MCP Client                 MCP Server             外部工具(如openweather API)
            --调用结果-->                <--响应--

MCP 开源实现

python-sdk

pip install mcp

demo

# server.py
from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo")


# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"
  • MCP Inspector
mcp dev server.py

其他

  • 类似的实现
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数