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 dev server.py
其他