Naevneneshus MCP服务器和监控仪表板
搜索和监控丹麦上诉委员会(naevneneshus.dk)门户的全面解决方案,内置查询日志和实时监控功能。
特性
MCP服务器(支持边缘功能)
- 兼容OpenAPI 3.0 -完整的OpenAPI规范,便于集成
- 多门户支持 -适用于任何
*.naevneneshus.dk门户 - 自动查询日志记录 -所有搜索记录到Supabase数据库
- 误差跟踪 -捕获并记录失败的查询
- 性能监控 -跟踪所有请求的执行时间
- RESTful API -用于搜索、提要和发布检索的干净端点
Web仪表板
- 实时监控 -通过Supabase订阅实时更新
- 14天查询历史 -查看过去两周的所有查询
- 自动警报 -突出显示0个结果或>50个结果的查询
- 统计概述 -查询总数、空结果、大结果、错误
- 交互式搜索 -直接从web界面测试MCP服务器
OpenWebUI集成
- 简化工具 -易于与OpenWebUI集成
- 所有复杂性均由MCP服务器处理 -查询构建、日志记录、错误处理
- 干净的回应 -已格式化的结果已准备好供AI使用
建筑
┌─────────────┐
│ OpenWebUI │
│ Function │
└──────┬──────┘
│
│ HTTP POST
▼
┌──────────────────┐
│ MCP Server │
│ (Edge Function) │
└──────┬───────────┘
│
├─────────────┐
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Portal APIs │ │ Supabase │
│ (*.naevnene- │ │ Database │
│ shus.dk) │ │ (query_logs) │
└──────────────┘ └──────────────┘
│ │
│ │
└─────────┬────────┘
│
▼
┌─────────────────┐
│ Web Dashboard │
│ (React App) │
└─────────────────┘安装说明
1.数据库设置
数据库架构已通过迁移创建。它包括:
query_logs用于存储所有搜索查询的表- 用于高效查询的索引
- 行级安全(RLS)策略
2.MCP服务器部署
MCP服务器作为Supabase边缘功能部署在:
https://YOUR_SUPABASE_URL/functions/v1/naevneneshus-mcp终点:
POST /search-搜索出版物POST /feed-获取最新出版物POST /publication-按ID获取特定出版物GET /portals-列出可用门户GET /health-健康检查GET /openapi.json-OpenAPI 3.0规范
3.Web仪表板设置
- 安装依赖项:
npm install- 环境变量已在中配置
.env
- 运行开发服务器:
npm run dev- 生产建设:
npm run build4.OpenWebUI集成
看 OPENWEBUI_INTEGRATION.md 详细说明。
快速设置:
- 从获取您的Supabase URL和匿名密钥
.env - 从集成指南中复制Python工具代码
- 更新工具中的凭据
- 将该工具添加到OpenWebUI
支持的门户
- mfkn.naevneneshus.dk 环境 和 食品 委员
- aen.naevnenshus.dk -Ankestyrelsen
- ekn.naevnenshus.dk 能源 法案 委员
- pn.naevneneshus.dk 计划 上诉 委员
- 任何其他
*.naevneneshus.dk门户
API示例
搜索请求
curl -X POST https://YOUR_SUPABASE_URL/functions/v1/naevneneshus-mcp/search \\
-H "Authorization: Bearer YOUR_ANON_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"portal": "mfkn.naevneneshus.dk",
"query": "jordforurening",
"page": 1,
"pageSize": 10,
"filters": {
"category": "ruling",
"dateRange": {
"start": "2024-01-01",
"end": "2025-01-27"
}
}
}'订阅源请求
curl -X POST https://YOUR_SUPABASE_URL/functions/v1/naevneneshus-mcp/feed \\
-H "Authorization: Bearer YOUR_ANON_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"portal": "mfkn.naevneneshus.dk"
}'监控仪表板
web仪表板提供:
统计卡
- 查询总数 -过去14天内的所有查询
- 空结果 -查询返回0个结果(突出显示以供查看)
- 大型结果 -返回>50个结果的查询(突出显示以供查看)
- 错误 -查询失败
查询历史表
显示所有查询:
- 时间戳
- 门户
- 查询字符串
- 结果计数(颜色编码)
- 执行时间
- 状态(成功/错误)
实时更新
当通过Supabase实时订阅记录新查询时,仪表板会自动更新。
警报系统
系统会自动突出显示需要注意的查询:
- 空结果(黄色) -返回0个结果的查询
- 可能表明搜索词需要改进 - 可能表示数据可用性问题
- 大结果(橙色) -返回>50个结果的查询
- 可能太宽泛了 - 可能会影响性能
- 错误(红色) -查询失败
- 网络问题 - 无效参数 - 门户不可用
益处
适用于OpenWebUI用户
- 简化集成 -Python中没有复杂的查询构建
- 自动记录 -自动跟踪所有查询
- 更好的错误处理 -一致的错误消息
- 多门户支持 -适用于所有门户的单一工具
对于管理员
- 完全可视 -查看所有查询及其结果
- 性能监控 -跟踪执行时间
- 问题检测 -问题自动警报
- 使用情况分析 -了解查询模式
对于开发者
- 清洁API -记录良好的RESTful端点
- 类型安全性 -TypeScript贯穿始终
- 可扩展的 -基于Supabase基础设施构建
- 可扩展 -易于添加新功能
技术栈
- 前端:React、TypeScript、顺风CSS、Lucide图标
- 后端:Supabase边缘函数(Deno)
- 数据库:Supabase PostgreSQL
- 实时:Supabase实时订阅
- 构建:快
- 部署:Supabase主机
发展
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Run linter
npm run lint
# Type check
npm run typecheck环境变量
创建一个 .env 文件包含:
VITE_SUPABASE_URL=your-supabase-url
VITE_SUPABASE_ANON_KEY=your-anon-key许可证
麻省理工学院
支持
对于问题或疑问:
- 检查 集成指南
- 查看监控仪表板以了解查询问题
- 检查辅助数据库日志中的边缘函数错误
