Model Context Protocol (MCP) Python SDK实战指南

Model Context Protocol (MCP) Python SDK 使用教程

python-sdk The official Python SDK for Model Context Protocol servers and clients 项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk

1. 项目介绍

Model Context Protocol (MCP) Python SDK 是一款开源的 Python 库,用于实现 MCP 协议。MCP 协议允许应用程序以一种安全、标准化的方式为大型语言模型(LLM)提供上下文信息,从而将提供上下文的职责与 LLM 的实际交互分离。通过使用这个 SDK,开发者可以轻松构建 MCP 客户端和服务器,以支持在 LLM 应用程序中的数据传输和功能调用。

2. 项目快速启动

以下是快速启动 MCP Python SDK 的步骤:

首先,确保你已经安装了 Python。然后,通过以下命令安装 MCP SDK:

pip install mcp

接下来,创建一个名为 server.py 的 Python 文件,并编写以下代码以启动一个简单的 MCP 服务器:

from mcp.server.fastmcp import FastMCP

# 创建一个 MCP 服务器实例
mcp_server = FastMCP("我的应用")

# 添加一个简单的加法工具
@mcp_server.tool()
def add(a: int, b: int) -> int:
    """计算两个数的和"""
    return a + b

# 添加一个动态的问候资源
@mcp_server.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """获取个性化的问候信息"""
    return f"你好,{name}!"

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

使用以上代码,你可以启动一个包含加法工具和问候资源的 MCP 服务器。

3. 应用案例和最佳实践

Echo Server

一个简单的 Echo 服务器可以用来回显发送到它的任何消息。这可以用于测试 MCP 服务器是否正常工作。

from mcp.server.fastmcp import FastMCP

@mcp_server.tool()
def echo(message: str) -> str:
    """回显发送的消息"""
    return message

SQLite Explorer

创建一个 MCP 服务器,允许用户通过 MCP 协议查询 SQLite 数据库。

import sqlite3
from mcp.server.fastmcp import FastMCP

@mcp_server.tool()
def query_db(query: str) -> str:
    """执行 SQL 查询并返回结果"""
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()
    cursor.execute(query)
    result = cursor.fetchall()
    cursor.close()
    conn.close()
    return str(result)

低级服务器使用

对于更高级的使用场景,可以直接使用 MCP 协议的低级服务器接口,以更细粒度地控制服务器的行为。

4. 典型生态项目

目前,围绕 MCP Python SDK 已经有一些生态项目正在开发中。以下是一些典型的例子:

  • MCP Inspector:一个用于测试和调试 MCP 服务器的工具。
  • MCP CLI:一个命令行工具,用于与 MCP 服务器交互。
  • MCP GUI:一个图形用户界面,提供直观的方式来管理 MCP 服务器和资源。
  • 这些项目扩展了 MCP Python SDK 的功能,使其能够更好地服务于各种不同的应用场景。

    python-sdk The official Python SDK for Model Context Protocol servers and clients 项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk

    作者:戴策峥Homer

    物联沃分享整理
    物联沃-IOTWORD物联网 » Model Context Protocol (MCP) Python SDK实战指南

    发表回复