MCP服务器演示——Python stdio服务器+OpenAI客户端
一个小演示,显示了一个简单的MCP(模型上下文协议)服务器和一个使用OpenAI通过stdio与服务器交互的客户端。
此存储库包含两个脚本:
server.py--一个小型文件系统服务器,提供三个工具:write_file,read_file,以及list_files.
服务器通过stdio进行监听,并将文件存储在 ./mcp_workspace.
client.py--启动的示例客户端server.py并使用OpenAI模型自动生成动作。客户端提供了一个交互式提示,您可以在其中要求助手读取/写入/列出文件。
______________________________________________________________________
先决条件
- Python 3.10+(或任何相当现代的Python 3)
- Python虚拟环境(推荐)
- 一个OpenAI API密钥
安装(推荐)
从macOS/Linux上的项目根目录:
# create and activate a venv
python3 -m venv .venv
source .venv/bin/activate
# install packages (example)
pip install -r requirements.txt注意:确切的包名称和版本取决于您的环境和您使用的MCP/OpenAI客户端包。该项目包括 requirements.txt 使用推荐的最低版本--安装时 pip install -r requirements.txt.
设置OpenAI API键
在运行客户端之前,将OpenAI API密钥导出到名为 OPENAI_API_KEY:
export OPENAI_API_KEY="sk-..."(使用 setx 在Windows PowerShell上或 set 在Windows cmd上。)
独立运行服务器
如果你想自己运行服务器(它将在stdio上监听):
python3 server.py这将创建 ./mcp_workspace 如果它不存在,请将状态记录到stderr。
运行客户端(推荐)
客户端将自动启动 server.py 为您打开一个交互式提示,您可以在其中要求助手执行文件操作。
python3 client.py演示演练:
- 客户端启动并使用OpenAI API来规划操作。
- 助手可以调用MCP工具(
write_file,read_file,list_files)客户端转发给服务器。 - 服务器将文件存储在
./mcp_workspace/客户端显示响应。
交互示例
- 让助手“创建一个名为notes.txt的文件,其中包含'Hello World'”,助手将调用服务器的
write_file工具。 - 让助手“列出文件”以查看保存的文件。
故障排除
- 如果
OPENAI_API_KEY如果未设置,您将看到错误client.py:
❌ Error: OPENAI_API_KEY not set
Run: export OPENAI_API_KEY='your-key'- 确保您安装了所需的Python包。
许可证和注意事项
这是一个小的演示项目——将其用于实验和开发目的。
______________________________________________________________________
