mcpField
A
agentlair

agentlair

ローカル
agentlair.devコミュニケーション510 週間前に更新

agentlair について

AgentLair は、AI エージェントにメール、暗号化された認証情報の保管、監査記録、行動ベースの信頼スコアを提供する API と MCP サーバーです。OAuth を使わず、エージェントの行動を追跡したい開発者向けです。

主な機能

  1. 01エージェントメールの送受信
  2. 02クライアント側で暗号化する認証情報保管庫
  3. 03署名付きで検証可能な監査イベント
  4. 04行動に基づく信頼スコア
  5. 05デプロイ向けの名前空間分離

活用シーン

  1. 01セッションをまたいだ受信メール処理
  2. 02認証情報の暗号文での保管
  3. 03エージェントの行動の検証と監査
  4. 04共有メモリへの書き込み前の信頼評価

MCP 対応

MCP サーバーは、エージェント登録、メール、保管庫の読み書き、監査イベント、信頼スコア照会に対応する9つのツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"piiiico-agentlair": {
"command": "npx",
"args": [
"-y",
"@agentlair/mcp"
],
"env": {
"AGENTLAIR_API_KEY": "<AGENTLAIR_API_KEY>"
}
}
}
}
起動コマンドnpx -y @agentlair/mcp
設定が必要な環境変数
AGENTLAIR_API_KEYシークレットYour AgentLair API key. Get a free key at https://agentlair.dev (POST /v1/auth/keys).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@agentlair/mcp1.3.0

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
addressstringはい取得する完全なアドレス(例:"[email protected]")。末尾は @agentlair.dev である必要があります。

詳細

AgentLair

AI エージェントにメールアドレス、暗号化されたボルト、行動に基づく信頼スコアを提供します。OAuth 不要の単一 API です。

npm: @agentlair/mcp npm: @agentlair/sdk

機能説明
メール@agentlair.dev でメールを送受信します。OAuth も人間による承認も不要です。
ボルト暗号化された認証情報ストレージです。クライアント側の AES-GCM を使用し、サーバーには暗号文のみが保存されます。
監査証跡すべてのアクションが Ed25519 署名付きで記録されます。改ざんを検知でき、個別に検証可能です。セキュリティ上の検出事項には永続的な公開 URL が付与されます — 検証済みの検出事項を見る →
信頼スコアリング観察されたアクション(一貫性、自制、透明性)から算出される行動スコア(0~100)です。
MCP サーバーすべての機能を、Claude Code、Cursor、その他あらゆる MCP クライアントで MCP ツールとして利用できます。
ポッドマルチエージェントまたはマルチテナントのデプロイ向けの名前空間分離です。

30 秒で試す

サインアップ不要です。ライブの信頼スコア応答を確認できます。

# Healthy agent — high trust (score 84, principal level)
curl https://agentlair.dev/v1/demo
{
  "agentId": "acc_demo_healthy_XXXXXXXXXX",
  "score": 84,
  "confidence": 0.91,
  "atfLevel": "principal",
  "trend": "stable",
  "dimensions": {
    "consistency":   { "score": 0.82 },
    "restraint":     { "score": 0.87 },
    "transparency":  { "score": 0.80 }
  },
  "observationCount": 1847
}
# Suspicious agent — score 31, declining trend
curl 'https://agentlair.dev/v1/demo?scenario=suspicious'

# New agent — only 11 observations, wide confidence interval
curl 'https://agentlair.dev/v1/demo?scenario=new'

IP ごとに 1 分あたり 10 リクエストまでに制限されています。応答の形式は、ライブの /v1/trust/:agentId エンドポイントと同じです。

完全なインタラクティブデモ — 実際のエージェントを登録し、観察結果を送信して、ライブの信頼スコアを取得します(curl + jq、約 60 秒)。

curl -sL https://raw.githubusercontent.com/piiiico/agentlair/main/examples/quickstart.sh | bash

エージェントを登録する

curl -X POST https://agentlair.dev/v1/auth/agent-register \
  -H "Content-Type: application/json" \
  -d '{"name": "my-research-agent"}'
{
  "api_key": "al_live_...",
  "account_id": "acc_...",
  "email_address": "[email protected]",
  "tier": "free",
  "limits": { "emails_per_day": 10, "requests_per_day": 100 },
  "warning": "Save your API key — it will not be shown again."
}

以降、エージェントは api_key で認証し、メールの送信、認証情報の保存、署名付き監査イベントの発行を行います。

クイックスタート:AgentLair をエージェントに追加する

1. インストール

pip install agentlair            # Python
npm install @agentlair/sdk       # TypeScript / Node

2. 環境変数を設定する

export AGENTLAIR_API_KEY=al_live_...
export [email protected]

3. ライフサイクルフックを接続する

# Python — three integration points
import os, agentlair
lair = agentlair.AgentLair(os.environ["AGENTLAIR_API_KEY"])
addr = os.environ["AGENTLAIR_EMAIL"]

async def on_session_start(ctx):
    result = await lair.email.inbox(addr)
    if result["messages"]:
        ctx.prepend(f"Inbox: {len(result['messages'])} unread")

async def send_message(to, subject, text):  # expose as LLM tool
    await lair.email.send(from_address=addr, to=to, subject=subject, text=text)

async def on_session_end(ctx):  # advance cursor so messages aren't re-delivered
    if ctx.last_message_id:
        await lair.vault.store("inbox_cursor", ctx.last_message_id)
// TypeScript
import { AgentLair } from '@agentlair/sdk';
const lair = new AgentLair(process.env.AGENTLAIR_API_KEY!);
const addr = process.env.AGENTLAIR_EMAIL!;

// Session start — drain inbox before planning
const { messages } = await lair.email.inbox(addr);
if (messages.length) context.prepend(`Inbox: ${messages.length} pending`);

// Expose as tool — let the LLM send replies
const sendMessage = (to: string, subject: string, text: string) =>
  lair.email.send({ from: addr, to, subject, text });

オフライン中にメッセージが蓄積され、次のセッション開始時にまとめて処理されます。プラグインの完全な例(peek+ack、クラッシュセーフな配信)については、hermes-agentlair をご覧ください。

MCP サーバー

npx @agentlair/mcp@latest

MCP クライアントに 9 つのツールを追加します。エージェントの登録、メールの送受信、ボルトへの保存と取得、監査イベントの発行、信頼スコアの照会が可能です。

エージェントのメモリには信頼レイヤーが必要です

エージェントのメモリは実際のインフラストラクチャです。4 層のメモリ階層、マルチエージェントリース、エージェントセッションをまたいで保存・取得するための 51 以上の MCP ツールがあります。複数のエージェントがメモリプールを共有することで、このカテゴリーは機能します。

課題は、どのエージェントでも共有メモリに何でも書き込めることです。誰が何を書いたのかを検証できず、意見の分かれる状態を監査する方法もなく、破壊的な書き込みを信頼度に応じて制御することもできません。アイデンティティのない共有メモリプールは、誰でも書き込めるメモ帳にすぎません。

すべての書き込みは、誰によるものかを追跡できる必要があります。 AgentLair の Agent Attestation Token(AAT)は、エージェントの did:web アイデンティティと行動に基づく信頼スコアを含む、短期間有効な EdDSA JWT です。メモリへの書き込みで Authorization ヘッダーとして提示すると、書き込みに暗号学的な署名が付与され、監査可能になります。

import { AgentLair } from '@agentlair/sdk';

const lair = new AgentLair(process.env.AGENTLAIR_API_KEY!);

// Issue a short-lived AAT (5 min) scoped to the memory server
const { token } = await lair.tokens.issue({
  audience: 'memory.internal',
  ttl: 300,
  scopes: ['memory:write'],
});

// Write to shared memory — this write is now attributed and trust-gated
await fetch('https://memory.internal/mcp/memory/write', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,  // signed agent identity
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    key: 'research/competitor-analysis',
    value: { /* ... */ },
  }),
});

メモリサーバーは標準的な JWKS を介して AAT を検証します。受信側で AgentLair SDK を使う必要はありません。al_trust クレームを利用することで、行動に基づく信頼レベルに応じた書き込み制御が可能です(例:junior 未満のエージェントからの書き込みを拒否する)。

AAT なし:共有メモリ = 共有メモ帳。どのエージェントでも何でも書き込め、意見の分かれる状態の出所を確認できません。
AAT あり:共有メモリ = 信頼グラフ。すべての書き込みに署名が付き、書き込み元が特定され、監査可能になります。

SDK

npm install @agentlair/sdk

AgentLair API 用の TypeScript クライアントです。詳しくは agentlair.dev/getting-started をご覧ください。

無料プラン

  • 1 日あたりメール 10 通
  • 1 日あたり API リクエスト 100 件
  • メールアドレス 10 個

Pro:上限を増やせる月額 $5/スタックのプランです。

アーキテクチャ

  • API:Cloudflare Workers — エッジにデプロイされ、低レイテンシです
  • 状態:Cloudflare KV
  • Vault の暗号化:@agentlair/vault-crypto によるクライアント側の AES-GCM 暗号化です。サーバーに保存されるのは暗号文のみで、保存時に認証情報が平文になることはありません。
  • 監査証跡:Ed25519 署名付きのイベントチェーンです。各イベントは、サーバーを信頼することなく個別に検証できます。

AgentLair で独自のエージェントインフラストラクチャを本番環境で運用してきました。本番環境での行動的信頼スコアリングの構築で起きた問題と、そこから得た学びについては、こちらをご覧ください:agentlair.dev/blog/from-0-to-41-building-behavioral-trust-in-production

ドキュメント

agentlair.dev/getting-started

AAT × APS の境界(プロトコル間のリファレンス)

AgentLair AAT は発行者内のセッション ID です。AEOESS APS は、引き渡し後の委任チェーンと二者間の受領証を扱います。3 つのクレームが 2 つのレイヤーを橋渡しします。jti(APS 受領証上のセッションアンカー)、al_nid(1 つの Ed25519 キーで AAT と APS 受領証の両方に署名)、al_trust(iat 時点での発行者が証明した行動スナップショット。APS 検証側でインポート時のダウングレードに利用可能)です。

共同管理のリファレンス:

リポジトリ構成

packages/
  worker/          — Core API worker (Cloudflare Workers)
  sdk/             — @agentlair/sdk client library
  mcp-server/      — @agentlair/mcp MCP server
  vault-crypto/    — @agentlair/vault-crypto end-to-end encryption
  verify/          — @agentlair/verify AAT token verification
  email-worker/    — Email processing worker

apps/
  dashboard/       — Agent dashboard UI
  email-channel/   — Email MCP channel

開発

bun install        # install all dependencies
bun run typecheck  # type-check all packages

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。