メインコンテンツへスキップ
組織の作成、ToolSetの構築、ツールの作成、Sandbox環境での実行を通じて、Jinba Toolbox を始めましょう。

作るもの

以下を行うツールを含むシンプルなToolSet:
  1. テキスト入力を受け取る
  2. 隔離されたSandboxで処理する
  3. 構造化された出力を返す

前提条件

手順

1

サインアップしてOrganizationを作成

toolbox.jinba.io にアクセスし、アカウントにサインインします。サインイン後、新しいOrganizationを作成します。Organization は、すべてのToolSetとチームメンバーの所有単位です。
  1. ダッシュボードで**「Create Organization」**をクリック
  2. 名前とスラッグを入力(例:my-team
  3. **「Create」**をクリック
Organization のスラッグはAPIのURLやMCPエンドポイントで使用されます。
2

ToolSetを作成

ToolSetは、共有の実行環境を持つ関連ツールのコレクションです。npmパッケージやDockerイメージに似ています。
  1. Organization のダッシュボードに移動
  2. **「New ToolSet」**をクリック
  3. 詳細を入力:
    • Name:例 text-utils
    • Description:例 “Text processing utilities”
    • Language:TypeScript または Python を選択
    • Sandbox Provider:E2B または Daytona を選択
    • Visibility:Private(デフォルト)または Public
  4. **「Create ToolSet」**をクリック
3

最初のToolを作成

Toolは、ToolSet内の個別の実行可能ユニットです。各ツールには入力スキーマ、出力スキーマ、コードがあります。
  1. 作成したToolSetを開く
  2. **「Add Tool」**をクリック
  3. ツールを設定:
    • Nameword-count
    • Description:“Counts words in a given text”
  4. 入力スキーマを定義:
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The text to count words in"
    }
  },
  "required": ["text"]
}
  1. 出力スキーマを定義:
{
  "type": "object",
  "properties": {
    "wordCount": {
      "type": "number",
      "description": "Number of words in the text"
    }
  },
  "required": ["wordCount"]
}
  1. ツールのコードを記述(TypeScript):
export default async function run(input: { text: string }) {
  const words = input.text.trim().split(/\s+/).filter(Boolean);
  return { wordCount: words.length };
}
  1. **「Save」**をクリック
4

Toolをテスト

公開前に、ツールが正しく動作するかテストします。
  1. ツール詳細ページで**「Test」**ボタンをクリック
  2. サンプル入力を入力:
{
  "text": "Hello world from Jinba Toolbox"
}
  1. **「Run Test」**をクリック
  2. 出力を確認:
{
  "wordCount": 5
}
ツールは隔離されたSandboxコンテナ内で実行されます。Run の詳細で stdout、stderr、実行時間を確認できます。
5

Versionを公開

テストが成功したら、ToolSetの不変Versionを公開します。
  1. ToolSetのVersionsタブに移動
  2. **「Publish Version」**をクリック
  3. semverのバージョン番号を入力(例:1.0.0
  4. **「Publish」**をクリック
公開されたVersionは不変のスナップショットです。今後の変更には新しいVersionの公開が必要です。
6

APIまたはMCPで実行

これで、ツールをプログラムから呼び出す準備ができました。REST APIを使用する場合:
curl -X POST https://toolbox-api.jinba.dev/v1/orgs/{orgId}/toolsets/text-utils/tools/word-count/run \
  -H "Authorization: Bearer jtb_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello world from Jinba Toolbox"}'
TypeScript SDKを使用する場合:
import { createClient } from "@jinba-toolbox/sdk";

const client = createClient({
  apiKey: process.env.JINBA_TR_API_KEY,
});

const result = await client.run("text-utils", "word-count", {
  text: "Hello world from Jinba Toolbox",
});

console.log(result.output); // { wordCount: 5 }
MCPエンドポイントを使用する場合(AIエージェント向け):ToolSetはMCPサーバーとしても利用可能です:
POST /v1/public/{orgSlug}/{toolsetSlug}/mcp
Model Context ProtocolをサポートするAIエージェントから、ツールを直接呼び出せます。

次のステップ