模型上下文协议服务器

Vallam MCP服务器是一个连接ChatGPT(或其他基于LLM的工具)与Vallam Django核心应用的模型上下文协议服务器,用于安全访问学生评估、性能分析和教师仪表板等组织数据。

  • by pokhiii
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pokhiii/vallam-mcp-server

使用说明

Vallam MCP服务器

此存储库包含 模型上下文协议(MCP) 用于连接ChatGPT(或其他基于LLM的工具)和 Vallam Django核心应用.
它使人工智能助手能够安全地访问组织数据,如学生评估、绩效分析和教师仪表板。


🧠 概述

MCP服务器公开标准 MCP工具 (search, fetch)ChatGPT可用于:

  • 识别有困难的学生
  • 检索学生进度报告
  • 从基于Django的核心应用程序查询结构化数据

它由以下部分组成:

  • FastMCP --轻量级MCP服务器框架
  • 快速API -高性能web API
  • 吸烟 --用于本地开发期间的安全HTTPS隧道

⚙️ 安装说明(适用于新开发人员)

1.克隆存储库

git clone https://github.com/<your-org>/vallam-mcp-server.git
cd vallam-mcp-server

2.创建并激活虚拟环境

python3 -m venv venv
source venv/bin/activate

3.安装依赖项

pip install -r requirements.txt

🔧 配置

创建一个 .env 项目根目录中的文件(复制 .env.example 如果提供):

CORE_APP_URL=http://127.0.0.1:8000
SERVICE_AUTH_TOKEN=replace_with_your_django_api_token

📝 CORE_APP_URL 指向Django核心应用程序(开发或暂存)。
SERVICE_AUTH_TOKEN 是Django API的身份验证令牌。


🚀 运行服务器

在中运行服务器 HTTP传输模式:

python server.py

预期产量:

FastMCP 2.13.x
Server URL: http://0.0.0.0:8010/mcp
Transport: HTTP

验证它是否有效:

curl -X POST http://127.0.0.1:8010/mcp/search   -H "Content-Type: application/json"   -d '{"query": "find struggling students"}'

🌐 通过HTTPS公开(适用于ChatGPT)

由于ChatGPT需要 公共HTTPS端点,使用 吸烟:

1.安装并连接ngrok

brew install ngrok  # macOS
ngrok config add-authtoken <your_auth_token>

2.暴露MCP服务器

ngrok http 8010

您将看到:

Forwarding  https://abc123.ngrok.io -> http://localhost:8010

在ChatGPT中使用此HTTPS URL:

https://abc123.ngrok.io/mcp

🤖 在ChatGPT中添加连接器

  1. 打开 ChatGPT→ 设置→ 应用程序和连接器→ 创建
  2. 选择 添加自定义连接器
  3. 填写:
    • 姓名: Vallam MCP服务器
    • 说明: Vallam基于Django的学生系统的ChatGPT连接器
    • MCP服务器URL: https://abc123.ngrok.io/mcp
    • 身份验证: 无身份验证
  4. ✅ 勾选“我理解并想继续”
  5. 点击 创建

✅ 健康检查端点

您可以直接验证服务器状态:

curl http://127.0.0.1:8010/health

预期响应:

{"status": "ok", "server": "Vallam MCP", "transport": "http"}

📁 项目结构

vallam-mcp-server/
│
├── server.py            # Main MCP server (FastMCP)
├── requirements.txt     # Python dependencies
├── .env.example         # Example environment config
├── README.md            # This file
└── venv/                # Local virtual environment (excluded via .gitignore)

🧪 常见问题

症状 可能原因 修复
TypeError: 'FastMCP' object is not callable 试过了 uvicorn server:app 跑步 python server.py 相反
ChatGPT说“不安全的URL” 使用免费的ngrok域名 使用付费的ngrox子域(yourname.ngrok.io)或部署到Render
/sse 404 FastMCP HTTP模式使用 /mcp,不 /sse 使用 /mcp 端点
OAuth相关的404 默认情况下进行ChatGPT检查 可以忽略

👥 维护者

  • 业主: Vallam人工智能平台团队
  • 联系人: ai@vallam.school

🪪 许可证

麻省理工学院许可证©2025 Vallam AI