Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

KSU ESS Server

БесплатноНе проверен

MCP server for accessing student information, curriculum, education records, and registration data from Kalasin University's Education Support System via 12 too

GitHubEmbed

Описание

MCP server for accessing student information, curriculum, education records, and registration data from Kalasin University's Education Support System via 12 tools.

README

ระบบ middleware สำหรับเชื่อมต่อกับ KSU ESS (Education Support System) SOAP Web Service ของมหาวิทยาลัยกาฬสินธุ์ ประกอบด้วย:

  1. REST API Server - สำหรับระบบสารสนเทศทางการศึกษา (Web/Mobile)
  2. MCP Server - สำหรับ AI Agents (Claude Desktop, Gemini, etc.)

📋 บริการที่ให้

บริการ คำอธิบาย
ข้อมูลพื้นฐานนักศึกษา ชื่อ-สกุล, คณะ, สาขา, หลักสูตร, อ.ที่ปรึกษา
สถานะนักศึกษา กำลังศึกษา, พ้นสภาพ, สำเร็จการศึกษา
โครงสร้างหลักสูตร ชื่อหลักสูตร, ค้นหาหลักสูตร
โครงสร้างรายวิชา หมวดวิชา, กลุ่มวิชา, รายวิชา (tree structure)
แผนการเรียน รายวิชาทั้งหมด / รายเทอม
วิชายกเว้น วิชาที่ได้รับการยกเว้น
ผลการเรียน เกรด, GPA, GPS, หน่วยกิต (transcript)
ผลการลงทะเบียน ตารางเรียน, สถานที่, อาจารย์ผู้สอน

🚀 การติดตั้ง

1. ติดตั้ง Dependencies

npm install

2. ตั้งค่า 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 mode

3. รัน API Server

# Development (hot reload)
npm run dev:api

# Production
npm run build
npm run start:api

Server จะเริ่มทำงานที่ http://localhost:3000

4. รัน MCP Server

# Development
npm run dev:mcp

# Production
npm run build
npm run start:mcp

📖 API Documentation

เมื่อรัน API Server แล้ว เข้าดูเอกสาร API ได้ที่:

🔗 API Endpoints

System

Method Endpoint คำอธิบาย
GET /api/v1/health Health check

Students

Method Endpoint คำอธิบาย
GET /api/v1/students/:studentNo/profile ข้อมูลพื้นฐาน
GET /api/v1/students/:studentNo/status สถานะนักศึกษา

Curriculum

Method Endpoint คำอธิบาย
GET /api/v1/students/:studentNo/curriculum หลักสูตรของนักศึกษา
GET /api/v1/curriculum?yearNo=&eduLevel=&facultyCode=&majorCode=&programCode= ค้นหาหลักสูตร
GET /api/v1/students/:studentNo/course-structure โครงสร้างรายวิชา

Education Plan

Method Endpoint คำอธิบาย
GET /api/v1/students/:studentNo/education-plan แผนการเรียนทั้งหมด
GET /api/v1/students/:studentNo/education-plan/semester?yearSeq=&semesterId= แผนรายเทอม
GET /api/v1/students/:studentNo/exception-courses วิชายกเว้น

Education Records

Method Endpoint คำอธิบาย
GET /api/v1/students/:studentNo/education-records ผลการเรียนทั้งหมด
GET /api/v1/students/:studentNo/education-records/semester?yearNo=&semesterId= ผลการเรียนรายเทอม

Registration

Method Endpoint คำอธิบาย
GET /api/v1/students/:studentNo/registration การลงทะเบียนทั้งหมด
GET /api/v1/students/:studentNo/registration/semester?yearNo=&semesterId= การลงทะเบียนรายเทอม

🤖 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 คำอธิบาย
get_student_profile ดึงข้อมูลพื้นฐานนักศึกษา
get_student_status ดึงสถานะนักศึกษา
get_curriculum_by_student ดึงหลักสูตรของนักศึกษา
get_curriculum ค้นหาหลักสูตร
get_course_structure ดึงโครงสร้างรายวิชา
get_education_plan_all ดึงแผนการเรียนทั้งหมด
get_education_plan_semester ดึงแผนการเรียนรายเทอม
get_exception_courses ดึงวิชายกเว้น
get_education_records_all ดึงผลการเรียนทั้งหมด
get_education_records_semester ดึงผลการเรียนรายเทอม
get_registration_all ดึงผลการลงทะเบียนทั้งหมด
get_registration_semester ดึงผลการลงทะเบียนรายเทอม

🔒 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

from github.com/worapotso/KSU_ESS_API-MCP_server

Установка KSU ESS Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/worapotso/KSU_ESS_API-MCP_server

FAQ

KSU ESS Server MCP бесплатный?

Да, KSU ESS Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для KSU ESS Server?

Нет, KSU ESS Server работает без API-ключей и переменных окружения.

KSU ESS Server — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить KSU ESS Server в Claude Desktop, Claude Code или Cursor?

Открой KSU ESS Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare KSU ESS Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development