FastMCP In Action跑通第一个MCP之跟学python版

顾名思义,FastMCP就是提供MCP快速实现的框架,都MCP了, 我们也要跟上。

1.什么是MCP

模型上下文协议Model Context Protocol (MCP)是一种为您的LLM提供上下文和工具的新标准化方式,FastMCP使构建MCP服务器和客户端变得简单直观。创建工具,公开资源,定义提示,并使用干净的Python代码连接组件。

2.MCP提供哪些服务

  • 越来越多的预建集成列表,您的LLM可以直接插入其中
  • 为人工智能应用程序构建自定义集成的标准化方法
  • 每个人都可以自由实施和使用的开放协议
  • 在不同应用程序之间进行更改并带您的上下文的灵活性

3.MCP优点

  • 🚀快速:高级界面意味着更少的代码和更快的开发
  • 🍀简单:用最少的模板构建MCP服务器
  • 🐍Pythonic:对Python开发人员来说感觉很自然
  • 🔍完成:一个适用于所有MCP用例的综合平台,从开发到生产

4.MCP架构

  • MCP主机:协调和管理一个或多个MCP客户端的人工智能应用程序
  • MCP 客户端:维持与 MCP 服务器的连接并从 MCP 服务器获取上下文以供 MCP 主机使用的组件
  • MCP服务器:一个为MCP客户端提供上下文的程序

5.FastMCP 安装

顾名思义,FastMCP就是提供MCP快速实现的框架,这就是我们要跟进学习的。 github地址: github.com/jlowin/fast...

  • 安装要求: python版本>=3.10
  • 安装
bash 复制代码
# 可以用uv,也可以不用
uv pip install fastmcp
sql 复制代码
Uninstalling pip-25.1.1:
    Successfully uninstalled pip-25.1.1
Successfully installed pip-25.2
(cp313) livingbody@LivingbodydeMacBook-Pro workspace % fastmcp --version
2.11.2

6.FastMCP In Action

6.1 FastMCP Server

python 复制代码
from fastmcp import FastMCP
​
mcp = FastMCP("My MCP Server")
​
@mcp.tool
def greet(name: str) -> str:
   return f"Hello, {name}!"
​
if __name__ == "__main__":
   mcp.run()
arduino 复制代码
fastmcp run myserver.py

6.2 FastMCP Client

python 复制代码
import asyncio
from fastmcp import Client
​
client = Client("mcp_test.py")
​
async def call_tool(name: str):
   async with client:
       result = await client.call_tool("greet", {"name": name})
       print(result)
​
asyncio.run(call_tool("Livingbody"))
复制代码
python myclient.py

7. FastMCP基本组件

基本组件有3个:

  • tools 工具
  • resources 资源
  • prompts 提示词
相关推荐
王大锤·34 分钟前
基于spring boot的个人博客系统
java·spring boot·后端
bobz9651 小时前
QT designer 常用技巧
后端
shi57831 小时前
C# 常用的线程同步方式
开发语言·后端·c#
没逻辑1 小时前
抗量子密码技术(PQC)演变
后端·量子计算
day>day>up2 小时前
django uwsgi启动报错failed to get the Python codec of the filesystem encoding
后端·python·django
bobz9652 小时前
QT 中的三种基本UI类型:Main Window | Widget | Dialog
后端
zhoupenghui1683 小时前
golang实现支持100万个并发连接(例如,HTTP长连接或WebSocket连接)系统架构设计详解
开发语言·后端·websocket·golang·系统架构·echo·100万并发
咸甜适中3 小时前
Rust语言序列化和反序列化vec<u8>,serde库Serialize, Deserialize,bincode库(2025年最新解决方案详细使用)
开发语言·后端·rust
JiaHao汤4 小时前
Java 虚拟机之双亲委派机制
java·jvm·后端