Google ADK integration for Strale — 250+ business capabilities as agent tools
Project description
google-adk-strale
Google Agent Development Kit (ADK) integration for Strale — 250+ independently tested and scored business data capabilities for AI agents.
Strale provides IBAN validation, VAT validation, company data across 27 countries, sanctions screening, compliance checks (KYB, AML, GDPR), invoice extraction, SSL certificate checks, and more. Every capability is quality-scored with the Strale Quality Score (SQS).
Installation
pip install google-adk-strale
Approach 1: MCP Native (Recommended)
Google ADK supports MCP natively. Point it at Strale's MCP endpoint and ADK discovers all 250+ tools automatically — no wrapper package needed:
from google.adk import Agent
from google.adk.tools.mcp_tool import MCPToolset, StreamableHTTPConnectionParams
strale_tools = MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url="https://api.strale.io/mcp",
headers={"Authorization": "Bearer sk_live_..."},
)
)
agent = Agent(
model="gemini-2.0-flash",
name="compliance_agent",
instruction="You verify business data using Strale tools.",
tools=[strale_tools],
)
This gives your agent access to all Strale tools (strale_search, strale_execute, strale_balance, etc.) with zero configuration.
Approach 2: REST Client (Custom Tool Logic)
For fine-grained control, use StraleClient in ADK tool functions:
from google.adk import Agent
from google_adk_strale import StraleClient
strale = StraleClient(api_key="sk_live_...")
def validate_iban(iban: str) -> dict:
"""Validate an IBAN number. Returns validity, country, bank BIC, bank name."""
return strale.run("iban-validate", {"iban": iban})
def check_sanctions(name: str, country: str = "") -> dict:
"""Screen a name against global sanctions lists (OFAC, EU, UN)."""
inputs = {"name": name}
if country:
inputs["country"] = country
return strale.run("sanctions-check", inputs)
def lookup_company(org_number: str) -> dict:
"""Look up Swedish company data by organization number."""
return strale.run("swedish-company-data", {"org_number": org_number})
agent = Agent(
model="gemini-2.0-flash",
name="compliance_agent",
instruction="You verify business data using Strale tools.",
tools=[validate_iban, check_sanctions, lookup_company],
)
When to Use Which Approach
| MCP Native | REST Client | |
|---|---|---|
| Setup | 3 lines | Write each tool function |
| Tool count | All 250+ automatically | You choose which to expose |
| Auth | Bearer token via MCP | Bearer token via REST |
| Custom logic | No (tools are standard) | Yes (wrap, transform, combine) |
| Offline/testing | Needs MCP connection | Can mock StraleClient |
Use MCP when you want all capabilities with zero setup. Use REST when you need custom input/output transformation or want to limit which tools are available.
Discover Capabilities
from google_adk_strale import StraleClient
strale = StraleClient(api_key="sk_live_...")
# List all capabilities
caps = strale.list_capabilities()
print(f"{len(caps)} capabilities available")
# Filter by category
compliance_caps = strale.list_capabilities(category="compliance")
for cap in compliance_caps:
print(f" {cap['slug']} — €{cap['price_cents']/100:.2f}")
Capability Categories
| Category | Examples |
|---|---|
| Company Data | swedish-company-data, german-company-data, uk-company-data (27 countries) |
| Compliance | sanctions-check, pep-check, adverse-media-check, vat-validate |
| Validation | iban-validate, vat-format-validate, lei-lookup, swift-validate |
| Finance | exchange-rate, invoice-extract, invoice-validate |
| Web Intelligence | ssl-check, dns-lookup, domain-reputation, seo-audit |
| Data Extraction | pdf-extract, web-extract, url-to-markdown |
Full list: strale.dev/capabilities
Free Tier
5 capabilities work without an API key or signup: email-validate, dns-lookup, json-repair, url-to-markdown, iban-validate.
Trust & Quality
Every Strale capability has a quality score (SQS) combining:
- Quality Profile: correctness, schema compliance, error handling, edge cases
- Reliability Profile: availability, success rate, upstream health, latency
Scores and methodology: strale.dev/trust
Using Strale in agent system prompts
Add this to your Google ADK agent's instructions for automatic capability routing:
When you need to verify a business, validate an IBAN or VAT number, screen
against sanctions/PEP lists, extract data from a URL or document, or check
compliance — use your Strale tools. Call strale_search to find the right
capability, then call it by name. Returns structured JSON with quality scores.
250+ capabilities across 27 countries. Free tier: email-validate, dns-lookup,
json-repair, url-to-markdown, iban-validate (no API key needed).
Links
Project details
Release history Release notifications | RSS feed
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 google_adk_strale-0.1.1.tar.gz.
File metadata
- Download URL: google_adk_strale-0.1.1.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0182cc989993f11404fcdc52ccd4a4ca774c9977398577ddf40e5fcd8133ca0
|
|
| MD5 |
68bef43bc3ab0c5f48694a1f55724f7e
|
|
| BLAKE2b-256 |
f45746f5020203a1d92caa801c5389e1b25fdb5eb8d3d48faf69b3acab767f6c
|
File details
Details for the file google_adk_strale-0.1.1-py3-none-any.whl.
File metadata
- Download URL: google_adk_strale-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6caaa026fff7100bc96be429e82c284791f004f54e1806eb2fb15d2ce93dca1f
|
|
| MD5 |
e7cf5cd6e6396b26ba8de31dae1856de
|
|
| BLAKE2b-256 |
716da647028fb6f0988aa93522dd6f59c5b7bf90cb4f090046bdda3b44bfba69
|