Halo LMS Server
БесплатноНе проверенMCP server that provides access to Grand Canyon University's Halo LMS, enabling AI agents to manage classes, assignments, grades, discussions, announcements, in
Описание
MCP server that provides access to Grand Canyon University's Halo LMS, enabling AI agents to manage classes, assignments, grades, discussions, announcements, inbox messages, notifications, and user profiles.
README
MCP server that exposes Grand Canyon University's Halo LMS APIs as tools for AI agents. Provides access to classes, grades, discussions, announcements, inbox messages, notifications, assignment submissions, and user profiles.
Setup
1. Install dependencies
cd HaloMCP
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
2. Configure tokens
Copy the example config and fill in your tokens:
cp config.example.json config.json
Edit config.json with your Halo auth and context tokens (without the Bearer prefix — it's added automatically):
{
"authToken": "eyJ...",
"contextToken": "eyJ...",
"transactionId": "tenant-uuid-user-uuid"
}
Alternatively, set environment variables (these override config.json):
export HALO_AUTH_TOKEN="eyJ..."
export HALO_CONTEXT_TOKEN="eyJ..."
export HALO_TRANSACTION_ID="..."
Running
Claude Code (stdio)
Add to your Claude Code MCP config (~/.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"halo-lms": {
"command": "python",
"args": ["server.py"],
"cwd": "/path/to/HaloMCP"
}
}
}
Direct (stdio)
python server.py
Docker (Streamable HTTP on port 8000)
docker compose up -d
Then add it to Claude Code CLI:
claude mcp add --transport http halo-lms http://localhost:8000/mcp
The Docker container bind-mounts config.json (writable, so token refresh can persist new tokens) and your home directory (read-only) from the host, so file uploads via file_path work the same as stdio mode.
Note: Previous versions used SSE transport (
/sseendpoint). Streamable HTTP (/mcpendpoint) is the current MCP standard and is recommended for all new deployments.
Token Refresh
Halo tokens expire periodically, but the server handles this automatically:
One-time setup
After configuring config.json with your tokens, call the setup_session tool. This creates a long-lived session (~30 days) that enables automatic token refresh.
setup_session → "Session created, expires 2026-03-24T..."
How it works
setup_sessioncalls Halo's next-auth API to create a session from your tokens- The session cookie is stored in
config.json - When tokens expire during any API call, the server automatically:
- Uses the session cookie to fetch fresh tokens
- Saves the new tokens to
config.json - Retries the failed request
- This is completely transparent — no user intervention needed
When the session expires (~30 days)
- Get fresh tokens from your browser (DevTools → Network/Cookies)
- Update
config.jsonwith the newauthTokenandcontextToken - Call
setup_sessionagain
Manual token management
check_tokens— verify current tokens are validreload_tokens— hot-reload tokens from config.jsonrefresh— manually trigger a session-based token refreshsetup_session— create/renew the long-lived session
Available Tools
| Tool | Description |
|---|---|
list_classes |
List all enrolled course classes (call first to populate cache) |
view_assignments |
View assignments organized by unit for a class |
grades |
Get grade overview for a class |
discussions |
List discussion forums for a class |
forum_posts |
Get posts from a discussion forum |
announcements |
Get announcements for a class |
inbox |
List all inbox threads |
inbox_posts |
Get messages from an inbox thread |
message_teacher |
Send a message in an inbox thread |
notifications |
Get unread notification counts |
user |
Get user profile by ID |
upload_assignment_file |
Upload a file to an assignment (absolute file path) |
submit_assignment |
Submit an assignment for grading |
check_tokens |
Validate current auth tokens are working |
reload_tokens |
Hot-reload tokens from config.json without restarting |
setup_session |
Create a ~30-day session for automatic token refresh |
refresh |
Manually refresh tokens using the session cookie |
Установка Halo LMS Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ObadiahF/halo-mcpFAQ
Halo LMS Server MCP бесплатный?
Да, Halo LMS Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Halo LMS Server?
Нет, Halo LMS Server работает без API-ключей и переменных окружения.
Halo LMS Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Halo LMS Server в Claude Desktop, Claude Code или Cursor?
Открой Halo LMS Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Halo LMS Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
