Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Query Moodle LMS data through natural language. Attach your agent to your LMS data.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MOODLE_URL, MOODLE_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"moodle-aql": {
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "ใส่ค่าของคุณ",
"MOODLE_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add moodle-aql --env MOODLE_URL='ใส่ค่าของคุณ' --env MOODLE_TOKEN='ใส่ค่าของคุณ' -- npx -y moodle-mcp-server-aqlเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"moodle-aql": {
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "ใส่ค่าของคุณ",
"MOODLE_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"moodle-aql": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"moodle-mcp-server-aql"
],
"env": {
"MOODLE_URL": "ใส่ค่าของคุณ",
"MOODLE_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub csmediapro ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: MOODLE_URL, MOODLE_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.6) เข้า registry 42 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
List courses; add users to courses, remove course access or delete users in MemberVault.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Ask your Moodle instance anything. Get structured answers in seconds.
moodle-mcp-server is an open-source MCP (Model Context Protocol) server that connects AI agents directly to Moodle's Web Services API. It is the first reference implementation of the Agentic Query Layer (AQL) pattern — a software design pattern for giving large language models safe, permission-aware, read-only access to structured data.
Instead of learning report builders, writing SQL, or exporting CSVs, you ask questions in plain English — the AI agent queries your LMS and returns structured data.
AQL pattern: https://csmediapro.com/notes/agentic-query-layer Project home: https://csmediapro.com/products/moodle-mcp-server npm package: https://www.npmjs.com/package/moodle-mcp-server-aql MCP Registry: io.github.csmediapro/moodle-mcp-server-aql
Most users launch the server through an MCP client such as Claude Desktop:
{
"mcpServers": { "moodle-mcp-server-aql": { "command": "npx", "args": ["-y", "moodle-mcp-server-aql"], "env": { "MOODLE_URL": "https://your-moodle-instance.example", "MOODLE_TOKEN": "your-moodle-web-services-token" } } } }
# Clone the repo
git clone https://github.com/csmediapro/moodle-mcp-server cd moodle-mcp-server
npm install
cp packages/server/.env.example packages/server/.env
npm run server:build node packages/server/dist/index.js
User field display settings are generated per Moodle instance and stored locally at packages/server/data/user-field-schema.json. This file is intentionally ignored by git because it can include site-specific custom profile fields.
After connecting to a Moodle site, run the refresh_user_field_schema tool once to discover available standard and custom user fields. A minimal example shape is included at packages/server/data/user-field-schema.example.json.
Separately installed plugins can use this schema to flatten custom profile fields into stable keys such as school. The premium user-directory plugin, for example, uses it to cache and summarize full-user directory fields outside the OSS core.
The core owns two different server identity fields:
server.id — stable machine identity, for example mcp_8f3k2q9xserver.name — human-facing display labelIf server.id is missing, the core generates one once and persists it to the resolved config file before startup continues.
Environment overrides:
MOODLE_MCP_CONFIG or MOODLE_MCP_SERVER_CONFIG — choose the config file pathSERVER_ID — explicit server.id overrideSERVER_NAME — explicit server.name overrideSERVER_VERSION — explicit server.version overrideIf server.id is missing and the resolved config path is not writable, startup fails deliberately.
# From the project root
cp packages/client/.env.example packages/client/.env npm run client:dev
The client will auto-detect your Moodle instance and present a chat interface where you can ask questions in plain English.
moodle-mcp-server needs an AI model to power the natural-language interface. You bring the model — the moodle-mcp-server core and reference client support any MCP-compatible provider.
Running a local model keeps all data on your own hardware — nothing leaves your network. Modern quantized models run well on consumer GPUs and even CPU-only setups.
Performance: A quantized 24B model on a single RTX 3090 delivers ~1.5-second responses after the first query — faster than most cloud APIs once the system is initialized.
# Install Ollama: https://ollama.com
ollama pull gemma3:12b # Fast, reliable tool use (~200ms TTFT) ollama pull qwen3:14b # Strong reasoning, good for complex queries ollama pull deepseek-r1:14b # Excellent at multi-step chains
Then point the reference client at http://localhost:11434 (Ollama's default).
# Download a GGUF model (example: Devstral 24B Q4)
llama-server -m devstral-24b-Q4_K_M.gguf --ctx-size 60000 --port 8080
Point the reference client at http://localhost:8080/v1.
| Model | Size | Best For | Hardware |
|---|---|---|---|
| Gemma 3 12B | ~7 GB VRAM | Fast tool calls, straightforward queries | Single consumer GPU |
| Qwen 3 14B | ~8.5 GB VRAM | Complex reasoning, multi-tool chains | Single consumer GPU |
| Devstral 24B Q4 | ~14.5 GB VRAM | Maximum capability, 60K context | RTX 3090 / 4090 |
Anthropic (Claude):
export ANTHROPIC_API_KEY=sk-ant-...
Select "Anthropic" in the reference client's provider dropdown. Claude Sonnet offers the most reliable tool-calling behavior.
OpenAI (GPT):
export OPENAI_API_KEY=sk-...
Select "OpenAI" in the provider dropdown. GPT-4o performs well on structured queries.
Ollama Cloud: Uses the same API as local Ollama, hosted at https://ollama.com/v1. Good middle ground — faster than local cold starts, more private than big cloud providers.
Claude Desktop connects to the moodle-mcp-server core directly over stdio — no reference client needed.
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": { "moodle-mcp-server": { "command": "node", "args": ["/path/to/moodle-mcp-server/packages/server/dist/index.js"], "env": { "MOODLE_URL": "https://your-moodle-instance.com", "MOODLE_TOKEN": "your-api-token" } } } }
Restart Claude Desktop. The server's tools will appear in Claude's tool list — ask questions directly.
| Tool | Description |
|---|---|
list_courses | Full course catalog with category drill-down |
get_course | Detail view for any course |
list_course_users | Enrolled users with roles and access data (now supports course name search with interactive selection) |
list_assignments | All assignments with due dates |
list_categories | Full hierarchy with exact parent resolution |
get_site_info | Instance overview — site name, version, course count |
get_user | Detail view for a Moodle user |
list_user_courses | Courses for a specific user |
search_users | User search by standard Moodle identity fields |
search_courses_by_name | Search for courses by name with partial matching and interactive selection |
This project is a reference implementation of the Agentic Query Layer (AQL) pattern — a layer that sits between an AI agent and your data, providing permission-aware, read-only, plain-language access without exposing the underlying data to the model.
User (plain English question)
│ ▼ AI Agent (Claude / GPT / Gemini / Ollama / local) │ ▼ MCP Protocol moodle-mcp-server ← AQL connector for Moodle ├── Tool Registry (core + plugins) ├── Agent Runtime Config (core + plugin rules) ├── Optimized Data Layer (secure, efficient data handling) └── Moodle Client (REST API calls) │ ▼ Moodle Web Services API
dist/index.js — runs as a subprocess, used by Claude Desktop and similar clientsThe OSS core intentionally ships with stdio only. Any network-facing wrapper, remote supervision, or premium plugin attachment belongs in a separate commercial node agent or wrapper.
AGPL v3 — see LICENSE.
This means you can:
moodle-mcp-server core for free, in any environmentYou cannot:
moodle-mcp-server core as a closed-source competing commercial productMoodle is a trademark of Moodle Pty Ltd. moodle-mcp-server is an independent CSMediaPro project and is not affiliated with, endorsed by, sponsored by, or officially connected to Moodle Pty Ltd or the Moodle project. The name is used descriptively to identify compatibility with Moodle LMS.
moodle-mcp-server is built and maintained by CSMediaPro, a software development company specializing in AI integration, systems engineering, and workflow automation. It is the first reference implementation of the Agentic Query Layer (AQL) pattern.