使用说明
mcp示例
一小部分Python示例代码,演示如何使用MCP(模型上下文协议)服务器和客户端。
MCP代表模型上下文协议。
目录
- app.py-使用内置会话内存的MCPAgent的交互式聊天示例(需要GROQ API密钥和pyproject.toml中列出的依赖项)。
- test_mcp.py--初始化MCPClient并尝试启动配置的mcp服务器的测试脚本(对调试Playwright/其他mcp服务器很有用)。
- browser_mcp.json——MCPClient使用的mcp服务器配置(包括Playwright和DuckDuckGo搜索服务器条目)。
- pyproject.toml——项目元数据和运行时依赖关系。
- main.py——小占位符入口点。
需求
- Python 3.11+
- 点
- 推荐:虚拟环境(venv或virtualenv)
- app.py所需的环境变量:
- GROQ_API_KEY-langchain-GROQ的API密钥(由app.py使用)
设置
-
克隆存储库:
克隆https://github.com/gauravs-sh/mcp-examples.git
cd-mcp示例
-
创建并激活虚拟环境:
python-m venv.venv source.venv/bin/activate#macOS/Linux
source.venv\Scripts\activate#Windows -
安装依赖项(来自pyproject.toml):
uv add langchain-groq
uv add langchain-openai
uv add mcp-use
(如果您更喜欢requirements.txt,可以从pyproject.toml生成一个。)
- 我们将使用npx,所以别忘了安装node.js 或者在终端中键入“node”以检查当前节点版本。
用法
交互式聊天(app.py)
-
使用GREQ API密钥创建.env文件:
GROQ_API_KEY=your_GROQ_API_KEY_here
-
运行聊天示例:
python app.py或uv运行app.py
运行剧作家mcp服务器的示例提示:
“请在剧作家mcp服务器中打开google.com,然后打开yahoo.com”
运行duckduckgo搜索mcp服务器的示例提示:
请在duckduckgo搜索mcp服务器中搜索“python编程”
笔记:
- 该脚本加载browser_mcp.json以创建一个MCPClient,该客户端可以启动配置在那里的本地mcp服务器。
- 命令:类型
clear清除对话历史记录,以及exit或quit结束会议。 - 该示例使用ChatGroq(模型=“llama-3.1-8b-instant”)。根据需要调整到可用型号。
测试MCP客户端和服务器(Test_MCP.py)
运行脚本以验证MCPClient初始化,并尝试启动browser_mcp.json中列出的服务器:
python test_mcp.py
该脚本打印已配置的服务器,尝试为每个服务器创建会话,并报告成功或错误。
browser_mcp.json
此文件包含mcpServers定义,例如:
{ “mcpServers”:{ “剧作家”:{“命令”:“npx”,“args”:[“@剧作家/mcp@0.0.52"] }, “duckduckgo搜索”:{“命令”:“npx”,“args”:[“-y”,“duckdackgo mcp服务器”]} } }
MCPClient.from_config_file读取此信息以了解哪些本地进程作为MCP服务器启动。
发展
- pyproject.toml声明项目元数据和依赖关系。
- 如果您扩展存储库,请在examples/目录下添加小型、自包含的示例。
- 使用pytest进行测试和标准日志记录。
贡献
欢迎投稿!分叉、分支、添加测试和文档,然后打开一个pull请求。
许可证
此存储库根据MIT许可证获得许可。有关详细信息,请参阅许可证。
联系
业主:gauravs sh--https://github.com/gauravs-sh
