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 提示词
相关推荐
Dovis(誓平步青云)34 分钟前
《如何在CentOS 7中添加Plex官方软件源:解决文件磁盘难管理难题》
linux·运维·服务器·后端·生成对抗网络·centos
IT_陈寒1 小时前
Python的线程池把我CPU跑满了,原来少传了个参数
前端·人工智能·后端
wuqingshun3141591 小时前
springBoot是如何通过main方法启动web项目的?
前端·spring boot·后端
程序员爱钓鱼2 小时前
Rust Option 详解:安全处理“可能存在,也可能不存在”的值
前端·后端·rust
程序员爱钓鱼2 小时前
Go Modules 包管理详解:go.mod、go.sum 与依赖管理
前端·后端·go
小满zs8 小时前
Go语言第三章(五谷轮回)
后端·go
霸道流氓气质12 小时前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
MemoleCard16 小时前
深度解析Java当中的锁机制
后端
wear工程师16 小时前
ThreadLocal 在线程池里为什么会串数据:别只会答内存泄漏
java·后端