Token导航 LogoToken导航TokenDH.com
MCP Agent Dashboard logo
数据服务stdio官方级别未说明来源级核验

MCP Agent Dashboard

MCP Server

一个基于LangGraph和MCP(模型-连接器-代理)模式的学生数据分析代理,用于分析学生表现数据,识别风险学生,并提供AI驱动的洞察。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
TypeScript数据分析性能监控

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dicksarp09

提供方

dicksarp09

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

LangGraph——MCP支持的学生分析代理

![Python](https://www.python.org/) ![FastAPI](https://fastapi.tiangolo.com/) ![React](https://react.dev/) ![License](LICENSE)

一个生产就绪的LangGraph风格的代理,通过最小的MCP(模型连接器代理)服务器安全地路由用户请求,以分析学生的表现数据。专为安全性、可观察性和优雅的故障处理而设计。

______________________________________________________________________

目录

- 单线安装 - 手动设置

______________________________________________________________________

概述

该系统帮助教育工作者分析学生表现数据,以识别有风险的学生,跟踪成绩趋势,并通过人工智能助手界面获得见解。

为什么选择MCP? 模型连接器代理模式在人工智能推理和数据访问之间建立了严格的界限。这通过确保LLM只对意图进行分类,而所有数据操作都通过确定性、可审计、只读的通道,防止了“LLM即系统”的反模式。

______________________________________________________________________

特性

  • 人工智能驱动的分析 --关于具有LLM意图解析和确定性回退的学生的自然语言查询
  • 性能分析 --学生总结、趋势检测、风险评估和班级排名
  • 实时仪表板 --带有KPI、图表和排行榜的React+TypeScript接口
  • 综合可观察性 --Prometheus度量、分布式跟踪和LLM成本跟踪
  • 安全第一设计 --只读MCP服务器、投影白名单、输入验证
  • 故障弱化 --在没有LLM(启发式回退)和MongoDB(模拟数据)的情况下工作

______________________________________________________________________

快速开始

先决条件

  • Python 3.10+
  • Node.js 18+
  • MongoDB(本地或Atlas)-- *或者使用Docker进行一次命令设置*

单线安装

curl -sSL https://raw.githubusercontent.com/dicksarp09/mcp-agent-dashboard/main/install.sh | bash

这将:

  1. 克隆存储库
  2. 设置Docker容器(MongoDB、后端、前端)
  3. 配置环境变量
  4. 启动所有服务

访问仪表板: http://localhost:3000

手动设置

1.后端设置

# Create virtual environment
python -m venv .venv
.venv\Scripts\activate  # Windows
# source .venv/bin/activate  # Mac/Linux

# Install dependencies
pip install -r requirements.txt

# Create .env file
cat > .env << EOL
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/
MONGO_DB=student-db
MONGO_COLLECTION=student_performance.records
GROQ_API_KEY=your_groq_api_key_here
EOL

# Start the MCP server
python start_server.py

服务器在上运行 http://127.0.0.1:8000

2.前端设置

cd web
npm install
npm run dev

仪表板运行 http://localhost:3000

3.访问应用程序

打开 http://localhost:3000 在您的浏览器中。

______________________________________________________________________

建筑

┌─────────────────┐
│  React Client   │
│   (Dashboard)   │
└────────┬────────┘
         │ HTTP/REST
         ▼
┌─────────────────────────────────────┐
│       LangGraph Agent Layer         │
│  ┌──────────────────────────────┐  │
│  │  Intent Classification Node  │  │ ← Rule-based + LLM fallback
│  └──────────┬───────────────────┘  │
│             ▼                       │
│  ┌──────────────────────────────┐  │
│  │   Input Validation Node      │  │ ← Security checkpoint
│  └──────────┬───────────────────┘  │
│             ▼                       │
│  ┌──────────────────────────────┐  │
│  │   MCP Tool Invocation Node   │  │ ← Database interaction
│  └──────────┬───────────────────┘  │
│             ▼                       │
│  ┌──────────────────────────────┐  │
│  │   Performance Analysis Node  │  │ ← Deterministic computation
│  └──────────┬───────────────────┘  │
│             ▼                       │
│  ┌──────────────────────────────┐  │
│  │   Response Formatting Node   │  │
│  └──────────────────────────────┘  │
└─────────────────┬───────────────────┘
                  │ MCP Protocol
                  ▼
         ┌─────────────────┐
         │   MCP Server    │
         │  ┌───────────┐  │
         │  │   Cache   │  │ ← In-memory (1,295x speedup)
         │  └─────┬─────┘  │
         │        ▼         │
         │  ┌───────────┐  │
         │  │Projection │  │ ← Security whitelist
         │  │Whitelist  │  │
         │  └─────┬─────┘  │
         └────────┼─────────┘
                  │ Read-only
                  ▼
         ┌─────────────────┐
         │  MongoDB Atlas  │
         │  (Students DB)  │
         └─────────────────┘

关键组件

  • 代理 (src/agent.py)--使用可观察性检测来编排LangGraph节点
  • MCP服务器 (src/mcp_server.py)--具有安全白名单的只读MongoDB访问
  • 性能分析器 (src/performance_analyzer.py)--确定性分析逻辑
  • 可观测性 (src/observability.py)--度量、跟踪和成本跟踪

系统设计

有关涵盖架构、安全性、弹性和可观察性的55个问题的详细系统设计评估,请参阅 SYSTEM_DESIGN.md.

______________________________________________________________________

API概述

健康与信息

  • GET / -API信息和状态
  • GET /health --健康检查
  • GET /docs --Swagger用户界面文档

学生查询

  • POST /query --按ID查询单个学生
  • POST /analyze/summary --学生表现总结
  • POST /analyze/trend --品位趋势分析
  • POST /analyze/risk --风险评估
  • POST /class_analysis --班级级别分析

查询示例

curl -X POST http://localhost:8000/query \
  -H "Content-Type: application/json" \
  -d '{"student_id": "689cef602490264c7f2dd235", "fields": ["name", "G1", "G2", "G3"]}'

有关API的完整文档,请参阅 API_README.md.

______________________________________________________________________

可观测性

该系统包括覆盖80%生产需求的综合可观测性。

可用指标

  • 请求度量 --按节点/查询类型列出的请求总数和失败次数
  • 延迟度量 --每个节点的执行时间、MCP调用、LLM调用
  • 缓存指标 --命中率/未命中率(观察到高达1295倍的加速)
  • 成本跟踪 --LLM代币使用情况和每个模型的估计美元成本

分布式追踪

每个请求都通过具有相关ID的所有5个代理节点进行跟踪:

  • agent.intent --意图解析
  • agent.validation --请求验证
  • agent.mcp_call --MCP服务器调用
  • agent.analysis --性能分析
  • agent.response --响应综合

访问指标

from src.observability import get_metrics_summary

summary = get_metrics_summary()
print(f"Cache hits: {summary['cache_hits']}")
print(f"Total LLM cost: ${sum(summary['llm_cost_usd'].values())}")

Prometheus指标端点: GET /metrics

有关详细的可观察性文档,请参阅 可维护性\_ SUMMARY.md.

______________________________________________________________________

发展

项目结构

mcp-agent-dashboard/
├── src/
│   ├── main.py                    # FastAPI application
│   ├── agent.py                   # LangGraph agent
│   ├── mcp_server.py              # MCP server
│   ├── performance_analyzer.py    # Analytics logic
│   └── observability.py           # Metrics & tracing
├── web/                           # React frontend
├── SYSTEM_DESIGN.md               # Detailed system design
├── DEPLOYMENT.md                  # Deployment guide
└── README.md                      # This file

运行测试

# Backend tests
pytest

# Frontend tests
cd web
npm test

代码质量

# Type checking (frontend)
cd web
npx tsc --noEmit

# Linting (frontend)
npm run lint

环境变量

创建一个 .env 项目根目录中的文件:

# MongoDB (Required for real data)
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/
MONGO_DB=student-db
MONGO_COLLECTION=student_performance.records

# Groq API (Optional - for LLM intent parsing)
GROQ_API_KEY=your_groq_api_key_here

# Without MongoDB credentials, the server runs with mock data

______________________________________________________________________

路线图

当前限制

  • 风险阈值是硬编码的(G3\<10)
  • 不支持多租户
  • 没有可通过UI配置的策略
  • 生产部署需要手动设置

计划的功能

  • \[\]通过管理界面可配置风险阈值
  • \[\]具有数据隔离功能的多租户支持
  • \[\]高级分析(预测建模)
  • \[\]移动响应式仪表板改进
  • \[\]Kubernetes部署模板
  • \[\]用于快速更改的A/B测试框架
  • \[\]异常查询模式的异常检测
  • \[\]符合GDPR的数据删除工作流程

______________________________________________________________________

安全与最佳实践

  • 投影白名单 --MCP只允许特定字段
  • 只读访问 --通过MCP无写入操作
  • 输入验证 --所有输入上的Pydantic验证器
  • 指标中没有原始数据 --可观察性仅使用低基数标签
  • 跟踪上下文 --分布式跟踪,不暴露敏感数据
  • 成本跟踪 -静态定价,无外部API调用

______________________________________________________________________

故障排除

后端无法启动

  • 检查端口8000是否空闲: netstat -ano | findstr :8000
  • 在中验证MongoDB凭据 .env
  • 检查日志中的连接错误

前端无法连接

  • 确保后端在端口8000上运行
  • 检查浏览器控制台是否存在CORS错误
  • 验证 vite.config.ts 代理设置

LLM不工作

  • 检查 GROQ_API_KEY.env
  • 如果LLM失败,系统将退回启发式解析
  • 检查日志中是否有“LLM解析失败”消息

Docker问题

部署.md 了解Docker的详细故障排除。

______________________________________________________________________

支持

对于问题和疑问:

______________________________________________________________________

贡献

  1. 克隆该仓库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

______________________________________________________________________

内置于 FastAPI、React、LangGraph和MongoDB

目录标签

目录标签

TypeScript数据分析性能监控学生分析本地部署AI驱动教育科技

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP