📄 JNTUH结果MCP服务器
A. 烧瓶 + FastMCP 帮助学生的服务器 搜索、筛选和下载JNTUH结果 作为PDF。\ 它同时支持a REST API 对于web客户端和 MCP(模型上下文协议) Claude Desktop等人工智能助手的界面。
✨ 特性
- 搜索结果 通过:
- 学位类型(理学士、药学学士、医学技术硕士、药学硕士) - 学年、学期、规章制度 - 考试类型(常规/补充) - RC/RV结果过滤器
- 生成结果PDF 适用于任何大厅票号(HTNO)
- 下载结果 直接从服务器以PDF格式
- CSV数据示例 如果不存在,则提供
- MCP支持 集成到Claude Desktop或其他启用MCP的客户端
- CORS已启用 便于前端集成
📂 项目结构
project/
├── results_data/ # Results dataset directory (auto-created)
│ └── jntuh_results.csv # Auto-generated sample data if not exists
├── static/
│ └── pdfs/ # Generated result PDFs (auto-created)
├── app.py # Flask REST API server
├── mcp.py # MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
├── .gitattributes # Git attributes
└── .gitignore # Git ignore rules⚙️ 安装
1.️⃣ 克隆存储库
git clone https://github.com/yourusername/jntuh-results-mcp.git
cd jntuh-results-mcp二️⃣ 安装依赖关系
pip install -r requirements.txt依赖关系:
- 烧瓶
- 瓶子-CORS
- 熊猫
- 请求:
- weasyprint
- mcp(具体
mcp.server.fastmcp)
🚀 运行服务器
选项1-作为REST API运行
python app.py默认情况下,它运行在:
http://0.0.0.0:5000可用端点:
- 健康检查:
GET /api/health - 获取MCP上下文:
GET /api/mcp/context - 搜索结果:
POST /api/mcp/action/search_results - 生成PDF:
POST /api/mcp/action/generate_result - 下载PDF:
GET /static/pdfs/
选项2——作为MCP服务器运行
python mcp.py注: MCP服务器运行 transport="stdio" 并且被设计为与MCP兼容的客户端(如Claude Desktop)一起使用。
🤖 MCP集成
Claude桌面配置
添加到您的Claude Desktop配置文件中:
{
"mcpServers": {
"jntuh-results": {
"command": "python",
"args": ["path/to/mcp.py"]
}
}
}MCP提示流
当与Claude Desktop或任何兼容MCP的AI助手一起使用时:
- 向用户询问学位类型
- 询问年份→ 学期→ 法规
- 询问考试类型→ RC/RV过滤器
- 使用
filter_results获取匹配结果的工具 - 询问大厅票号
- 使用
get_result_pdf生成和共享PDF的工具
📊 API使用示例
搜索结果
curl -X POST http://localhost:5000/api/mcp/action/search_results \
-H "Content-Type: application/json" \
-d '{
"degree_type": "BTech",
"year": "IV",
"semester": "I",
"regulation": "R18",
"exam_type": "Supplementary",
"rc_rv": "No"
}'生成结果PDF
curl -X POST http://localhost:5000/api/mcp/action/generate_result \
-H "Content-Type: application/json" \
-d '{
"examCode": "1866",
"htno": "18A81A0501"
}'🛠️ 发展
以开发模式运行
export FLASK_ENV=development
python app.py测试MCP工具
# Test the MCP server
python mcp.py可用的MCP工具
get_filter_options():获取搜索结果的可用筛选器选项filter_results():根据标准筛选结果(学位类型、年份、学期、法规、考试类型、is_rc_rv)get_result_pdf():使用exam_code和htno为学生生成PDF结果
可用MCP资源
jntuh://results/all:从CSV数据中获取所有可用结果
📝 备注
- 自动生成的样本数据:项目会自动创建示例
jntuh_results.csv如果文件不存在,则返回7条示例记录 - 目录创建:两者都有
results_data/和static/pdfs/目录由应用程序自动创建 - PDF存储:生成的PDF保存在
static/pdfs/使用基于时间戳的文件名:result_{htno}_{exam_code}_{timestamp}.pdf - 双服务器架构:用于web客户端的Flask REST API,用于AI助手的FastMCP服务器
- 错误处理:两台服务器都包括对无效的大厅票号和考试代码的全面错误处理
- 如果被滥用,JNTUH结果系统可能会阻止请求。保持交通合理
- 确保您拥有适当的权限并遵守JNTUH的服务条款
📄 许可证
该项目根据MIT许可证获得许可。
🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
⚠️ 免责声明
此工具用于教育目的。请尊重JNTUH的服务器和服务条款。作者不对任何滥用此软件的行为负责。
📞 支持
如果您遇到任何问题或有疑问:
- 在GitHub上打开一个问题
- 联系人:harshrb2424@gmail.com
______________________________________________________________________
由以下材料制成❤️ JNTUH学生
