list_courses
Lista os cursos da organização de criador autenticada (id, título, status, preço).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
status | string | Opcional | Um de draft, published ou archived. Omita para listar todos os cursos. |
Documentação
Model Context Protocol (MCP) é um padrão aberto que permite que assistentes de IA, como o Claude, se conectem com segurança a ferramentas externas. Ao conectar o servidor MCP de Criadores da Edustra, seu assistente de IA pode sair de uma ideia, um vídeo ou um texto colado direto para um curso publicado e precificado — só de conversar.
Configuração
Todo assistente de IA se conecta à Edustra usando um token de acesso pessoal, gerado nas configurações da sua conta. Um token equivale a acesso completo aos cursos da sua própria organização — e nada além disso.
Esta é a única vez que você verá esse token. Copie agora — não será possível vê-lo novamente. Se perder, revogue e gere um novo.
Adicione isso como um conector personalizado (servidor MCP remoto) no Claude ou em qualquer cliente compatível com MCP. Cole a URL do servidor abaixo e autentique com o cabeçalho Authorization: Bearer <seu token>.
URL do servidor
https://app.edustra.com/api/mcp/creatorDentro do Claude, a mesma página de configurações mostra:
A lista de tokens mostra o nome de cada um, uma prévia mascarada (prefixo + "****"), a data de criação, a data do último uso (ou "Nunca usado") e o status — Ativo ou Revogado. Todo token ativo tem uma ação "Revogar". Revogar é imediato e não pode ser desfeito.
Escolha abaixo o cliente que você está conectando. Todos precisam das mesmas duas informações: a URL do servidor e o seu token.
https://app.edustra.com/api/mcp/creatorclaude mcp add --transport http edustra-creator https://app.edustra.com/api/mcp/creator \
--header "Authorization: Bearer <YOUR_TOKEN>"O ChatGPT (nos planos que suportam conectores personalizados) e outros produtos de IA compatíveis com MCP permitem adicionar um servidor MCP remoto por URL e token, de forma parecida com o fluxo do Claude acima. Os caminhos exatos de menu variam de produto para produto e mudam com o tempo — consulte a documentação do seu cliente para os passos precisos. Seja qual for a interface, você vai precisar destas duas informações:
https://app.edustra.com/api/mcp/creatorAuthorization: Bearer <YOUR_TOKEN>{
"mcpServers": {
"edustra-creator": {
"url": "https://app.edustra.com/api/mcp/creator",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Depois de conectado, é só conversar com seu assistente. Alguns exemplos para testar:
O servidor MCP de Criadores expõe 10 ferramentas, agrupadas em três categorias. Toda ferramenta opera apenas sobre os dados da sua própria organização.
list_coursesLista os cursos da organização de criador autenticada (id, título, status, preço).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
status | string | Opcional | Um de draft, published ou archived. Omita para listar todos os cursos. |
create_courseCria um novo curso em rascunho.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | Obrigatório | O título do curso. Mínimo de 1 caractere. |
description | string | Opcional | Uma descrição curta do curso. |
add_moduleAdiciona um módulo (unidade) a um curso existente.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
courseId | integer | Obrigatório | O ID do curso ao qual adicionar o módulo. Deve ser positivo. |
title | string | Obrigatório | O título do módulo. Mínimo de 1 caractere. |
add_lessonAdiciona uma aula em texto a um módulo. content é o corpo completo da aula em Markdown.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
moduleId | integer | Obrigatório | O ID do módulo ao qual adicionar a aula. Deve ser positivo. |
title | string | Obrigatório | O título da aula. Mínimo de 1 caractere. |
content | string | Obrigatório | O corpo completo da aula, em Markdown. Mínimo de 1 caractere. |
publish_coursePublica um curso. Requer ao menos uma aula e, se o curso for pago, um preço definido.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
courseId | integer | Obrigatório | O ID do curso a publicar. Deve ser positivo. |
generate_course_from_contentInicia um job de geração de curso por IA a partir de um vídeo do YouTube, texto colado de legenda/post do Instagram, ou texto livre colado. Retorna um importJobId — consulte-o com get_course_import_status até o status ser completed (retorna courseId) ou failed.
Fontes em PDF NÃO são suportadas por esta ferramenta. Uma importação de PDF exige upload de arquivo pré-assinado, que um cliente de chat de IA não consegue realizar. Se o criador tiver um PDF, direcione-o ao uploader web em app.edustra.com/workspace/courses/ai-builder.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sourceType | string | Obrigatório | Um de youtube, instagram_text ou llm_text. |
url | string | Opcional | 1–2000 caracteres. Obrigatório quando sourceType é youtube. |
text | string | Opcional | 200–120.000 caracteres. Obrigatório quando sourceType é instagram_text ou llm_text. |
titleHint | string | Opcional | 1–150 caracteres. Uma sugestão opcional para o título do curso gerado. |
get_course_import_statusConsulta o status de um job iniciado por generate_course_from_content.
Retorna: status (pending, processing, completed ou failed), courseId (após concluído), error (um código curto de motivo em caso de falha), createdAt, completedAt.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
importJobId | integer | Obrigatório | O ID do job retornado por generate_course_from_content. Deve ser positivo. |
set_course_pricingDefine o modo de acesso, preço, moeda, modelo de cobrança e order bump opcional de um curso.
A Edustra suporta exatamente um order bump por curso — passar orderBump substitui qualquer um já existente.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
courseId | integer | Obrigatório | O ID do curso. Deve ser positivo. |
accessMode | string | Obrigatório | free ou paid. |
price | number | Opcional | O preço do curso. Deve ser ≥ 0. |
currency | string | Opcional | Exatamente 3 caracteres, ex: BRL ou USD. |
billingModel | string | Opcional | one_time, subscription_monthly ou subscription_yearly. Padrão: one_time. |
orderBump | object | Opcional | { enabled: boolean, name: string (≤120 caracteres), description?: string (≤300 caracteres), price: number (≥0) } |
update_course_tiersSubstitui por completo os planos de preço de um curso e define seu modo de precificação.
Quando pricingMode é tiers, ao menos 2 planos são obrigatórios. Voltar para single mantém as linhas de planos — sem perda de dados — mas a página de vendas as ignora enquanto estiver em single.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
courseId | integer | Obrigatório | O ID do curso. Deve ser positivo. |
pricingMode | string | Obrigatório | single ou tiers. |
tiers | array | Obrigatório | Máx. 6 itens. Cada item: { name: string (1-80 caracteres), price: number (≥0), features: string[] (cada uma ≤160 caracteres, máx. 20 itens), isDefault: boolean, sortOrder: integer } |
set_sales_page_copyDefine o conteúdo da página de vendas pública de um curso. Apenas os campos informados são atualizados.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
courseId | integer | Obrigatório | O ID do curso. Deve ser positivo. |
salesPageSlug | string | Opcional | 3-60 caracteres, apenas letras minúsculas, números e hífens. |
salesHeadline | string | Opcional | ≤200 caracteres. O título principal da página de vendas. |
salesSubheadline | string | Opcional | ≤300 caracteres. O subtítulo da página de vendas. |
promoVideoUrl | string | Opcional | Precisa ser uma URL válida. |
learnPoints | string[] | Opcional | Pontos em bullet do "o que você vai aprender". |
Pode — recomendamos criar um token por cliente de IA conectado (por exemplo, um para o Claude Desktop e outro para o Claude Code), para gerenciar e revogar o acesso de cada um separadamente.
O acesso é removido na hora e não pode ser desfeito. Qualquer assistente de IA usando aquele token perde o acesso imediatamente — gere um novo token para reconectar.
Funciona, nos planos do ChatGPT que suportam conectores personalizados — veja a seção "Conecte seu assistente de IA" acima para o passo a passo geral.
Não. A configuração é copiar e colar — a URL e depois o seu token — e, a partir daí, é a conversa com o assistente de IA que faz todo o trabalho.
Não. Um token dá acesso apenas aos cursos e dados da sua própria organização — não existe acesso entre organizações (cross-tenant).