Skip to main content
Glama

Universal Agent Economy OS (UAE OS)

Python Version License Coverage Version

Universal Agent Economy OSは、爆発的に拡大するエージェント経済を支えるために設計された、MCP/A2Aネイティブな基盤コアプラットフォームです。これはセキュアな認証情報注入およびx402マイクロペイメントプロキシとして始まり、日々進化して完全なマルチ独占帝国(アイデンティティエンジン、決済、決済処理、コンプライアンスパック、垂直市場)へと成長します。

このv0プロキシスケルトンは、将来のすべてのモジュールが拡張するための揺るぎない基盤です。完全に**Model Context Protocol (MCP)およびAgent-to-Agent (A2A)**互換であり、自律型エージェントが人間の介入なしに相互に安全な発見、認証、支払いを行うことを可能にします。


Python SDKによるクイックスタート

UAE OSと対話する最も簡単な方法は、公式Python SDKを使用することです。これには、堅牢なコネクションプーリング、一時的なエラー(429、5xx)に対する自動指数バックオフ再試行、およびUAEErrorシステムに直接マッピングされる構造化された例外処理が含まれています。

1. インストール

リポジトリのルートから直接SDKをインストールします:

pip install -e .

2. 基本的な使用法とエラーハンドリング

import asyncio
from sdk.uaeos import UAEOSClient
from sdk.uaeos.client import RateLimitError, AuthError, InsufficientScopesError, APIError

async def main():
    # Initialize the client with your API key (uses async context manager for connection pooling)
    # The client automatically retries transient errors (max_retries=3 by default)
    async with UAEOSClient(api_key="sk_test_1234567890abcdef", base_url="http://127.0.0.1:8000") as client:
        try:
            # 1. Register a new agent in the Identity Engine
            agent = await client.register_agent(
                agent_id="agent_sdk_1", 
                name="SDK Test Agent", 
                metadata={"version": "1.0"}
            )
            print("Registered:", agent)
            
            # 2. Rotate/Issue a credential with cryptographic scopes
            cred = await client.rotate_credential(
                agent_id="agent_sdk_1",
                credential_type="stripe_live",
                new_secret_data={"api_key": "sk_live_new123"},
                expires_in_days=30
            )
            print("Credential Rotated:", cred)
            
            # 3. Execute an MCP/A2A tool call with x402 micropayment
            result = await client.execute(
                agent_id="agent_sdk_1",
                tool_call={
                    "target_agent_id": "agent_target_2",
                    "action": "process_data",
                    "payload": {"hello": "world"},
                    "required_scopes": ["read"]
                },
                credential_type="stripe_live",
                payment_amount=1.50
            )
            print("Execution Result:", result)
            
            # 4. Execute a direct A2A payment (no downstream HTTP call)
            payment_result = await client.execute_payment(
                agent_id="agent_sdk_1",
                payment_amount=5.00,
                target_agent_id="agent_target_3",
                action="data_purchase"
            )
            print("Payment Result:", payment_result)
            
            # 5. Get Usage Stats from the Analytics Engine
            stats = await client.get_stats()
            print("Global Stats:", stats)
            
            # 6. Generate a usage-based invoice for the agent
            invoice = await client.get_invoice(agent_id="agent_sdk_1")
            print("Generated Invoice:", invoice)
            
        except RateLimitError as e:
            # Raised if the agent exceeds the rate limit and max_retries are exhausted
            print(f"Rate limited! Retry after {e.retry_after} seconds. Request ID: {e.request_id}")
        except InsufficientScopesError as e:
            # Raised if the agent lacks the required scopes for the credential
            print(f"Permission denied: {e.message}")
        except AuthError:
            # Raised for 401 Unauthorized
            print("Invalid API Key!")
        except APIError as e:
            # Catch-all for other 4xx/5xx errors or network issues
            print(f"API Error ({e.status_code}): {e.message}")
        except Exception as e:
            print(f"An unexpected error occurred: {e}")

if __name__ == "__main__":
    asyncio.run(main())

v0.1 リリースノート

Universal Agent Economy OSの基盤リリースへようこそ!過去30日間で、MCP/A2Aネットワークのコアルーターとして機能する、高度にモジュール化された本番環境対応のプロキシスケルトンを構築しました。

v0.1.0の機能:

  • FastAPI + Pydantic v2 Core: 厳密に型付けされた高性能APIゲートウェイ。

  • Identity Engine: セキュアな認証情報の検索、注入、ローテーション、および暗号学的スコープ検証のためのSupabase統合。

  • Settlement Engine: x402マイクロペイメント処理、Stripe/Lightning Webhook検証、および使用量ベースの請求書生成。

  • A2A Routing: ダウンストリーム実行(httpx)を伴うインテリジェントなエージェント間ルーティングスタブ。

  • Compliance Packs: 監査ログおよび一意の adt_ ID生成。

  • Traffic Control: 適切な429応答を伴うRedis対応のレート制限(10リクエスト/分)。

  • Caching: 認証情報とスコープのためのRedis対応アイデンティティキャッシュ層。

  • Security: APIキー認証(Authorization: Bearer および X-API-Key)、CORSミドルウェア、カスタムセキュリティヘッダー、および構造化されたエラー報告(UAEError)。

  • Usage Analytics Dashboard: スレッドセーフなメモリ内使用量追跡、最近のアクティビティログ、およびグローバルな /stats ダッシュボード。

  • Python SDK: コネクションプーリング、指数バックオフ再試行、構造化されたエラーハンドリングを備えた公式の非同期ファーストPythonクライアント(UAEOSClient)。

  • Configuration: 真実の唯一のソースとしての集中型Pydantic設定(app/config.py)。

  • Deployment Ready: Docker化され、ワンクリックのRailwayデプロイ用に最適化済み。

  • 100% Test Coverage: 82の統合テストを含む、完全にモック化された包括的なテストスイート。


クイックスタート(ローカルサーバー)

  1. 依存関係のインストール

    pip install -r requirements.txt
  2. 環境設定 .env.example.env にコピーし、Supabaseの詳細を入力します(ローカルシミュレーションの場合はオプション)。

    cp .env.example .env
  3. サーバーの実行

    uvicorn app.main:app --reload

    APIは http://127.0.0.1:8000 で利用可能です。インタラクティブなSwagger UIについては http://127.0.0.1:8000/docs を確認してください。

  4. テストの実行

    pytest -v

クイックスタート(Docker)

分離されたコンテナでプロキシを実行するには:

  1. イメージのビルド

    docker build -t uae-os-proxy .
  2. コンテナの実行

    docker run -p 8000:8000 --env-file .env uae-os-proxy

環境変数

アプリケーションは完全に環境変数(app/config.pyによって管理)を介して設定されます。詳細は .env.example を参照してください。

変数

デフォルト

説明

API_KEY

(必須)

保護されたエンドポイントへのアクセスに必要なマスターAPIキー。

WEBHOOK_SECRET

(必須)

受信WebhookのHMAC署名を検証するために使用されるシークレット。

SUPABASE_URL

""

SupabaseプロジェクトURL(認証情報検索に使用)。

SUPABASE_KEY

""

Supabaseのanonまたはservice-roleキー。

ALLOWED_ORIGINS

["*"]

許可されたCORSオリジンのJSON配列。

STRIPE_API_KEY

""

本物のStripe統合用キー。

LIGHTNING_ENABLED

False

Lightningネットワークのマイクロペイメントを有効化。

BILLING_RATE_PER_CALL

0.01

使用量ベースの請求のためにAPI呼び出しごとに適用される固定レート。

RATE_LIMIT_MAX_REQUESTS

10

エージェントがウィンドウ内で行える最大リクエスト数。

RATE_LIMIT_WINDOW_SECONDS

60

レート制限のウィンドウ時間(秒)。

REDIS_URL

""

Redis接続文字列(例: redis://localhost:6379)。メモリ内フォールバックの場合は空のままにします。

注: Supabase変数が欠落している場合、アプリはテスト用にシミュレーションモードに正常にフォールバックします。


API使用例 (cURL)

プロキシエンドポイント(/proxy/execute)は保護されており、API_KEYが必要です。標準の Authorization: Bearer <key> ヘッダーまたは X-API-Key: <key> ヘッダーを使用して認証できます。

1. 基本的なツール呼び出し(支払いなし)

cURLを使用(Bearerトークン):

curl -X POST http://127.0.0.1:8000/proxy/execute \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk_test_1234567890abcdef" \
  -d '{
    "agent_id": "agent_alpha",
    "tool_call": {
      "url": "https://api.example.com/v1/data",
      "method": "POST",
      "payload": {"query": "test"}
    },
    "credential_type": "stripe_live"
  }'

2. x402マイクロペイメントを伴うMCP/A2Aツール呼び出し

決済をシミュレートして別エージェントにルーティングするには、payment_amount および target_agent_id フィールドを含めます。

curl -X POST http://127.0.0.1:8000/proxy/execute \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk_test_1234567890abcdef" \
  -d '{
    "agent_id": "agent_beta",
    "tool_call": {
      "target_agent_id": "agent_gamma",
      "action": "premium_data_fetch"
    },
    "credential_type": "custom_oauth",
    "payment_amount": 0.50
  }'

期待される応答:

{
  "success": true,
  "injected_credential": true,
  "x402_settled": true,
  "transaction_id": "tx_a1b2c3d4e5f6",
  "audit_id": "adt_9876543210abcdef"
}

デプロイメント(ゼロコスト / ワンクリック)

Dockerfileは最新のPaaSプロバイダー向けに最適化されています。軽量なPython 3.11 slimイメージを使用し、ポート8000を公開し、0.0.0.0 にバインドします。

Railwayへのデプロイ(推奨)

Railwayは、含まれている railway.tomlDockerfile を自動的に読み取るシームレスなワンクリックデプロイ体験を提供します。

  1. GitHubへプッシュ: このリポジトリをGitHubリポジトリにコミットします。

  2. Railwayに接続: Railway にログインし、New Project -> Deploy from GitHub repo をクリックします。

  3. リポジトリを選択: 新しくプッシュしたリポジトリを選択します。

  4. 環境変数の設定: Railwayプロジェクトダッシュボードの Variables タブに移動し、API_KEYWEBHOOK_SECRET、およびオプションのSupabase/Stripeキーを追加します。本番環境ではシークレットに対して強力なランダム文字列を生成してください。

  5. デプロイ: Railwayが自動的に railway.toml ファイルを検出し、Dockerイメージをビルドしてデプロイします。

期待されるライブURLパターン: https://agent-economy-os-production.up.railway.app

本番環境の監視と検証

デプロイ後、サービスが実行されていることを確認し、パブリックエンドポイントを使用して健全性を監視できます。これらはPaaSのヘルスチェックに使用する推奨エンドポイントです:

  • ヘルスチェック: https://agent-economy-os-production.up.railway.app/health

    • 基本的なステータス、バージョン、タイムスタンプを返します。

  • メトリクス: https://agent-economy-os-production.up.railway.app/metrics

    • 稼働時間と計測されたエージェントの合計を返します。

注: 現在のレート制限とキャッシュはメモリ内にあるため、Redisが完全に統合されるまでは、PaaSが単一のインスタンス/レプリカ(無料ティアのデフォルト)を実行するように設定されていることを確認してください。

Stripe Webhookの設定

ライブStripe決済のリアルタイム決済追跡を有効にするには、StripeダッシュボードでWebhookを設定します:

  1. Stripeダッシュボードの Developers > Webhooks に移動します。

  2. Add endpoint をクリックします。

  3. Endpoint URLhttps://agent-economy-os-production.up.railway.app/webhooks/stripe に設定します。

  4. Events to send を選択します: payment_intent.succeeded および payment_intent.payment_failed

  5. Add endpoint をクリックします。

  6. Signing secret (whsec_ で始まる) を表示し、Railwayの環境変数に STRIPE_WEBHOOK_SECRET として追加します。


貢献

貢献を歓迎します!Universal Agent Economy OSは、エージェント経済の決定的なオープンソース標準となるように設計されています。

プルリクエストを送信する前に、すべてのテストがパスし(pytest -v)、カバレッジが100%であることを確認してください。新しいモジュールを追加する場合は、既存のプロキシ実行フローを壊すことなく、既存のアーキテクチャの上に構築されていることを確認してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sommerhussain/agent-economy-os'

If you have feedback or need assistance with the MCP directory API, please join our Discord server