TutorFlow Agent Platform
Uma API e um servidor MCP para seu agente criar cursos e corrigir respostas
Seu agente se cadastra sozinho e paga por ação.
As quatro primeiras chamadas do seu agente
Abra uma etapa de cada vez. A etapa 1 define TUTORFLOW_KEY e CLASSROOM_ID, que as outras etapas usam.
Precisa de curl e jq. Troque o slug e o e-mail antes de executar.
1Cadastrar o agente
Uma chamada, sem chave. A resposta traz contentApiKey, defaultClassroomId e 50 créditos de teste. A chave aparece uma única vez, então guarde em lugar seguro.
RESPONSE=$(curl -s -X POST https://api.tutorflow.io/v1/platform/agent/register \
-H "Content-Type: application/json" \
-d '{"name":"My Agent","slug":"my-agent-2048","email":"you@example.com"}')
export TUTORFLOW_KEY=$(echo "$RESPONSE" | jq -r .contentApiKey)
export CLASSROOM_ID=$(echo "$RESPONSE" | jq -r .defaultClassroomId)2Gerar um curso
O TutorFlow gera o curso em segundo plano e responde 202 com um runId. Um curso de uma aula custa 6 créditos.
RUN_ID=$(curl -s -X POST \
"https://api.tutorflow.io/v1/content/classrooms/$CLASSROOM_ID/courses/generate" \
-H "Authorization: Bearer $TUTORFLOW_KEY" \
-H "Content-Type: application/json" \
-d '{"topic":"Fractions for grade 4","lessonCount":1}' | jq -r .runId)3Acompanhar a geração
Consulte a geração a cada 20 ou 30 segundos até que status seja completed ou failed. Quando termina, o resourceId traz o ID do novo curso.
curl -s "https://api.tutorflow.io/v1/content/classrooms/$CLASSROOM_ID/runs/$RUN_ID" \
-H "Authorization: Bearer $TUTORFLOW_KEY" | jq '{status, resourceId, error}'4Corrigir uma resposta
A correção volta na hora, com nota, pontos fortes e sugestões de melhoria. Cada uma custa 1 crédito.
Requisição
curl -s -X POST "https://api.tutorflow.io/v1/content/classrooms/$CLASSROOM_ID/evaluations" \
-H "Authorization: Bearer $TUTORFLOW_KEY" \
-H "Content-Type: application/json" \
-d '{
"evaluationType": "open_ended",
"questionText": "Explain photosynthesis",
"learnerAnswer": "Plants use sunlight to convert CO2 and water into glucose.",
"maxScore": 10,
"language": "en",
"learnerExternalId": "learner-42"
}'Resposta
{
"id": "5023...",
"status": "COMPLETED",
"evaluationType": "open_ended",
"learner": { "externalId": "learner-42", "name": null },
"score": 7,
"maxScore": 10,
"normalizedScore": 70,
"strengths": ["Correctly identifies sunlight as key factor"],
"suggestions": ["Mention the role of chlorophyll", "Explain the chemical equation"],
"feedbackSummary": "Good foundational understanding. To improve, include the role of chlorophyll."
}Prefere o terminal? Use a CLI
O @tutorflow/cli faz as mesmas chamadas. O agent register salva a chave em ~/.tutorflow/config.json, então você não precisa mais passar a chave nem a sala de aula nos próximos comandos.
npm install -g @tutorflow/cli
tutorflow agent register --name "My Agent" --slug my-agent-2048 --email you@example.com
tutorflow course generate "Fractions for grade 4" --lessons 1 --wait
tutorflow evaluate --type open-ended --question "Explain photosynthesis" \
--student-answer "Plants use sunlight to make glucose." --learner-id learner-42O que seu agente resolve sem depender de ninguém
Uma chave da Content API funciona com REST, MCP e a CLI. Pelo REST você acessa tudo; pelo MCP, cadastro, cobrança, cursos e correção.
Correção das respostas dos alunos
Envie a resposta com uma rubrica ou uma resposta de referência. A nota, os pontos fortes e as sugestões voltam em campos tipados.
Criação de material didático
Comece um curso, uma avaliação, uma apresentação de slides, um vídeo ou um módulo com uma chamada e acompanhe a geração até o fim.
Use como ferramentas MCP
Adicione a URL do servidor e uma chave, e o Claude Code ou qualquer cliente MCP passa a usar o TutorFlow como ferramenta.
Cadastro sem intervenção humana
Seu agente cria a própria conta e recebe, na mesma resposta, uma chave, uma sala de aula e 50 créditos de teste.
O custo de cada chamada, antes de rodar
Cada ação consome um número fixo de créditos, a 2 centavos de dólar cada, de um único saldo, e o estimatedCredits mostra o custo antes de a geração começar. Os limites de requisições vêm nos cabeçalhos da resposta.
Uma chave para cada uso
Separe as chaves de teste das de produção, defina o escopo de cada uma e faça a rotação. Uma chave de teste funciona em uma sala de aula de testes e não gasta créditos.
Aviso quando o trabalho termina
Cadastre um webhook e receba uma requisição assinada quando uma geração, uma renderização de vídeo ou uma correção terminar.
No idioma que seu agente pedir
O conteúdo e o feedback chegam no idioma que seu agente pedir.
Feito para agentes, não só para pessoas.
Seu agente encontra sozinho as ferramentas do TutorFlow: se cadastrar, consultar o saldo, gerar um curso, acompanhar a geração e corrigir respostas, sem escrever código HTTP.
- Adicione uma entrada de servidor na configuração do seu cliente MCP, e o Claude, o Gemini ou qualquer outro cliente MCP se conecta
- Seu agente se cadastra sozinho e recebe a chave na mesma chamada
- Quando os créditos estão acabando, ele manda um link de pagamento para uma pessoa ou, onde o x402 está ativado, paga em USDC por conta própria
- Entradas tipadas: se a chamada estiver errada, a resposta diz o motivo
Claude Code
// .mcp.json: add to your project root
{
"mcpServers": {
"tutorflow": {
"type": "http",
"url": "https://mcp.tutorflow.io/api/mcp",
"headers": {
"Authorization": "Bearer tf_content_..."
}
}
}
}MCP SDK
import { Client } from '@modelcontextprotocol/sdk/client/index.js'
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'
const transport = new StreamableHTTPClientTransport(
new URL('https://mcp.tutorflow.io/api/mcp'),
{
requestInit: {
headers: { Authorization: 'Bearer tf_content_...' },
},
},
)
const client = new Client({ name: 'my-agent', version: '1.0.0' })
await client.connect(transport)
// Call tools directly
const result = await client.callTool('run_evaluation', {
evaluationType: 'open_ended',
questionText: 'Explain photosynthesis',
learnerAnswer: 'Plants use sunlight to make glucose...',
})Cadastro automático
// No auth needed: agents register themselves
POST https://api.tutorflow.io/v1/platform/agent/register
{
"name": "My AI Tutor",
"slug": "my-ai-tutor",
"email": "agent@example.com",
"agentIdentity": "claude-3-5-sonnet"
}
// Returns a Content API key and the classroom it works in
// { "contentApiKey": "tf_content_...", "defaultClassroomId": "...", "trialContentCredits": 50 }Pague pelo que seu agente cria
Cada chamada é descontada de um único saldo de créditos da sua conta, a 2 centavos de dólar por crédito. Esta é a tabela de preços atual usada para cobrar seu agente.
| O que você cria | Créditos | Dólares americanos |
|---|---|---|
| Um curso completo, com a estrutura e todas as aulas | 3 créditos mais 3 créditos por aula | US$ 0,06 mais US$ 0,06 por aula |
| Um módulo de aula | 3 créditos por aula | US$ 0,06 por aula |
| Uma avaliação com questões de correção automática | 3 créditos por avaliação | US$ 0,06 por avaliação |
| Um slide de texto | 1 crédito por página de texto | US$ 0,02 por página de texto |
| Um slide com imagem gerada por IA | 3 créditos por página com imagem | US$ 0,06 por página com imagem |
| A narração das cenas de um vídeo | 1 crédito por cena | US$ 0,02 por cena |
| Renderizar um vídeo em MP4 | 5 créditos por renderização | US$ 0,10 por renderização |
| Um jogo pronto para jogar | 41 créditos por jogo | US$ 0,82 por jogo |
| Corrigir uma resposta | 1 crédito por requisição | US$ 0,02 por requisição |
Como a cobrança funciona
- Recarregue a partir de US$ 5 com cartão ou com USDC na Base depois de verificar seu e-mail.
- Com um cartão cadastrado, o trabalho continua quando os créditos acabam, e esse uso é cobrado no cartão.
- Uma conta nova começa com 50 créditos grátis.
- As chaves de teste funcionam em uma sala de aula de testes e não gastam créditos.
Deixe seu agente criar o primeiro curso hoje
Cadastre pela API, por MCP ou pela CLI. Os 50 créditos de teste dão para um primeiro curso e algumas respostas corrigidas.