Google ADK integration for the Grantex delegated authorization protocol — scope-enforced agent tools
Project description
grantex-adk
Google Agent Development Kit (ADK) integration for the Grantex delegated authorization protocol — scope-enforced agent tools.
Wrap any function with Grantex grant token verification so your agents can only use tools they've been authorized for.
Homepage | Docs | Sign Up Free | GitHub
Install
pip install grantex-adk
You also need the Google ADK installed (it's a peer dependency):
pip install google-adk
Quick start
from grantex_adk import create_grantex_tool
from google.adk import Agent
# Create a scope-enforced tool from any function
read_calendar = create_grantex_tool(
name="read_calendar",
description="Read upcoming calendar events",
grant_token=grant_token, # JWT from Grantex authorization flow
required_scope="calendar:read",
func=get_calendar_events, # your function
)
# Google ADK uses plain functions as tools — just pass them directly
agent = Agent(
model="gemini-2.0-flash",
name="assistant",
tools=[read_calendar],
)
If the grant token doesn't include the required scope, create_grantex_tool raises a PermissionError immediately — the tool is never created.
API reference
create_grantex_tool()
Creates a plain function with the correct __name__ and __doc__ for ADK tool discovery, with offline scope enforcement.
| Parameter | Type | Description |
|---|---|---|
name |
str |
Tool name (becomes __name__) |
description |
str |
Tool description (becomes __doc__) |
grant_token |
str |
JWT grant token from Grantex |
required_scope |
str |
Scope that must be present in the token |
func |
Callable[..., str] |
The function to wrap |
get_tool_scopes()
Returns the scopes embedded in a grant token (offline, no network call).
decode_jwt_payload()
Decodes the payload of a JWT without verifying the signature. Useful for inspecting token claims.
Requirements
- Python 3.9+
grantex >= 0.1.0google-adk >= 0.2.0(peer dependency)
Grantex Ecosystem
This package is part of the Grantex ecosystem. See also:
grantex— Core Python SDK@grantex/sdk— TypeScript SDKgrantex-crewai— CrewAI integrationgrantex-openai-agents— OpenAI Agents SDK integration@grantex/mcp— MCP server for Claude Desktop / Cursor / Windsurf
License
Apache-2.0
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grantex_adk-0.1.3.tar.gz.
File metadata
- Download URL: grantex_adk-0.1.3.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a21f270fb0984bd4b98881be40def86cebda9f199c7e075445d2b1727a8fa146
|
|
| MD5 |
5244af4b6536afbf02f0b19233f888d1
|
|
| BLAKE2b-256 |
bc2803fc89c81ef4730927020f0df41eba4e0b9910072c974281d7117739e615
|
File details
Details for the file grantex_adk-0.1.3-py3-none-any.whl.
File metadata
- Download URL: grantex_adk-0.1.3-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b848551182891fa099590d580715084185373f1bdfbfe1f326862388b131b89
|
|
| MD5 |
3261da2583f02bb7ddd85f2267779f5d
|
|
| BLAKE2b-256 |
8d9e169685a8c356927f60dc5ef66af1f34b5120401ffc8c6362f457d30c9843
|