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 提示词
相关推荐
货拉拉技术7 小时前
构建稳定的 AI Agent:Harness 工程的核心机制与实践思考
人工智能·后端·数据分析
hsfxuebao7 小时前
Harness工程
后端·架构
暗夜行者之光7 小时前
LangGraph 实战:构建“自我修正”的代码生成 Agent
后端
IT枫斗者枫哥7 小时前
AI返回合法JSON,字段就可信吗?给抽取结果补一道业务校验
java·人工智能·后端
IT枫斗者枫哥7 小时前
同一个requestId换了参数,为什么不能直接返回旧结果?
java·后端
溪语流沙7 小时前
Django + Vue电商项目第005讲:后端骨架|Django初始化、配置分层与DRF接入
vue.js·后端·python·django
益达是我啊7 小时前
前端工程师的 Java 后端 30 天快速入门(1)
后端
136096757237 小时前
apt-get 补的库,一次重建全没了
后端
IT枫斗者枫哥7 小时前
ORDER BY时间还会漏单?用相同时间和插入记录测一次分页
java·后端
IT枫斗者枫哥7 小时前
UPDATE影响0行,接口却返回成功:把版本冲突接回业务
java·后端