模型上下文协议服务器

MCP是一个本地运行的模型上下文协议服务器,用于验证工具连接性并集成OpenAI工具调用功能。

  • by Dhavaleswar
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Dhavaleswar/explore-mcp

使用说明

探索MCP

此仓库运行本地MCP(模型上下文协议)服务器,验证工具与客户端的连接,并演示OpenAI工具调用集成。

先决条件

  • Python 3.13(每 pyproject.toml).
  • Linux/macOS shell(显示用于bash的命令)。
  • 一个OpenAI API密钥。
  • 中列出的依赖关系 pyproject.toml.

安装依赖项

你可以使用uv、诗歌或pip。选择一种方法。

选项A:uv(快速,推荐)

# If uv is not installed, see https://docs.astral.sh/uv/getting-started/
uv sync

选项B:诗歌

poetry install
poetry shell

选项C:pip+venv

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt .

设置OpenAI API密钥

脚本 utils/helpers.py 您的密钥应保存在以下文件中:

  • ~/.llm_secrets 内容如下:
OPENAI_API_KEY=sk-...

或者,您可以在运行OpenAI测试之前直接在shell中设置环境变量:

export OPENAI_API_KEY=sk-...

注: call_my_mcp2.py 导入 get_api_key() 和设置 os.environ["OPENAI_API_KEY"] 内部使用 ~/.llm_secrets 文件。如果该文件丢失,请如上所示设置env-var或创建该文件。

启动MCP服务器

这将启动为MCP端点提供服务的FastAPI应用程序 http://127.0.0.1:8000/mcp.

python mcp_server.py

预期日志:uvicorn启动并监听8000端口。

健康检查:MCP客户端

在单独的终端中(服务器运行时),验证连接和工具发现。

python mcp_client_check.py

预期产出:工具清单,包括 ping, add,以及 subtract.

OpenAI集成测试

在服务器运行且OpenAI密钥可用的情况下,运行LLM编排演示:

python mcp_llm_mode2.py

它的作用:

  • 从服务器发现MCP工具。
  • 为OpenAI聊天完成API提供这些工具。
  • 让模型调用 add 并返回最终答案。

预期:将两个数字相加的打印结果(例如。, 68 23+45)。

备注

  • 脚本使用模型 gpt-5。如果您的帐户上没有此型号,请在内部进行更改 call_my_mcp2.py 您可以访问的模型(例如。, gpt-4.1-mini 或其他支持工具的模型)。
  • 确保中的服务器URL call_my_mcp2.py 和 mcp_client_check.py 火柴 http://127.0.0.1:8000/mcp.
  • 如果端口8000正在使用中,请编辑 mcp_server.py 在不同的端口上运行uvicorn并相应地更新客户端脚本。

文件

  • mcp_server.py:FastAPI+FastMCP服务器公开工具: ping, add, subtract.
  • mcp_client_check.py:异步客户端,ping服务器并列出工具。
  • call_my_mcp2.py:使用MCP工具编排OpenAI聊天。
  • utils/helpers.py:从加载OpenAI API密钥的实用程序 ~/.llm_secrets 或者从JSON文件中设置env变量。