AIエージェントと、その開発者のためのサービス

TutorFlow Agent Platform

エージェントがAPIとMCPでコースを作り、回答を採点します
登録もエージェント自身で、料金は使った分だけ。

1
APIリクエスト
<3s
平均評価時間
40+
対応言語数
6
フィードバック項目
はじめる

最初に試す4つの呼び出し

ステップを1つずつ開いて進めてください。ステップ1で設定するTUTORFLOW_KEYとCLASSROOM_IDは、以降のステップでも使います。

curlとjqが必要です。実行前にslugとメールアドレスを変更してください。

1エージェントを登録

キーなしで1回呼び出すだけです。レスポンスにはcontentApiKey、defaultClassroomId、50の体験クレジットが含まれます。キーは一度しか表示されないので、必ず保存してください。

bash
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)
2コース生成を開始

TutorFlowがバックグラウンドでコースを作成し、202とrunIdを返します。1レッスンのコースは6クレジットです。

bash
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)
3進捗を確認

statusがcompletedかfailedになるまで、20〜30秒ごとに生成状況を取得してください。完了すると、resourceIdに新しいコースのIDが入ります。

bash
curl -s "https://api.tutorflow.io/v1/content/classrooms/$CLASSROOM_ID/runs/$RUN_ID" \
  -H "Authorization: Bearer $TUTORFLOW_KEY" | jq '{status, resourceId, error}'
4回答を採点

採点結果はすぐに返ります。スコア、良い点、改善の提案が含まれ、1回につき1クレジットです。

リクエスト

bash
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"
  }'

レスポンス

json
{
  "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."
}
ターミナル派ならCLIで

@tutorflow/cliからも同じ呼び出しができます。agent registerでキーが~/.tutorflow/config.jsonに保存されるので、以降のコマンドではキーや教室を指定する必要はありません。

bash
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-42
CLIガイドを見る
エージェントにできること

人の手を借りずに、エージェントが進められること

Content APIキー1つで、REST、MCP、CLIのどれからでも使えます。RESTではすべての機能を、MCPでは登録、支払い、コース、採点を扱えます。

学習者の回答を採点

回答とルーブリックまたは模範解答を送ると、スコア、良い点、改善点が型付きのフィールドで返ってきます。

教材を作る

コース、試験、スライド、動画、モジュールを1回の呼び出しで作り始め、完了するまで進行状況を確認できます。

MCPツールとして呼び出す

サーバーURLとキーを追加するだけで、Claude CodeなどのMCPクライアントがTutorFlowをツールとして使えます。

人を介さずに登録

エージェントが自分でアカウントを作ると、キー、オンライン教室、50の体験クレジットが1回の応答でそろいます。

呼び出しごとの費用が明確

作業ごとに決まった数のクレジット(1クレジット2セント)が1つの残高から引かれます。実行前にestimatedCreditsで費用を確認でき、レート制限はレスポンスヘッダーで返ります。

用途ごとにキーを分ける

テストキーと本番キーを分け、キーごとに権限を絞り、必要に応じてローテーションできます。テストキーはサンドボックスのオンライン教室で動き、クレジットを消費しません。

処理が終わったら通知

Webhookを登録すると、生成、動画のレンダリング、採点が終わった時点で署名付きリクエストが届きます。

エージェントが指定した言語で

コンテンツもフィードバックも、エージェントが指定した言語で返します。

MCPサーバー

人だけでなく エ⁠ー⁠ジ⁠ェ⁠ン⁠ト⁠のた⁠め⁠に⁠も⁠。

エージェントはTutorFlowのツールを自分で見つけて使います。登録、残高の確認、コースの生成、進行状況の確認、回答の採点まで、HTTPのコードを書く必要はありません。

  • MCPクライアントの設定にサーバーを1つ追加すれば、Claude、GeminiなどどのMCPクライアントからでも接続できます
  • エージェントが自分で登録し、同じ呼び出しでキーを受け取ります
  • クレジットが残り少なくなると、人に決済リンクを送るか、x402が有効な環境ではUSDCで自ら支払います
  • 入力は型付きなので、呼び出しが間違っていれば理由が返ってきます
Claude Code
json
// .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
typescript
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...',
})
自己登録
json
// 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 }
料金

エージェントが作った分だけお支払い

すべての呼び出しはアカウントのクレジット残高1つから差し引かれ、1クレジットは2セントです。以下はエージェントに実際に適用される最新の料金表です。

作成するものクレジット米ドル
構成とすべてのレッスンを含むコース3クレジット + レッスンあたり6クレジット$0.06 + レッスンあたり$0.12
レッスンモジュール1つレッスンあたり6クレジットレッスンあたり$0.12
自動採点の設問を含む試験試験あたり3クレジット試験あたり$0.06
スライドのテキストページテキストページあたり1クレジットテキストページあたり$0.02
AI画像入りのスライドページ画像ページあたり3クレジット画像ページあたり$0.06
動画シーンのナレーションシーンあたり1クレジットシーンあたり$0.02
動画のMP4レンダリングレンダリングあたり3クレジットレンダリングあたり$0.06
すぐに遊べるゲームゲームあたり41クレジットゲームあたり$0.82
回答1件の採点リクエストあたり1クレジットリクエストあたり$0.02

請求のしくみ

  • メール認証が済めば、カードまたはBase上のUSDCで5ドルからチャージできます。
  • カードを登録しておくと、クレジットがなくなっても作業を続けられ、その分はカードに請求されます。
  • 新しいアカウントには50クレジットが無料で付与されます。
  • テストキーはサンドボックスのオンライン教室でのみ使え、クレジットを消費しません。
料金ガイドを読む
エージェントの準備ができたら

最初のコース作りを、今日エージェントに任せましょう

API、MCP、CLIのいずれかで登録してください。50の体験クレジットで、最初のコースといくつかの回答の採点まで試せます。