使用说明
圣诞老人车间库存MCP服务器
该项目展示了共享单个模型上下文协议(MCP)服务器实例与运行多个专用实例的效率。它使用了一个节日的“圣诞老人工作室清单”主题,该主题是用Python中的轻量级FastMCP框架构建的。
项目结构
README.md:这个文件。workshop_server.py:FastMCP服务器逻辑和工具。requirements.txt:Python依赖关系。
入门指南
先决条件
- Python 3.10+
uv包管理器
1.克隆存储库
git clone https://github.com/<your-org>/santas-workshop-inventory.git
cd santas-workshop-inventory
2.创建虚拟环境(可选但推荐)
uv venv
source .venv/bin/activate
3.安装依赖项
uv pip install -r requirements.txt
4.运行MCP服务器
服务器使用FastMCP的默认STDIO传输。在本地启动它并与您的MCP兼容客户端连接:
python workshop_server.py
可用工具
MCP服务器公开了这些工具(请参见 workshop_server.py 详细信息):
get_toy_stock(toy_name):获取玩具的当前库存和生产数量。produce_toys(toy_name, quantity):模拟生产玩具并更新库存。- 资源
inventory://all_stock:返回完整的库存列表。
演示幻灯片
- 安装dev-extra(包括Reveal.js幻灯片的Jupyter/nbconvert):或与
uv pip install -r requirements-dev.txtpip:pip install -r requirements-dev.txt - 将甲板用作滑梯:这将启动一个本地服务器并打开Reveal.js幻灯片。您还可以在Jupyter中打开笔记本并使用 视图>单元格工具栏>幻灯片 调整滑动中断。
jupyter nbconvert --to slides santas_workshop_slides.ipynb --post serve
与Codex一起使用
-
Codex启动自己的实例(每个会话一个)
在Codex配置中添加条目(~/.codex/config.toml)因此,每个会话都会启动一个新的STDIO服务器:[mcp_servers."santas-workshop-inventory"] command = "/Users/prashant/code/santas-workshop-inventory/.venv/bin/python" args = ["workshop_server.py"] cwd = "/Users/prashant/code/santas-workshop-inventory" transport = "stdio" -
为所有Codex会话重用单个共享服务器
使用HTTP传输启动服务器一次,然后将Codex指向它:cd /Users/prashant/code/santas-workshop-inventory . .venv/bin/activate python run_http_server.py --host 127.0.0.1 --port 8765 --path /mcp更新Codex配置以重用该服务器(注意
/mcp路径):[mcp_servers."santas-workshop-inventory"] transport = "http" url = "http://127.0.0.1:8765/mcp"如果你喜欢另一条路,请通过
--path /your-path并将其镜像到url上面。