Skip to main content

AgentID — Service-side SDK for verifying AI agent JWTs and reporting activity

Project description

agent-id-service-sdk

AgentID Service SDK — for services and APIs to verify AI agent JWTs and report activity back to the IdP.

Installation

pip install agent-id-service-sdk

Quick Start

from agent_id_service_sdk import AIPVerifier

verifier = AIPVerifier(
    trusted_providers=["qwenpaw.ai"],
    audience="https://my-service.example.com",
)

# HTTP (REST)
agent = await verifier.verify(request.headers["Authorization"])

# WebSocket / gRPC / MCP — use verify_token() with the raw JWT
agent = await verifier.verify_token(raw_jwt_string)

print(f"Agent: {agent.agent_id}, Principal: {agent.principal}")

Features

  • Transport-agnosticverify() for HTTP headers, verify_token() for raw JWTs (WebSocket, gRPC, MCP)
  • Multi-algorithm support — Verifies JWTs signed with ES256 (ECDSA P-256) or EdDSA (Ed25519)
  • Key rotation resilience — Automatically refetches JWKS when an unknown kid is encountered
  • Clock skew tolerance — Configurable leeway (default 30s) for JWT expiry checks
  • JWKS caching — Caches provider public keys with configurable TTL (default 1 hour)
  • Activity reporting — Built-in AIPActivityReporter for sending activity logs back to the IdP

Configuration

verifier = AIPVerifier(
    trusted_providers=["qwenpaw.ai", "other-idp.example.com"],
    audience="https://my-service.example.com",
    cache_ttl=3600,            # JWKS cache TTL in seconds (default: 1 hour)
    clock_skew_seconds=30,     # Clock skew tolerance (default: 30s)
    provider_urls={            # Optional: override base URLs (e.g. for local dev)
        "localhost": "http://localhost:8000",
    },
)

Documentation

See the AgentID repository for full documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_id_service_sdk-0.3.0.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_id_service_sdk-0.3.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file agent_id_service_sdk-0.3.0.tar.gz.

File metadata

  • Download URL: agent_id_service_sdk-0.3.0.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for agent_id_service_sdk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6512e397d2cc01b6c6392d058a2212994f9b477205f45ea788ecf69798dc3f03
MD5 85655111f2969e95e837d7a5ae6aeb59
BLAKE2b-256 18b2c8e1a6b163cbcb6b7098253f81e381fb0c1a564c146b4ce9db5568169061

See more details on using hashes here.

File details

Details for the file agent_id_service_sdk-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_id_service_sdk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0aeccec31f1e37af3c4e504cb06f89818eba0974f42629e5f6ea8d14832d828
MD5 ffe7f55b6fe83092ce0b6dc7913ceea3
BLAKE2b-256 94fba79fd4aa30ba04d1bd2f3f29884e5b77ffc53e04cd3d0d7fe39fbefcf0d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page