构造第一个mcp lient

创建mcp-client

# 安装uv
pip install uv

# 创建项目
uv init mcp-client

# 进入目录
cd mcp-client

# 创建虚拟环境
uv venv

# 激活虚拟环境
.venv\Scripts\activate # win
source new-env/bin/activate # linux

# 安装MCP SDK
uv add mcp

创建client.py 并写入 一下代码

import asyncio
from mcp import ClientSession
from contextlib import AsyncExitStack

class MCPClient:
    def __init__(self):
        """ 初始化MCP客户端 """
        self.session = None
        self.exit_stack = AsyncExitStack()

    async def connect_to_mock_server(self):
        """ 模拟MCP服务器的连接(暂不连接真实服务器) """
        print("MCP客户端已初始化,但未连接到服务器")

    async def chat_poop(self):
        """ 运行交互式聊天循环 """
        print("\nMCP客户端已启动,输入'quit'退出")

        while True:
            try:
                query = input("\nQuery: ").strip()
                if query.lower() == "quit":
                    break
                print(f"\n[Mock Response] 你说的是: {query}")
            except Exception as e:
                print(f"\n发生错误: {str(e)}")

    async def cleanup(self):
        """  资源清理 """
        await self.exit_stack.aclose()

async def main():
    client = MCPClient()
    try:
        await client.connect_to_mock_server()
        await client.chat_poop()
    finally:
        await client.cleanup()


if __name__ == "__main__":
    asyncio.run(main())

控制台执行命令运行

uv run .\client.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值