Chunkys0up7
服务介绍
模型上下文协议 (MCP)
概述
MCP 是一个模块化框架,用于管理、执行和监控 AI 模型上下文,包括 LLM 提示、Jupyter 笔记本和 Python 脚本。它提供了一个 FastAPI 后端和一个 Streamlit 仪表板前端。
功能
- 注册和管理不同类型的 MCP(LLM 提示、笔记本、脚本)
- 执行 MCP 并在 Web UI 中查看结果
- 监控服务器健康状况和统计信息
- 可扩展以支持新的 MCP 类型
设置
前提条件
- Python 3.9+
- (推荐)创建并激活虚拟环境
安装依赖
bash
pip install -r requirements.txt
环境变量
- 设置
MCP_API_KEY用于 API 认证(可选,默认值已提供) - 对于 LLM,如果使用 Claude,请设置
ANTHROPIC_API_KEY
启动后端
bash
uvicorn mcp.api.main:app --reload
启动前端
bash
streamlit run mcp/ui/app.py
使用
- 在 http://localhost:8501 访问仪表板
- 从 UI 创建、管理和测试 MCP
- 从侧边栏监控健康状况和统计数据
添加新的 MCP
- 在
mcp/core/中实现一个新的 MCP 类 - 在后端注册它
- 在
mcp/ui/app.py中添加 UI 支持
运行测试
bash
pytest
项目结构
mcp/api/- FastAPI 后端mcp/ui/- Streamlit 前端mcp/core/- 核心 MCP 类型和逻辑tests/- 测试套件
许可
MIT
API 文档
一旦服务器运行起来,你可以访问:
- API 文档:http://localhost:8000/docs
- Prometheus 指标:http://localhost:8000/metrics
- 健康检查:http://localhost:8000/health
- 统计数据:http://localhost:8000/stats
安全
- 所有端点都需要 API 密钥认证
- 默认启用速率限制
- CORS 配置为仅允许特定来源
- 所有敏感配置通过环境变量管理
监控
服务器包括:
- 请求次数、延迟和服务执行的 Prometheus 指标
- 结构化的 JSON 日志
- 健康检查端点
- 服务器统计信息端点
贡献
- 分叉仓库
- 创建功能分支
- 提交你的更改
- 推送到分支
- 创建 Pull Request
Notebook 和 LLM 集成的额外依赖
该项目现在需要以下额外的 Python 包:
- pandas
- numpy
- matplotlib
- papermill
- nbformat
- jupyter
- anthropic
安装所有依赖项:
bash
pip install -r requirements.txt
使用 Notebook MCP 调用 LLM (Claude)
示例笔记本 (mcp/notebooks/example.ipynb) 演示了:
- 数据分析和绘图
- 通过
anthropicPython 包调用 Claude LLM
要使用 LLM 单元格,请确保已在环境或 .env 文件中设置了 ANTHROPIC_API_KEY。
LLM 单元格代码如下:
python
import os
import anthropic
api_key = os.getenv("ANTHROPIC_API_KEY")
if not api_key:
raise ValueError("ANTHROPIC_API_KEY not set in environment!")
client = anthropic.Anthropic(api_key=api_key)
response = client.messages.create(
model="claude-3-sonnet-20240229",
max_tokens=256,
temperature=0.7,
messages=[
{"role": "user", "content": "Tell me a joke about data science."}
]
)
print("Claude says:", response.content[0].text)