C

Chunkys0up7

@Chunkys0up7/MCP
0 Stars 292 次浏览 Chunkys0up7 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

模型上下文协议 (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 日志
  • 健康检查端点
  • 服务器统计信息端点

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 提交你的更改
  4. 推送到分支
  5. 创建 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) 演示了:

  • 数据分析和绘图
  • 通过 anthropic Python 包调用 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)

相关 MCP 服务