智能学校MCP服务器
  ](https://pypi.org/project/smartschool-mcp/)  
将Claude(和其他MCP客户端)连接到您的Smartschool帐户——用通俗易懂的语言询问成绩、作业、消息和日程安排。
工具
| 工具 | 它做什么 |
|---|---|
get_courses | 列出已注册的课程及其教师信息 |
get_results | 具有可选过滤、分页和统计功能的成绩 |
get_future_tasks | 按日期组织的即将到来的作业 |
get_messages | 收件箱/已发送/垃圾箱,带有搜索、发件人筛选和正文检索功能 |
get_schedule | 按偏移量计算的日程表(0=今天,1=明天,…) |
get_periods | 本学年的学术术语 |
get_reports | 可用的报告卡 |
get_planned_elements | 未来N天的计划项目 |
get_student_support_links | 学校支持资源和链接 |
get_attachments | 列出特定邮件的附件 |
download_attachment | 按邮件和文件ID下载特定附件 |
快速入门--克劳德桌面
uvx mcp install smartschool-mcp \
-e SMARTSCHOOL_USERNAME="you" \
-e SMARTSCHOOL_PASSWORD="secret" \
-e SMARTSCHOOL_MAIN_URL="school.smartschool.be" \
-e SMARTSCHOOL_MFA="YYYY-MM-DD"或手动添加到 claude_desktop_config.json:
{
"mcpServers": {
"smartschool": {
"command": "uvx",
"args": ["smartschool-mcp"],
"env": {
"SMARTSCHOOL_USERNAME": "you",
"SMARTSCHOOL_PASSWORD": "secret",
"SMARTSCHOOL_MAIN_URL": "school.smartschool.be",
"SMARTSCHOOL_MFA": "YYYY-MM-DD"
}
}
}
}配置文件位置: %APPDATA%\Claude\claude_desktop_config.json (Windows)· ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)· ~/.config/Claude/claude_desktop_config.json (Linux)
远程/claude.ai
服务器支持 可流式传输的HTTP 在claude.ai上用作远程集成的传输。
单用户模式
一个服务器实例,您在环境变量中的凭据:
export SMARTSCHOOL_USERNAME="..."
export SMARTSCHOOL_PASSWORD="..."
export SMARTSCHOOL_MAIN_URL="school.smartschool.be"
export SMARTSCHOOL_MFA="YYYY-MM-DD"
export MCP_API_KEY="a-long-random-secret" # optional but recommended
smartschool-mcp --transport streamable-http --host 0.0.0.0 --port 8000添加到claude.ai→ 设置→ 集成:
- 网址:
https://your-domain.example.com/mcp - 授权标头:
Bearer(如果设置)
通用模式
一个托管服务器实例提供服务 任何 Smartschool用户--无需按用户部署。
smartschool-mcp --transport streamable-http --universal --host 0.0.0.0 --port 8000每次请求都会传递凭据:
| 什么 | 在哪里 | 示例 |
|---|---|---|
| 学校URL | URL查询参数 school | ?school=myschool.smartschool.be |
| 出生日期(MFA) | URL查询参数 mfa | &mfa=2000-01-15 |
| 用户名 | OAuth客户端ID | 您的Smartschool用户名 |
| 密码 | OAuth客户端密码 | 您的Smartschool密码 |
在claude.ai→ 设置→ 集成→ 添加自定义连接器:
- 网址:
https://your-domain.example.com/mcp?school=myschool.smartschool.be&mfa=YYYY-MM-DD - OAuth客户端ID: 您的Smartschool用户名
- OAuth客户端密码: 您的Smartschool密码
多因素认证 你的出生日期是YYYY-MM-DD格式。省略mfaparam,如果您的帐户不需要它。
使服务器可公开访问
Claude.ai需要HTTPS。一些选项:
| 选项 | 命令 |
|---|---|
| Cloudflare隧道 | cloudflared tunnel --url http://localhost:8000 |
喝 。 ngrok http 8000 | |
| VPS | 带有Let's Encrypt证书的nginx/Caddy |
环境变量
| 变量 | CLI标志 | 默认值 | 描述 |
|---|---|---|---|
MCP_TRANSPORT | --transport | stdio | stdio 或 streamable-http |
MCP_HOST | --host | 0.0.0.0 | 绑定地址(仅限HTTP) |
MCP_PORT | --port | 8000 | 端口(仅限HTTP) |
MCP_API_KEY | -- | -- | 静态承载令牌(单用户模式) |
MCP_UNIVERSAL | --universal | off | 启用通用模式(设置为 1, true,或 yes) |
SESSION_TTL_SECONDS | — | 3600 | 缓存会话的时间(通用模式) |
SMARTSCHOOL_USERNAME | -- | -- | 您的Smartschool用户名 |
SMARTSCHOOL_PASSWORD | -- | -- | 您的Smartschool密码 |
SMARTSCHOOL_MAIN_URL | -- | -- | 学校主机名,例如。 school.smartschool.be |
SMARTSCHOOL_MFA 出生日期: YYYY-MM-DD (如果需要) |
贡献
欢迎PR。跑 uv sync --extra dev 要安装开发依赖项,请执行以下操作 uv run pytest / uv run ruff check . / uv run mypy smartschool_mcp/ 在提交之前。
免责声明
非官方工具,与Smartschool无关。按照学校的服务条款使用。
