csa-skilljar
Officialproject_tracker_base: CINO Project Tracker:appf7fRQUvY9Iy7sL
project_tracker_table: Projects:tblchmbxSAavvJKaY
project_tracker_record: csa-skilljar:recbwfx6O30BboQNv
project_source: github:CloudSecurityAlliance-Internal/CINO-Projects/projects/CloudSecurityAlliance/csa-skilljarcsa-skilljar
Eine Python-Bibliothek und ein lokaler MCP-Server für die Skilljar Kundenbildungsplattform, die beide REST-APIs von Skilljar – v1 und v2 – hinter einem Satz von Tools abdeckt.
Status: Block 1 implementiert, noch nicht veröffentlicht.
Bis v0.0.1 auf PyPI ist, aus dem Quellcode installieren:
pipx install git+https://github.com/CloudSecurityAlliance/csa-skilljarDer Server läuft, authentifiziert sich und antwortet über stdio, mit vier Tools:check_access,describe_capabilities,report_a_problemundlist_courses. Er ist noch nicht auf PyPI — v0.0.1 erscheint, sobald er gegen eine echte Skilljar-Organisation verifiziert wurde. Die 73-Tool-Paritätsoberfläche kommt in Blöcken 2–9; siehe ROADMAP.md.
Starten Sie mit Skilljars offiziellem MCP-Server
Wenn Sie Skilljar in einem KI-Client nutzen möchten, verwenden Sie Skilljars eigenen MCP-Server. Das ist die richtige Standardwahl, und wir empfehlen sie ohne Einschränkung. Er ist First-Party, wird vom Anbieter gehostet und gepflegt, benötigt keine Installation auf Ihrem Rechner, deckt die gesamte v2-API mit 73 Tools ab und authentifiziert sich mit OAuth und Scopes pro Operation. Skilljar baut v2 aktiv aus, daher wird es mit deren Release-Rhythmus besser, nicht mit unserem.
claude mcp add skilljar --transport http https://mcp.skilljar.com/mcpProbieren Sie das zuerst. Für die meisten Menschen ist es die vollständige Antwort.
Related MCP server: sf-mcp
…aber wenn Sie mehr benötigen
Einige Dinge sind noch nicht in der v2-API, daher kann kein v2-Client sie erreichen. Die v1-API ist erheblich größer – 340 Operationen gegenüber 82 bei v2 – und heute ist sie der einzige Weg, um Folgendes zu erhalten:
Lernfortschritt pro Lektion – v2 meldet nur den Abschluss auf Kursebene
Webhooks – v2 hat überhaupt keine Ereignisbenachrichtigungen
Asset-Upload – v2 hat keinen Datei-Upload
Lernpfade, vom Kursleiter geleitete Schulungen und den Commerce-Stack (Angebote, Promo-Codes, Käufe, Schulungsguthaben)
csa-skilljar existiert für diese Lücke. Es reproduziert die offizielle Tool-Oberfläche exakt – gleiche Tool-Namen, gleiche Argumentnamen – und fügt dann die nur in v1 verfügbaren Fähigkeiten hinzu, sodass Sie nicht zwischen den beiden APIs wählen oder zwei Server betreiben müssen.
Es läuft auch lokal über stdio, was einige Organisationen benötigen: Ihre API-Anmeldedaten bleiben auf Ihrem eigenen Rechner.
Wir erwarten, dass dieses Projekt mit der Zeit schrumpft, und das ist das beabsichtigte Ergebnis. Skilljar hat öffentlich OAuth-Scopes für Webhooks, Pfade, Assets, Tags und Commerce reserviert. Wenn diese Endpunkte erscheinen, wird die entsprechende v1-Unterstützung hier zugunsten von v2 eingestellt – die Tool-Namen bleiben gleich, und Aufrufer bemerken nichts.
Offizieller Skilljar-MCP | csa-skilljar | |
APIs | v2 | v1 + v2 |
Transport | Remote-HTTP | lokales stdio |
Anmeldedaten | serverseitig gehalten | bleiben auf Ihrem Rechner |
Authentifizierung | OAuth-Autorisierungscode (Browser) | OAuth-Client-Anmeldedaten + v1-API-Schlüssel |
Fähigkeitssteuerung | OAuth-Scopes bei Zustimmung | Scopes plus Profile pro Installation |
Bibliothek | — | die Bibliothek ist auch das Produkt |
Überprüfung des Zustands der Skilljar-v2-API
Skilljars v2-API wächst aktiv, und der offizielle MCP-Server verfolgt sie genau. Das sind gute Nachrichten für alle – und es bedeutet, dass die Abdeckungskarte in diesem Projekt eine begrenzte Haltbarkeit hat. Bevor Sie annehmen, dass eine hier dokumentierte Lücke noch eine Lücke ist, prüfen Sie die Upstream-Quelle erneut.
# 1. The published v2 surface
curl -s https://api.skilljar.com/v2/openapi.json | jq '.paths | keys | length'
# 2. The declared scope catalogue — a leading indicator of what is coming
curl -s https://api.skilljar.com/.well-known/oauth-authorization-server \
| jq -r '.scopes_supported[]'
# 3. The official MCP server's live tool list
# Connect it, then run /mcp in Claude Code.Zum Zeitpunkt der Erstellung dieses Textes wirbt der Scope-Katalog mit 88 Scopes, während die veröffentlichte v2-Spezifikation 28 verwendet – Bereiche wie Webhooks, Pfade, Assets, Tags und Commerce haben reservierte Scopes, aber noch keine Endpunkte. Wenn diese Endpunkte erscheinen, sollten die v1-Fallbacks, die dieses Projekt für sie bereitstellt, zugunsten von v2 eingestellt und dieser Hinweis aktualisiert werden.
scripts/check_upstream.py wird alle drei automatisieren und Abweichungen gegenüber den Snapshots in specs/ melden. Bis dahin führen Sie die obigen Befehle aus.
Anmeldedaten
Zwei unabhängige Anmeldedaten, beide optional. Der Server startet mit einem, beiden oder keinem und teilt Ihnen mit, was verfügbar ist.
Variable | Für | Bezugsquelle |
| die v1-API | Skilljar-Dashboard – siehe Skilljars API-Leitfaden |
| die v2-API | Skilljar-Dashboard, v2-API-Clients |
Wir verlinken Skilljars eigene Dokumentation, anstatt deren Dashboard-Navigation zu transkribieren, die wir nicht aktuell halten können.
Begrenzen Sie den v2-Client auf das, was Sie tatsächlich benötigen. Die API deklariert für jede Operation einen erforderlichen Scope, und die sensiblen sind trennbar – students:anonymize (irreversibel), students:deactivate und students:manage-password können alle einem Client vorenthalten werden, der für die Inhaltserstellung verwendet wird.
Was abgedeckt wird
Reproduziert alle 73 offiziellen Tools und fügt dann nur in v1 verfügbare Familien in dieser Reihenfolge hinzu:
Lernfortschritt – Details pro Lektion, die v2 nicht meldet
Assets & Medien – v2 hat keinen Datei-Upload
Commerce – Angebote, Promo-Codes, Käufe, Schulungsguthaben
Lernpfade – Pfade, Pfadelemente, Pfadeinschreibungen
Ereignisse & Webhooks – Abonnements und Payload-Vorschauen
Vom Kursleiter geleitete Schulungen – Sitzungen, Kursleiter, Registrierungen
Labels & Tags
Bewusst außerhalb des Umfangs: Katalogseiten-Erstellung, Webhook-Empfang, Caching und API-übergreifende zusammengesetzte Schreibvorgänge. Gründe finden Sie in der Spezifikation.
Projektdokumentation
Datei | Was sie beantwortet |
Architektur, Routing-Regel, Anmeldedatenmodell, Auth-Fehler-Taxonomie, Phasen. Hier beginnen. | |
Die Blockreihenfolge – was in welcher Reihenfolge erscheint und was geparkt ist | |
Wie Erfolg aussieht und wie wir erkennen würden, dass es gescheitert ist | |
Warum CSA investiert, und der ehrliche Fall, dass dieses Projekt schrumpfen sollte | |
Index aller offenen Arbeiten | |
Technische Entscheidungen und warum die verworfenen Alternativen verloren haben | |
Umfang, Zielgruppe und was bewusst ausgeschlossen ist | |
Angriffsfläche, Prompt-Injection-Risiko, Verwahrung von Anmeldedaten | |
Welche Daten verarbeitet werden und was bewusst nie gespeichert wird | |
Externe Bedingungen, auf die wir warten, jede mit einem beobachtbaren Auslöser | |
Arbeit, die schwerer ist als sie sein sollte – einschließlich der Zusammenarbeit mit KI | |
Wer entscheidet was | |
Verhaltensvertrag für KI-Agenten, die hier arbeiten |
Entwicklung
Verwenden Sie immer eine virtuelle Umgebung. Der Interpreter ist durch .python-version festgelegt.
python3 -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
.venv/bin/python -m pytest -q # offline suite: no network, no credentials
.venv/bin/ruff check src tests scripts
.venv/bin/mypy
./scripts/verify.sh # or just this: everything CI checksBefehle sind bewusst als .venv/bin/... geschrieben – ein nacktes pytest löst zu dem auf, was auf PATH liegt, und so besteht eine Suite gegen die falschen Abhängigkeitsversionen.
Beiträge folgen CSAs öffentlichen Repo-Standards: Branch und PR für jede Änderung, erforderliche CI-Gates, keine direkten Pushes auf main.
Lizenz
Danksagungen
Skilljar ist ein Gainsight-Produkt. Dieses Projekt ist weder mit Skilljar noch mit Gainsight verbunden oder von ihnen unterstützt; es ist ein unabhängiger Client, der gegen ihre öffentlichen APIs erstellt wurde. Die API-Snapshots in specs/ werden aus Skilljars veröffentlichten, öffentlich zugänglichen OpenAPI-Dokumenten abgerufen.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA general-purpose MCP gateway that exposes your local CLI skills to any AI assistant.61MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Salesforce that exposes CLI, REST, Connect, Data 360, Bulk 2.0, and Einstein Models APIs as tools for any MCP-compatible client to manage orgs, data, and metadata.Apache 2.0
- FlicenseCqualityBmaintenanceSchema-driven MCP server that exposes all Paperclip API operations as typed MCP tools over stdio or Streamable HTTP, supporting both authenticated and local_mode deployments.100
- AlicenseNot gradedqualityAmaintenanceEnables managing Onde Inference accounts and model catalog operations through MCP tools such as login, app management, model registration, and assignment. Returns structured JSON over stdio for use with any MCP client.Apache 2.0
Related MCP Connectors
Official Sevalla MCP — full PaaS API access through just 2 tools.
34 production API tools over one hosted MCP endpoint.
Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CloudSecurityAlliance/csa-skilljar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server