模型上下文协议演示

一个轻量级的模型上下文协议演示,包含JSON-RPC HTTP服务器和Streamlit前端,用于浏览和编辑沙盒文件,并可选运行Ollama辅助工具。

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

使用说明

MCP概念证明

此工作区包含一个轻量级的模型上下文协议演示,其中包含:

  • mcp-server:一个暴露文件系统工具的最小JSON-RPC HTTP服务器(list_dir, read_file, write_file)仅限于沙盒目录。
  • mcp-ui:Streamlit前端,与服务器对话,浏览/编辑沙盒文件,并可选择运行Ollama驱动的帮助程序。

目标是展示支持MCP的后端和UI如何协同工作,同时保持较低的设置摩擦。

存储库布局

路径 描述
mcp-server/ FastAPI服务器加上示例沙盒内容 mcp-server/sandbox.
mcp-ui/ Streamlit客户端,用于浏览和调用MCP工具,带有可选的Ollama代理。
readme.md 这份文件。

快速启动

1.运行MCP服务器

cd mcp-server
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export MCP_ROOT_DIR="$(pwd)/sandbox"   # optional
python server.py

服务器正在监听 http://localhost:8000/mcp 并自动暴露沙盒 mcp-server/sandbox.

2.启动Streamlit用户界面

cd ../mcp-ui
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py

打开报告的URL(默认 http://localhost:8501).在侧栏中,确认MCP端点与服务器匹配(http://localhost:8000/mcp).如果你有 奥拉玛 在本地运行时,您还可以测试LLM帮助程序和基本代理循环;否则,不要使用这些部分。

开发技巧

  • 服务器沙盒内容(除 notes/)git被忽略;请随意在以下目录下创建文件 mcp-server/sandbox 没有污染承诺。
  • 要添加新工具,请在中定义一个Python函数 server.py,在中注册 TOOL_MAP,并在中进行描述 mcp_describe().
  • 对于UI调整,Streamlit在保存时会热重新加载,因此请保持 streamlit run app.py 编辑时处于活动状态 mcp-ui/app.py.

相关文档

  • mcp-server/README.md –深入了解服务器及其API。
  • mcp-ui/README.md –屏幕截图/功能以及UI的配置旋钮。