圣诞老人车间库存MCP服务器
该项目展示了共享单个模型上下文协议(MCP)服务器实例与运行多个专用实例的效率。它使用了一个节日的“圣诞老人工作室清单”主题,该主题是用Python中的轻量级FastMCP框架构建的。
项目结构
README.md:这个文件。workshop_server.py:FastMCP服务器逻辑和工具。requirements.txt:Python依赖关系。
入门指南
先决条件
- Python 3.10+
uv包管理器
1.克隆存储库
git clone https://github.com//santas-workshop-inventory.git
cd santas-workshop-inventory2.创建虚拟环境(可选但推荐)
uv venv
source .venv/bin/activate3.安装依赖项
uv pip install -r requirements.txt4.运行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.txt或与 pip:
pip install -r requirements-dev.txt- 将甲板用作滑梯:
jupyter nbconvert --to slides santas_workshop_slides.ipynb --post serve这将启动一个本地服务器并打开Reveal.js幻灯片。您还可以在Jupyter中打开笔记本并使用 *视图>单元格工具栏>幻灯片* 调整滑动中断。
与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 上面。
