利用模型上下文协议(MCP)和Azure OpenAI实现的一个最小化服务器/客户端应用程序。
FastMCP构建。Playwright是微软开发的一款开源端到端测试框架,用于测试现代Web应用。MCP-LLM Bridge实现。模型上下文协议(MCP) MCP(模型上下文协议)是一种开放协议,它使AI应用程序能够安全、可控地与本地或远程资源进行交互。
在2024年12月的开发阶段,Python项目应使用'uv'启动。其他依赖管理库,如'pip'和'poetry',尚未完全支持MCP CLI。
将.env.template重命名为.env,然后在.env中填写Azure OpenAI的相关值:
AZURE_OPEN_AI_ENDPOINT=
AZURE_OPEN_AI_API_KEY=
AZURE_OPEN_AI_DEPLOYMENT_MODEL=
AZURE_OPEN_AI_API_VERSION=
安装uv用于Python库管理
pip install uv
uv sync
执行python chatgui.py
stdio是一个传输层(原始数据流),而JSON-RPC是一个应用层协议(结构化通信)。它们是不同的,但经常被互换使用,例如在协议中提到的“JSON-RPC over stdio”。
@self.mcp.tool()
async def playwright_navigate(url: str, timeout=30000, wait_until="load"):
"""导航到一个URL。""" -> 这个注释提供了一个描述,可能会在类似于LLMs中的函数调用机制中使用。
# 输出
Tool(name='playwright_navigate', description='导航到一个URL。', inputSchema={'properties': {'url': {'title': 'Url', 'type': 'string'}, 'timeout': {'default': 30000, 'title': 'timeout', 'type': 'string'}
uv run: 运行脚本。
uv venv: 创建一个新的虚拟环境,默认为'.venv'。
uv add: 向脚本添加依赖项
uv remove: 从脚本移除依赖项
uv sync: 同步(安装)项目的依赖项到环境中。
taskkill /IM python.exe /F