AvianSuite について
Stellar JayはAvianSuiteを支えるオープンソースのデータストアで、エージェントが組織データを使って業務プロセスを実行できます。エージェントの変更元を追跡し、履歴を保管して、変更を取り消したい開発者やチーム向けです。
主な機能
- 01追記型でバージョン管理される業務データ
- 02エージェントトークンによる変更元の記録
- 03エージェントの変更をプレビューしてロールバック
- 04改ざんを検知できる履歴
- 05冪等な再試行と古い書き込みの防止
- 06マイグレーション不要の柔軟なJSONデータ
活用シーン
- 01エージェントに運用や会計の記録を更新させる
- 02業務データを記録したエージェントを確認
- 03指定期間内のエージェントの変更を取り消す
- 04再試行時の重複や古い書き込みを防ぐ
MCP 対応
Stellar Jayは、エージェントがMCP経由で接続するサーバーを提供し、ホスト型とセルフホスト型の設定に対応します。MCPサーバーは書き込みトークンを使ってエージェントをストアに接続します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.aviansuite.com/mcpclaude mcp add --transport http com-aviansuite-stellar-jay https://mcp.aviansuite.com/mcp{"mcpServers":{"com-aviansuite-stellar-jay":{"type":"http","url":"https://mcp.aviansuite.com/mcp"}}}Cursor で開く{"servers":{"com-aviansuite-stellar-jay":{"type":"http","url":"https://mcp.aviansuite.com/mcp"}}}VS Code で開く{"mcpServers":{"com-aviansuite-stellar-jay":{"type":"http","url":"https://mcp.aviansuite.com/mcp"}}}{"mcpServers":{"com-aviansuite-stellar-jay":{"serverUrl":"https://mcp.aviansuite.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Stellar Jay
Stellar Jay は、AvianSuite を支えるオープンソースのデータストアです。 AvianSuite はエージェントネイティブなビジネスデータプラットフォームです。AI エージェントは、営業フォローアップや簿記などのビジネスプロセスを会社のデータ上で実行し、エージェントが行った変更はすべてバージョン管理され、変更を行ったエージェントに帰属が記録され、元に戻すことができます。ビジネスデータの Git のようなものだと考えてください。
エージェントは MCP 経由で接続します。サーバーは MCP レジストリに com.aviansuite/stellar-jay として掲載されており、CRM(Martin)アプリと簿記(Magpie)アプリは同じストア上で動作します。このプロジェクトは以前、JayBase という名前でした。
- ホステッド: AvianSuite が Stellar Jay を運用します。ストアあたり月額 $20 で、14 日間の無料トライアルを利用できます。
- セルフホスト: AGPL のもとで無料のオープンソースです。以下のクイックスタートを使えば、数分でマシン上にストアを起動できます。
エージェントのセットアップ
MCP サーバーを使ってエージェントを接続します。AvianSuite では、リモートサーバーを追加します。
# Claude Code
claude mcp add --transport http aviansuite https://mcp.aviansuite.com/mcp
// Cursor: .cursor/mcp.json
{"mcpServers": {"aviansuite": {"url": "https://mcp.aviansuite.com/mcp"}}}
Claude と ChatGPT では、同じ URL を使ってカスタムコネクターを追加します。
セルフホストのストアでは、代わりにローカルサーバーを実行します。
{
"mcpServers": {
"aviansuite": {
"command": "stellarjay-mcp",
"env": {"STELLARJAY_URL": "https://store.example.com", "STELLARJAY_TOKEN": "writer-token"}
}
}
}
go install github.com/kyle-visner/stellarjay/cmd/stellarjay-mcp@latest でインストールします。ツールと詳細については、docs/mcp.md をご覧ください。
理由
クライアントが求めているのは、ただ情報を読むだけでなく、作業を実行するエージェントです。しかし、エージェントが CRM やチケット管理システムに直接書き込む場合、誤った判断や制御不能なループによってレコードが上書きまたは削除される可能性があり、元に戻す手段がないことも少なくありません。
Stellar Jay は、それが起きないように設計されています。
- 上書きも削除もされません。 訂正や撤回は新しいエントリーとして記録され、元の内容は履歴に残ります。
- すべての変更に実行者が記録されます。 エージェントごとに専用のトークンが付与されるため、どのエージェントが、いつ、何を変更したかを正確に確認できます。
- あらゆる変更を元に戻せます。 まずプレビューを確認してから、指定した期間内に1つのエージェントが行った変更をすべてロールバックできます。
- 履歴は改ざんを検知できます。 過去のエントリーが書き換えられたり削除されたりすると、それが明らかになります。
- 再試行しても安全です。 タイムアウト後にエージェントが再試行しても重複は作成されず、古い情報に基づく書き込みは拒否されます。
- データの柔軟性が保たれます。 事実は JSON 形式なので、新しいフィールドや新しい種類のレコードを追加する際にマイグレーションは不要です。
すべての事実には、その根拠と記録したエージェントが保持されるため、誤った内容は確認でき、記録者を特定して訂正できます。
対象ユーザー
読み取り専用のコパイロットから、実際に操作できるエージェントへの移行を進める開発者、コンサルタント、小規模チームが対象です。業務運営、会計、承認、サポートなど、データが重要となる業務に適しています。各ストアは1つの組織にサービスを提供します。複数のエージェントやアプリで共有できます。
クイックスタート(セルフホスト)
Go 1.22 以降が必要です。
1. インストールしてシークレットを作成します。
go install github.com/kyle-visner/stellarjay/cmd/stellarjay-server@latest
stellarjay-server init ./secrets
init はデータ暗号化キーを作成し、管理者、書き込み、読み取り用のトークンを一度だけ表示します。パスワードマネージャーに保存してください。
2. サーバーを起動します。
export STELLARJAY_DATA_DIR=./data
export STELLARJAY_DATA_KEY_FILE=./secrets/data_key
export STELLARJAY_AUTH_FILE=./secrets/auth.json
stellarjay-server serve
127.0.0.1:8080 でリッスンします。
3. 事実を記録します。 別のターミナルで実行します。
export STELLARJAY_URL=http://127.0.0.1:8080
export STELLARJAY_TOKEN='the-writer-token'
curl -fsS -X POST "$STELLARJAY_URL/v1/events" \
-H "Authorization: Bearer $STELLARJAY_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: first-fact" \
--data '{
"type": "business.fact",
"entity_id": "customer-42",
"command": "fact assert",
"payload": {"predicate": "primary_contact", "value": "Ada Lovelace"},
"expected_root": ""
}'
expected_root が空になるのは、新しいストアへの最初のエントリーの場合だけです。それ以降は、現在の値を GET /v1/root から読み取り、各書き込みとともに送信してください。これにより、古い情報に基づく書き込みは拒否されます。API ガイドでは、履歴の読み取り、ページネーション、名前付きチェックポイント、スナップショットについて説明しています。
4. エージェントを接続します。 MCP サーバーをストアに接続します。
go install github.com/kyle-visner/stellarjay/cmd/stellarjay-mcp@latest
次に、エージェントのセットアップのセルフホスト設定を使い、STELLARJAY_URL=http://127.0.0.1:8080 と書き込みトークンを指定します。MCP を使わないエージェントは $STELLARJAY_URL/llm.txt を読み取ることで、ストアの操作方法を確認できます。
サーバーにデプロイする
HTTPS 対応の本番ストアには、Docker Compose を備えた Linux ホスト、開放されたポート 80 と 443、ホストを指す DNS レコードが必要です。
git clone https://github.com/kyle-visner/stellarjay.git
cd stellarjay
cp .env.example .env
# Edit .env and set STELLARJAY_DOMAIN.
go run ./cmd/stellarjay-server init ./secrets
docker compose up -d --build
curl https://stellarjay.example.com/health/ready
init は既存のシークレットを置き換えません。
運用ランブックではバックアップ、トークンのローテーション、アップグレードについて説明し、
セキュリティモデルではキー、ロール、セキュリティ強化について説明しています。これらすべてを省略して、AvianSuiteを利用することもできます。
ドキュメント
- llm.md:安全に読み書きするためのエージェント向けガイド
- docs/mcp.md:MCP サーバーのセットアップとツール
- docs/how-it-works.md:ストレージモデル、デプロイ、組み込み Go ライブラリ
- docs/api.md:HTTP API リファレンス(OpenAPI)
- docs/architecture.md、docs/security.md、 docs/operations.md:本番環境での運用
開発
GOCACHE=/tmp/stellarjay-gocache go test -race ./...
GOCACHE=/tmp/stellarjay-gocache go vet ./...
docker compose config
docker build -t stellarjay:test .
ライセンス
AGPL-3.0-or-later。LICENSEを参照してください。ホスト型の Stellar Jay は
AvianSuiteから利用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。