创建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