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
Una biblioteca de Python y servidor MCP local para la plataforma de educación al cliente Skilljar, que cubre ambas API REST de Skilljar — v1 y v2 — detrás de un único conjunto de herramientas.
Estado: Bloque 1 implementado, aún no publicado.
Instala desde el código fuente hasta que v0.0.1 esté en PyPI:
pipx install git+https://github.com/CloudSecurityAlliance/csa-skilljarEl servidor se ejecuta, autentica y responde a través de stdio, con cuatro herramientas:check_access,describe_capabilities,report_a_problemylist_courses. Aún no está en PyPI — v0.0.1 se publicará una vez verificado contra una organización de Skilljar en vivo. La superficie de paridad de 73 herramientas llega en los Bloques 2–9; consulta ROADMAP.md.
Comienza con el servidor MCP oficial de Skilljar
Si quieres Skilljar en un cliente de IA, usa el servidor MCP propio de Skilljar. Es la opción correcta por defecto y la recomendamos sin reservas. Es de primera parte, alojado y mantenido por el proveedor, no necesita nada instalado en tu máquina, cubre toda la API v2 en 73 herramientas y autentica con OAuth y ámbitos por operación. Skilljar está construyendo activamente v2, así que mejora en su cadencia de lanzamiento, no en la nuestra.
claude mcp add skilljar --transport http https://mcp.skilljar.com/mcpPrueba eso primero. Para la mayoría de la gente es la respuesta completa.
Related MCP server: sf-mcp
…pero si necesitas más
Algunas cosas aún no están en la API v2, por lo que ningún cliente v2 puede acceder a ellas. La API v1 es considerablemente más grande — 340 operaciones frente a las 82 de v2 — y hoy es la única forma de acceder a:
progreso del alumno por lección — v2 solo informa de la finalización a nivel de curso
webhooks — v2 no tiene notificaciones de eventos en absoluto
carga de activos — v2 no tiene carga de archivos
rutas de aprendizaje, formación dirigida por instructor y la pila de comercio (ofertas, códigos promocionales, compras, créditos de formación)
csa-skilljar existe para cubrir esa brecha. Reproduce exactamente la superficie de herramientas oficial — mismos nombres de herramientas, mismos nombres de argumentos — y luego añade las capacidades solo de v1 junto a ellas, para que no tengas que elegir entre las dos APIs ni ejecutar dos servidores.
También se ejecuta localmente a través de stdio, lo que algunas organizaciones necesitan: tus credenciales de API permanecen en tu propia máquina.
Esperamos que este proyecto se reduzca con el tiempo, y ese es el resultado previsto. Skilljar ha reservado públicamente ámbitos de OAuth para webhooks, rutas, activos, etiquetas y comercio. A medida que esos endpoints se publiquen, el soporte v1 correspondiente aquí se retirará en favor de v2 — los nombres de las herramientas siguen siendo los mismos y los llamadores no notan nada.
MCP oficial de Skilljar | csa-skilljar | |
APIs | v2 | v1 + v2 |
Transporte | HTTP remoto | stdio local |
Credenciales | mantenidas en el servidor | permanecen en tu máquina |
Autenticación | Código de autorización OAuth (navegador) | Credenciales de cliente OAuth + clave de API v1 |
Control de capacidades | Ámbitos de OAuth en el consentimiento | ámbitos más perfiles por instalación |
Biblioteca | — | la biblioteca también es el producto |
Comprobando el estado de la API v2 de Skilljar
La API v2 de Skilljar está creciendo activamente, y el servidor MCP oficial la sigue de cerca. Es una buena noticia para todos — y significa que el mapa de cobertura de este proyecto tiene una vida útil. Antes de asumir que una brecha documentada aquí sigue siendo una brecha, vuelve a comprobar el upstream.
# 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.En el momento de escribir esto, el catálogo de ámbitos anuncia 88 ámbitos mientras que la especificación v2 publicada usa 28 — áreas como webhooks, rutas, activos, etiquetas y comercio tienen ámbitos reservados pero aún no tienen endpoints. Cuando esos endpoints se publiquen, los respaldos v1 que este proyecto proporciona para ellos deberían retirarse en favor de v2, y esta nota actualizarse.
scripts/check_upstream.py automatizará los tres y reportará la desviación contra las instantáneas en specs/. Hasta entonces, ejecuta los comandos anteriores.
Credenciales
Dos credenciales independientes, ambas opcionales. El servidor arranca con una, ambas o ninguna, y te dice qué está disponible.
Variable | Para | Obtener de |
| la API v1 | Panel de Skilljar — consulta la guía de API de Skilljar |
| la API v2 | Panel de Skilljar, clientes de API v2 |
Enlazamos la documentación propia de Skilljar en lugar de transcribir su navegación del panel, que no podemos mantener actualizada.
Limita el cliente v2 a lo que realmente necesitas. La API declara un ámbito requerido en cada operación, y los sensibles son separables — students:anonymize (irreversible), students:deactivate y students:manage-password pueden omitirse de un cliente utilizado para la creación de contenido.
Lo que cubrirá
Reproduce las 73 herramientas oficiales y luego añade familias solo de v1 en este orden:
Progreso del alumno — detalle por lección, que v2 no reporta
Activos y medios — v2 no tiene carga de archivos
Comercio — ofertas, códigos promocionales, compras, créditos de formación
Rutas de aprendizaje — rutas, elementos de ruta, inscripciones a rutas
Eventos y webhooks — suscripciones y vistas previas de payload
Formación dirigida por instructor — sesiones, instructores, registros
Etiquetas y tags
Deliberadamente fuera de alcance: construcción de páginas de catálogo, recepción de webhooks, caché y escrituras compuestas entre APIs. Las razones están en la especificación.
Documentación del proyecto
Archivo | Qué responde |
Arquitectura, regla de enrutamiento, modelo de credenciales, taxonomía de errores de autenticación, fases. Empieza aquí. | |
La secuencia de bloques — qué se publica en qué orden y qué está aparcado | |
Cómo se ve el éxito y cómo sabríamos que ha fallado | |
Por qué CSA está invirtiendo y el caso honesto de que este proyecto debería reducirse | |
Índice de todo el trabajo abierto | |
Decisiones técnicas y por qué las alternativas rechazadas perdieron | |
Alcance, audiencia y qué está deliberadamente fuera | |
Superficie de exposición, riesgo de inyección de prompts, custodia de credenciales | |
Qué datos maneja y qué nunca almacena deliberadamente | |
Condiciones externas que esperamos, cada una con un desencadenante observable | |
Trabajo que es más difícil de lo que debería — incluyendo cómo este proyecto trabaja con IA | |
Quién decide qué | |
Contrato de comportamiento para agentes de IA que trabajan aquí |
Desarrollo
Usa siempre un entorno virtual. El intérprete está fijado por .python-version.
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 checksLos comandos están escritos .venv/bin/... deliberadamente — un pytest desnudo resuelve a lo que sea que esté en PATH, que es como una suite pasa contra versiones de dependencias incorrectas.
Las contribuciones siguen los estándares de repositorio público de CSA: rama y PR para cada cambio, puertas de CI requeridas, sin empujes directos a main.
Licencia
Agradecimientos
Skilljar es un producto de Gainsight. Este proyecto no está afiliado ni respaldado por Skilljar o Gainsight; es un cliente independiente construido contra sus APIs públicas. Las instantáneas de API en specs/ se obtienen de los documentos OpenAPI publicados y de acceso público de Skilljar.
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