5分钟上手MCP Python SDK:零代码基础搭建AI上下文服务器

5分钟上手MCP Python SDK:零代码基础搭建AI上下文服务器

【免费下载链接】python-sdk The official Python SDK for Model Context Protocol servers and clients 【免费下载链接】python-sdk 项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk

你是否还在为搭建AI上下文服务器而烦恼复杂的配置和冗长的代码?本文将带你5分钟内完成第一个MCP(Model Context Protocol)服务器的搭建,无需深厚的编程基础,只需简单几步即可拥有一个功能完备的AI上下文服务。读完本文后,你将能够:

  • 掌握MCP Python SDK的基本安装与配置
  • 创建包含工具和资源的AI上下文服务器
  • 运行并测试你的第一个MCP服务
  • 了解如何扩展和定制服务器功能

什么是MCP?

MCP(Model Context Protocol)是模型上下文协议的简称,它提供了一种标准化的方式来构建和交互AI上下文服务器。通过MCP Python SDK,开发者可以快速创建能够处理AI模型上下文、提供工具调用和资源访问的服务器应用。

官方文档:docs/index.md 项目教程:README.md

安装准备

MCP Python SDK已发布到PyPI,支持Python 3.8及以上版本。安装过程非常简单,只需使用pip命令即可:

pip install mcp

如果你使用uv作为包管理器,可以执行:

uv add mcp

安装包将自动包含所有必要依赖,包括HTTP客户端、Web框架、数据验证工具等。详细依赖列表请参考docs/installation.md

快速开始:5分钟搭建服务器

第一步:创建基础服务器

创建一个名为quickstart.py的文件,输入以下代码:

from mcp.server.fastmcp import FastMCP

# 创建MCP服务器实例
mcp = FastMCP("MyFirstServer")

# 运行服务器
if __name__ == "__main__":
    mcp.run()

这段代码创建了一个最基本的MCP服务器,使用默认配置在本地8000端口运行。

第二步:添加工具函数

MCP服务器的核心功能之一是提供工具函数供AI模型调用。我们来添加一个简单的加法工具:

from mcp.server.fastmcp import FastMCP

# 创建MCP服务器
mcp = FastMCP("Demo")

# 添加加法工具
@mcp.tool()
def sum(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

if __name__ == "__main__":
    mcp.run()

通过@mcp.tool()装饰器,我们轻松将普通Python函数转换为MCP服务器的工具。

完整示例代码:examples/fastmcp/readme-quickstart.py

第三步:添加资源访问

除了工具函数,MCP服务器还可以提供资源访问功能。我们添加一个动态生成问候语的资源:

# 添加动态问候资源
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"

这个资源可以通过greeting://{name}的URL格式访问,为不同用户提供个性化问候。

第四步:运行服务器

在代码末尾添加运行代码,并执行脚本:

if __name__ == "__main__":
    mcp.run()
python quickstart.py

服务器启动后,你将看到类似以下的输出:

INFO:     Started server process [12345]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

测试你的服务器

服务器启动后,你可以通过多种方式与其交互:

1. 工具调用测试

使用curl命令测试sum工具:

curl -X POST http://localhost:8000/tools/sum \
  -H "Content-Type: application/json" \
  -d '{"a": 5, "b": 3}'

你将得到响应:8

2. 资源访问测试

访问我们创建的问候资源:

curl http://localhost:8000/resources/greeting/World

你将得到响应:Hello, World!

3. 查看服务器信息

访问服务器根目录可以查看基本信息:

curl http://localhost:8000/

进阶示例:回声服务器

下面是一个更完整的回声服务器示例,它可以返回你输入的任何文本:

from mcp.server.fastmcp import FastMCP

# 创建服务器
mcp = FastMCP("Echo Server")

@mcp.tool()
def echo(text: str) -> str:
    """Echo the input text"""
    return text

if __name__ == "__main__":
    mcp.run(host="0.0.0.0", port=8000)

完整代码:examples/fastmcp/simple_echo.py

这个示例展示了如何自定义服务器的主机和端口,以及创建简单的文本回声工具。

项目结构解析

MCP Python SDK的项目结构清晰,主要包含以下几个部分:

扩展你的服务器

MCP Python SDK提供了丰富的扩展功能,让你可以根据需求定制服务器:

添加更多工具和资源

只需继续使用@mcp.tool()@mcp.resource()装饰器添加更多功能:

# 添加乘法工具
@mcp.tool()
def multiply(a: int, b: int) -> int:
    """Multiply two numbers"""
    return a * b

# 添加时间资源
@mcp.resource("time")
def get_current_time() -> str:
    """Get current time"""
    from datetime import datetime
    return datetime.now().isoformat()

配置服务器参数

在创建FastMCP实例时,可以传入各种配置参数:

mcp = FastMCP(
    "ConfiguredServer",
    description="A server with custom configuration",
    version="1.0",
    host="0.0.0.0",
    port=8080
)

实现高级功能

MCP Python SDK还支持会话管理、认证授权、流式响应等高级功能。你可以在examples/目录中找到更多示例代码,如:

总结与展望

通过本文的介绍,你已经了解了如何使用MCP Python SDK快速搭建AI上下文服务器。我们从基础安装开始,创建了包含工具和资源的简单服务器,并学习了如何测试和扩展服务器功能。

MCP Python SDK为AI应用开发提供了强大而灵活的工具,无论是构建简单的演示原型还是复杂的生产系统,都能满足你的需求。接下来,你可以尝试:

  1. 探索更多高级功能和配置选项
  2. 集成实际的AI模型到你的服务器
  3. 开发自定义客户端与服务器交互
  4. 参与MCP社区贡献代码或文档

希望本文能帮助你快速入门MCP Python SDK,如果你有任何问题或建议,欢迎通过项目仓库提交issue或PR。

点赞收藏本文,关注项目更新,下期我们将介绍如何构建MCP客户端应用,实现与服务器的复杂交互。

项目地址:gh_mirrors/pythonsd/python-sdk

【免费下载链接】python-sdk The official Python SDK for Model Context Protocol servers and clients 【免费下载链接】python-sdk 项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值