模型上下文协议
该项目是一个有状态、安全、优化且可扩展的网关服务器,专为现代人工智能应用而设计。从零开始构建,该服务超越了简单的聊天机器人,融入了生产环境所需的专业工程实践。
MCP 服务器旨在解决大型语言模型(LLM)最大的弱点之一:“记忆障碍”。通过为每个用户维护独立的对话上下文,它使 AI 能够建立一致且个性化的对话。
此仓库生动地展示了如何将一个想法逐步转化为专业服务:
git push 后的自动分发。应用程序基于网关架构。接收用户的请求,从 Redis 获取相关的记忆/上下文信息,生成富含这些信息的提示并发送到 OpenAI 等 LLM 服务,然后更新记忆后返回响应给用户。
本项目完全设计用于在 GitHub Codespaces 上工作,无需本地安装。
sk-... 开头。1. 将此仓库复制到您的账户
点击右上角的 Fork 按钮,在您的账户中创建一份副本。
2. 配置您的 OpenAI API 密钥
您的 API 密钥是项目的最重要秘密,应妥善保管。
设置 > 机密和变量 > Codespaces。新建仓库机密 按钮。OPENAI_API_KEYsk-... 输入您的 OpenAI API 密钥。添加机密 记录。启动 Codespace
<> Code 按钮。Codespaces 标签页。在主分支上创建 codespace 按钮。等待 4 秒
GitHub 将为您提供云中的开发环境。借助 .devcontainer 的配置,所有安装(包括 Python 库)都将自动完成。
5. 启动服务
当环境准备好时,在 VS Code 的 TERMINAL 中打开并按顺序运行以下代码单元格。
完成的项目具有以下文件结构:
<pre> ├── .devcontainer/ │ ├── devcontainer.json │ └── post-create.sh ├── .github/workflows/ │ └── deploy.yml ├── api/ │ └── v1/ │ └── endpoints/ │ └── sessions.py ├── core/ │ └── config.py ├── schemas/ │ └── session_schema.py ├── services/ │ ├── openai_service.py │ └── redis_service.py ├── .dockerignore ├── Dockerfile ├── main.py ├── README.md └── requirements.txt </pre> <pre> # 首先,让我们以 Docker 容器的形式启动 Redis 数据库。 # 此命令将在后台继续运行。 echo "正在启动 Redis 容器..." docker run --name mcp-redis -p 6379:6379 -d redis echo "Redis 已启动。您可以使用 'docker ps' 命令进行检查。" </pre> <pre> # 现在,让我们使用 uvicorn 启动我们的 FastAPI 应用程序。 # 此命令将继续运行并占用终端。 # 您可以通过此终端跟踪应用程序的日志。 echo "正在启动 FastAPI 服务器... ([http://127.0.0.1:8000](http://127.0.0.1:8000))" uvicorn main:app --host 0.0.0.0 --port 8000 --reload </pre>6. 访问和测试您的应用程序
当 uvicorn 命令运行时,Codespaces 的右下角会显示端口 8000 可用的通知。
PORTS 标签页(通常位于终端旁边)。https://...app.github.dev 形式出现。您可以通过运行以下代码单元格来测试您的实时服务。首先从上方单元格获取重定向的 URL 并将其分配给 URL 变量。