KSU ESS MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@KSU ESS MCP ServerWhat are the education records for student 660112345?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
KSU ESS API Server & MCP Server
ระบบ middleware สำหรับเชื่อมต่อกับ KSU ESS (Education Support System) SOAP Web Service ของมหาวิทยาลัยกาฬสินธุ์ ประกอบด้วย:
REST API Server - สำหรับระบบสารสนเทศทางการศึกษา (Web/Mobile)
MCP Server - สำหรับ AI Agents (Claude Desktop, Gemini, etc.)
📋 บริการที่ให้
บริการ | คำอธิบาย |
ข้อมูลพื้นฐานนักศึกษา | ชื่อ-สกุล, คณะ, สาขา, หลักสูตร, อ.ที่ปรึกษา |
สถานะนักศึกษา | กำลังศึกษา, พ้นสภาพ, สำเร็จการศึกษา |
โครงสร้างหลักสูตร | ชื่อหลักสูตร, ค้นหาหลักสูตร |
โครงสร้างรายวิชา | หมวดวิชา, กลุ่มวิชา, รายวิชา (tree structure) |
แผนการเรียน | รายวิชาทั้งหมด / รายเทอม |
วิชายกเว้น | วิชาที่ได้รับการยกเว้น |
ผลการเรียน | เกรด, GPA, GPS, หน่วยกิต (transcript) |
ผลการลงทะเบียน | ตารางเรียน, สถานที่, อาจารย์ผู้สอน |
Related MCP server: StudentManagementMCP_Server
🚀 การติดตั้ง
1. ติดตั้ง Dependencies
npm install2. ตั้งค่า Environment Variables
cp .env.example .envแก้ไขไฟล์ .env:
ESS_USERNAME=your_ess_username
ESS_PASSWORD=your_ess_password
API_PORT=3000
API_KEY=your_api_key # เว้นว่างไว้สำหรับ development mode3. รัน API Server
# Development (hot reload)
npm run dev:api
# Production
npm run build
npm run start:apiServer จะเริ่มทำงานที่ http://localhost:3000
4. รัน MCP Server
# Development
npm run dev:mcp
# Production
npm run build
npm run start:mcp📖 API Documentation
เมื่อรัน API Server แล้ว เข้าดูเอกสาร API ได้ที่:
Swagger UI: http://localhost:3000/api/docs
OpenAPI JSON: http://localhost:3000/api/docs.json
🔗 API Endpoints
System
Method | Endpoint | คำอธิบาย |
|
| Health check |
Students
Method | Endpoint | คำอธิบาย |
|
| ข้อมูลพื้นฐาน |
|
| สถานะนักศึกษา |
Curriculum
Method | Endpoint | คำอธิบาย |
|
| หลักสูตรของนักศึกษา |
|
| ค้นหาหลักสูตร |
|
| โครงสร้างรายวิชา |
Education Plan
Method | Endpoint | คำอธิบาย |
|
| แผนการเรียนทั้งหมด |
|
| แผนรายเทอม |
|
| วิชายกเว้น |
Education Records
Method | Endpoint | คำอธิบาย |
|
| ผลการเรียนทั้งหมด |
|
| ผลการเรียนรายเทอม |
Registration
Method | Endpoint | คำอธิบาย |
|
| การลงทะเบียนทั้งหมด |
|
| การลงทะเบียนรายเทอม |
🤖 MCP Server Configuration
สำหรับ Claude Desktop
เพิ่มใน claude_desktop_config.json:
{
"mcpServers": {
"ksu-ess": {
"command": "node",
"args": ["d:/devSpace/API/dist/mcp/server.js"],
"env": {
"ESS_USERNAME": "your_username",
"ESS_PASSWORD": "your_password"
}
}
}
}MCP Tools ที่ให้บริการ (12 tools)
Tool | คำอธิบาย |
| ดึงข้อมูลพื้นฐานนักศึกษา |
| ดึงสถานะนักศึกษา |
| ดึงหลักสูตรของนักศึกษา |
| ค้นหาหลักสูตร |
| ดึงโครงสร้างรายวิชา |
| ดึงแผนการเรียนทั้งหมด |
| ดึงแผนการเรียนรายเทอม |
| ดึงวิชายกเว้น |
| ดึงผลการเรียนทั้งหมด |
| ดึงผลการเรียนรายเทอม |
| ดึงผลการลงทะเบียนทั้งหมด |
| ดึงผลการลงทะเบียนรายเทอม |
🔒 Authentication
API Server
ใช้ API Key ผ่าน header
X-API-Keyถ้าไม่ตั้ง
API_KEYใน.envจะเปิดให้ใช้ได้อิสระ (development mode)
ESS Web Service
ใช้ Rijndael-256 (CBC, PKCS7) encryption สำหรับรหัสผ่าน
Key ได้จาก
GetEncryptKey()ใช้ได้ตลอดจนกว่าจะเปลี่ยน
📁 โครงสร้างโปรเจกต์
src/
├── core/ # Shared Core (ใช้ร่วมกันทั้ง API & MCP)
│ ├── types.ts # TypeScript interfaces
│ ├── crypto.ts # Rijndael-256 encryption
│ ├── ess-client.ts # SOAP Client wrapper
│ └── errors.ts # Custom error classes
├── api/ # REST API Server
│ ├── server.ts # Express.js entry point
│ ├── middleware/
│ │ ├── auth.ts # API Key authentication
│ │ ├── error-handler.ts
│ │ └── rate-limiter.ts
│ └── routes/
│ ├── health.ts
│ ├── students.ts
│ ├── curriculum.ts
│ ├── education-plan.ts
│ ├── education-records.ts
│ └── registration.ts
└── mcp/ # MCP Server
├── server.ts # MCP entry point
└── tools/
├── student-tools.ts
├── curriculum-tools.ts
├── education-tools.ts
└── registration-tools.ts🛠 Technology Stack
Runtime: Node.js + TypeScript
API Framework: Express.js
SOAP Client: soap (npm)
Encryption: rijndael-js (Rijndael-256 CBC PKCS7)
MCP SDK: @modelcontextprotocol/sdk
Validation: Zod
API Docs: Swagger (swagger-jsdoc + swagger-ui-express)
📝 License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
8 MCP servers, 104+ tools: memory, social, PDF, email, images, calendar, scheduler, files.
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Related MCP Servers
- FlicenseAqualityBmaintenanceMCP server for querying Chosun University portal, CLC/e-Class, and OJ systems, providing tools to access academic information, timetables, notices, and more.13-
- FlicenseNot gradedqualityBmaintenanceMCP server for student management with CRUD operations, supporting user authentication and student record management.-
- FlicenseNot gradedqualityCmaintenanceEnables querying student information such as marks, attendance, pending assignments, and timetables from a MySQL database through MCP tools.-
- FlicenseNot gradedqualityCmaintenanceMCP server for querying student information, validating result data, and analyzing student results from a local database.-