Token导航 LogoToken导航TokenDH.com
Sugarlearning MCP logo
搜索检索stdio官方来源来源级核验

Sugarlearning MCP

MCP Server

一个非官方的学习管理系统工具集,提供MCP服务器、变更跟踪、语义搜索等功能,适用于企业培训模块和员工学习内容管理。

工具数

15

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude搜索ClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jernejk

提供方

jernejk

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run sl login

详细介绍

非官方SugarLearning CLI+MCP

非官方 社区构建的CLI工具、变更跟踪器和MCP服务器 SugarLearning. 本项目不隶属于SugarLearning或得到SugarLearning的认可。它使用现有的SugarLearning API和您自己的证书。

SugarLearning是一个学习管理系统,用于跟踪员工培训模块和学习项目。

它做什么

  • MCP服务器 --通过以下方式将SugarLearning数据暴露给AI代理(Claude Code、VS Code Copilot、Codex、LM Studio) 模型上下文协议
  • 一个命令登录 --通过Playwright登录的浏览器会自动捕获Bearer令牌,无需OAuth重定向URI
  • 更改跟踪 --定期对模块、项目和分配进行快照,然后计算差异以检测随时间的变化
  • 模块监控 --观察特定模块的任务更改(添加/删除了谁)
  • 语义搜索 --可选的Qdrant矢量索引,用于在所有学习内容中进行自然语言搜索

先决条件

  • Python 3.12+
  • 紫外线 (推荐)或pip
  • 具有管理员权限的SugarLearning帐户
  • (可选) 剧作家 对于单命令浏览器登录
  • (可选) 码头工人 用于Qdrant矢量搜索

快速开始

1.全局安装(推荐)

git clone https://github.com/jernejk/sugarlearning-mcp.git
cd sugarlearning-mcp
uv tool install .

这使得 sl 命令available system wide--从任何目录运行它。

在拉取新更改后进行更新:

cd sugarlearning-mcp
git pull
uv tool install --force --reinstall .

要卸载,请执行以下操作:

uv tool uninstall sugarlearning-tools

Alternative: Run from project directory without global install

git clone https://github.com/jernejk/sugarlearning-mcp.git
cd sugarlearning-mcp
uv sync

然后在所有命令前加上 uv run:

uv run sl login
uv run sl sync
uv run sl search "training"

2.身份验证

建议:一个命令浏览器登录。 安装 browser 多一次,然后跑 sl login -一个真正的Chromium窗口打开,您正常登录SugarLearning,CLI从第一个API请求中嗅探Bearer令牌。不需要OAuth重定向URI注册。

uv pip install -e '.[browser]'   # or: uv tool install '.[browser]' for global
playwright install chromium

sl login --company YourCompany   # company code is saved to config
sl login                         # subsequent logins

捕获令牌后,浏览器窗口会自动关闭。

Alternative login flows

手动粘贴 --打印DevTools说明并自己粘贴一个令牌:

sl login --manual
sl login -t "$(pbpaste)"   # after copying the Authorization header

刷新令牌 (用于自动续订-比访问令牌寿命更长):

sl login -r YOUR_REFRESH_TOKEN

要从浏览器中获取刷新令牌,请执行以下操作:

  1. 打开Chrome DevTools>应用程序>本地存储> https://my.sugarlearning.com
  2. 查找 refresh_token 键入并复制其值

完整的OAuth PKCE流程 (需要注册的CLI重定向URI):

sl login --oauth

您的用户ID将从令牌中自动检测到。凭据存储在 ~/.config/sugarlearning/config.json.

高级: 您还可以通过以下方式进行配置 .env 文件--请参见 配置.

3.首次同步

sl sync

这将获取所有模块、项目和分配,然后保存快照。稍后再次运行以检测更改。

CLI 参考

命令描述
sl login启动带头浏览器并嗅探Bearer令牌(默认情况下,需要 [browser] 额外)
sl login --company CODE设置公司代码(与任何登录流程结合使用)
sl login --manual打印DevTools粘贴说明
sl login -t TOKEN直接使用Bearer令牌进行身份验证
sl login -r TOKEN使用刷新令牌进行身份验证(自动续订)
sl login --oauthOAuth PKCE流(需要注册的重定向URI)
sl --json输出为JSON,而不是人类可读的文本
sl sync获取数据、创建快照、显示自上次同步以来的更改
sl diff显示最新差异
sl watch MODULE_ID显示模块的当前任务和更改历史记录
sl history列出所有已保存的快照
sl backlog显示你的学习积压
sl search QUERY搜索模块和项目(Qdrant或文本回退)
sl leaderboard显示公司排行榜排名
sl badges [USER]显示用户获得的徽章
sl profile [USER]显示带有排名和统计数据的用户资料
sl get ITEM_ID获取学习项目的完整细节和内容
sl complete ITEM_ID将学习项目标记为已完成
sl note ITEM_ID CONTENT添加或更新学习项目的私人笔记
sl index构建/重建Qdrant矢量索引
sl mcp启动MCP服务器(stdio)

大多数命令支持 --limit N--skip N 对于分页:

sl search "training" --limit 5
sl backlog --limit 10 --skip 5
sl watch 6307 --limit 20
sl history --limit 5

状态筛选

按完成状态筛选您的待办事项列表:

sl backlog --status outstanding    # Items you still need to do
sl backlog --status completed      # Items you've finished
sl backlog --status blocked        # Items that are blocked

将状态过滤与搜索相结合,在待办事项列表中查找特定项目:

sl search "training" --status completed     # Completed training items
sl search "security" --status outstanding   # Outstanding security items

排行榜、徽章和个人资料

查看您和您的团队如何跟踪:

sl leaderboard                    # Company rankings (hides 0% users)
sl leaderboard --all              # Include users with 0% progress
sl leaderboard --group 5 --limit 10  # Top 10 in a specific group

sl badges                         # Your earned badges
sl badges jk                     # Another user's badges

sl profile                        # Your profile with rank & stats
sl profile jk                    # Another user's profile

JSON输出

添加 --json 对于任何用于机器可读输出的命令:

sl backlog --status outstanding --json
sl search "training" --json
sl watch 6307 --json
sl diff --json
sl leaderboard --json
sl profile --json

例子

注意“规格审查”模块上的作业更改:

sl watch 6307

搜索与培训相关的内容(包括每个结果的可点击URL):

sl search "training conferences"

获取特定项目的完整内容:

sl get 8291
sl get 8291 --json
sl get 8291 --user jk

完成学习项目(自动检测是否需要批准):

sl complete 15108
sl complete 15108 --note "Reviewed all 3 rules"
sl complete 15108 --comment "Done" --json

向项目添加私人注释:

sl note 15108 "Key takeaway: use back pressure for AI agents"

使用URL显示未完成的待办事项:

sl backlog --status outstanding --limit 10

MCP服务器

MCP服务器通过stdio传输将SugarLearning数据暴露给AI代理。它提供了以下工具:

工具说明
list_modules列出所有带有元数据的学习模块
get_module获取特定模块的详细信息
get_module_users将用户分配到有进度的模块
get_module_groups将组分配给模块
get_module_items在模块中获取学习项目
get_item获取学习项目的完整细节和内容
complete_item将学习项目标记为已完成
save_note添加或更新学习项目的私人笔记
get_backlog获取用户的学习待办事项列表
get_recent_changes从本地跟踪中获取最近的更改差异
search_learning跨学习内容的语义搜索
get_module_list获取模块列表(员工视图)
get_leaderboard获取公司排行榜排名
get_user_profile获取带有徽章的用户个人资料
get_user_badges获取用户获得的徽章

克劳德代码

添加到您的Claude Code MCP设置中(~/.claude/settings.json):

{
  "mcpServers": {
    "sugarlearning": {
      "command": "sl",
      "args": ["mcp"]
    }
  }
}
注: 这需要全局安装(uv tool install .).如果使用 uv run 相反,使用 "command": "uv", "args": ["run", "--directory", "/path/to/sugarlearning-mcp", "sl", "mcp"].

然后问克劳德这样的问题:

  • “SugarLearning提供了哪些模块?”
  • “谁被分配到规格审查模块?”
  • “我的学习积压中有什么?”
  • “最近学习模块有什么变化吗?”
  • “谁在领导公司排行榜?”
  • “jk获得了什么徽章?”
  • “显示我的SugarLearning个人资料和排名”

VS代码(复制/继续)

添加到您的VS代码设置(.vscode/settings.json 或用户设置):

{
  "mcp": {
    "servers": {
      "sugarlearning": {
        "command": "sl",
        "args": ["mcp"]
      }
    }
  }
}

Codex(OpenAI CLI)

Codex通过其配置支持MCP服务器。添加到您的Codex配置中:

{
  "mcpServers": {
    "sugarlearning": {
      "command": "sl",
      "args": ["mcp"]
    }
  }
}

LM 工作室

LM Studio以代理模式支持MCP服务器。配置新的MCP服务器:

  • 名字:SugarLearning
  • 命令: sl
  • 参数: mcp
  • 运输标准: stdio

Qdrant矢量搜索(可选)

对于所有学习内容的语义搜索:

1.启动Qdrant

docker run -p 6333:6333 qdrant/qdrant

2.建立指数

sl index

这将使用以下命令嵌入所有模块名称、描述和学习项 all-MiniLM-L6-v2 (在本地运行,不需要API密钥)。

3.搜索

sl search "training conferences"

MCP服务器的 search_learning 该工具还将在可用时使用Qdrant,否则将回退到文本匹配。

更改跟踪

sl sync 在中创建带时间戳的JSON快照 data/snapshots/当存在前一个快照时,它会计算一个差异检测:

  • 新建/删除模块
  • 更改了模块属性(名称、描述、管理器等)
  • 用户分配更改(每个模块中添加/删除了谁)
  • 组分配更改
  • 学习项目添加/删除/更改

差异保存到 data/diffs/ 并且可以通过以下方式进行审核 sl diff 或通过MCP访问 get_recent_changes 工具。

自动同步

设置要运行的cron作业或计划任务 sl sync 定期地:

# Every hour
0 * * * * cd /path/to/sugarlearning-mcp && sl sync >> /tmp/sl-sync.log 2>&1

项目结构

sugarlearning-mcp/
├── src/sugarlearning_tools/
│   ├── auth.py           # OAuth PKCE + token management
│   ├── cli.py            # Click CLI entry point
│   ├── client.py         # SugarLearning API client
│   ├── config.py         # Pydantic settings (.env)
│   ├── mcp_server.py     # FastMCP server
│   ├── models.py         # Pydantic models
│   ├── qdrant_index.py   # Qdrant vector indexing
│   └── sync.py           # Snapshot + diff engine
├── tests/                # pytest test suite
├── data/
│   ├── snapshots/        # JSON snapshots (gitignored)
│   └── diffs/            # Change diffs (gitignored)
├── .env.example          # Configuration template
└── pyproject.toml        # Project definition

配置

所有设置都使用 SL_ 前缀,可以通过环境变量或 .env 文件:

变量默认值描述
SL_COMPANY_CODE*(必填)*您的SugarLearning公司/租户代码
SL_USER_ID*(自动检测)*您的用户标识符(如果未设置,则从登录令牌中提取)
SL_BASE_URLhttps://my.sugarlearning.comSugarLearning API基础URL
SL_IDENTITY_AUTHORITYhttps://identity.ssw.com.auOAuth身份服务器
SL_CLIENT_IDssw-sugarlearning-clientOAuth客户端ID
SL_QDRANT_URLhttp://localhost:6333Qdrant服务器URL
SL_QDRANT_COLLECTIONsugarlearningQdrant集合名称

运行测试

uv run --extra dev pytest

许可证

麻省理工学院

目录标签

目录标签

PythonClaude搜索学习管理系统本地部署变更跟踪语义搜索MCP服务器企业培训

支持客户端

ClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP