Strale - 290+ API capabilities for AI agents
290+ quality-scored API capabilities for AI agents across 27 countries via MCP.
Open source Repository Open in the app JSON README (API)
About
290+ quality-scored API capabilities for AI agents across 27 countries via MCP.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- strale-io
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 0.2.4
- Stars
- 5
- Forks
- 1
- Last push
- 2026-09-05T06:57:11Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 04:01:29
- Updated
- 2026-08-29 04:01:29
- Origin id
io.github.strale-io/strale
README
# Strale
Trust and quality infrastructure for AI agents.
[](https://glama.ai/mcp/servers/strale-io/strale)
[](https://www.npmjs.com/package/strale-mcp)
[](https://www.npmjs.com/package/straleio)
[](https://pypi.org/project/straleio/)
[](LICENSE)
[](https://strale.dev)
## What Strale is
Strale is a capability marketplace for AI agents. Agents call `strale.do()`
at runtime to reach verified capabilities — company registry lookups,
compliance checks, financial validation, Web3 security, and more — plus
bundled solutions for multi-step workflows like a full KYB check or company
due diligence, instead of the agent's own code hardcoding integrations and
managing credentials for every data source it might need.
Every capability is watched: free-tier capabilities are tested against real
upstreams on a schedule, paid capabilities are watched through production
observability and an enforced quality floor, and every call returns a
structured, auditable result with source provenance. The current catalog,
free-tier list, and country coverage are live values, not numbers printed
here — see [How to use it](#how-to-use-it) below for where to read them.
## How to use it
### MCP server (recommended: no install)
```json
{
"mcpServers": {
"strale": {
"type": "streamableHttp",
"url": "https://api.strale.io/mcp",
"headers": {
"Authorization": "Bearer sk_live_your_key_here"
}
}
}
}
```
Works with Claude Desktop, Claude Code, Cursor, and any MCP client
supporting Streamable HTTP. For local stdio instead, or the full tool
surface, see [`packages/mcp-server/README.md`](packages/mcp-server/README.md).
### TypeScript SDK
```bash
npm install straleio
```
```typescript
import Strale from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY });
const result = await strale.do("eu-vat-validate", { vat_number: "SE556000000001" });
```
Full reference: [`packages/sdk-typescript/README.md`](packages/sdk-typescript/README.md).
### Python SDK
```bash
pip install straleio
```
```python
from straleio import Strale
strale = Strale(api_key="your_api_key")
result = strale.do("eu-vat-validate", {"vat_number": "SE556000000001"})
```
Full reference: [`packages/sdk-python/README.md`](packages/sdk-python/README.md).
### Get started without an API key
A subset of capabilities (email/IBAN/crypto-address validation, DNS lookup,
JSON repair, URL-to-markdown, and more) work with no signup, no API key, and
no wallet — only an IP-based daily rate limit. Read the current list from
`GET /v1/platform/facts` (`free_tier_slugs`), not from a number in this
file. Get a key and trial credits at [strale.dev](https://strale.dev) when
you need the rest of the catalog.
### Framework integrations
| Package | Registry | Description |
| --- | --- | --- |
| [`strale-mcp`](https://www.npmjs.com/package/strale-mcp) | npm | MCP server — the full capability catalog via Claude, Cursor, any MCP host |
| [`straleio`](https://www.npmjs.com/package/straleio) | npm | TypeScript/JavaScript SDK |
| [`straleio`](https://pypi.org/project/straleio/) | PyPI | Python SDK |
| [`langchain-strale`](https://pypi.org/project/langchain-strale/) | PyPI | LangChain toolkit (`StraleToolkit`) |
| [`crewai-strale`](https://pypi.org/project/crewai-strale/) | PyPI | CrewAI integration — drop-in BaseTools for agents |
| [`strale-semantic-kernel`](https://www.npmjs.com/package/strale-semantic-kernel) | npm | Semantic Kernel plugin for .NET and TypeScript agents |
| [`composio-strale`](https://pypi.org/project/composio-strale/) | PyPI | Composio integration — custom actions |
Each package's own README is the reference for that integration; this file
only points at them. Every distribution PR against an external framework
repo, and every publish of one of these packages, follows CLAUDE.md's
Distribution PR Integrity Protocol — a package claiming framework-native
integration is verified against the published artefact, not the source
tree, before the claim ships.
### Web3
Web3 capabilities (wallet risk scoring, token honeypot detection, ENS
resolution, DeFi protocol data, gas oracle, EU MiCA VASP verification,
market sentiment) and bundled solutions for on-chain agents are available
via the x402 payment protocol — pay per call with USDC on Base mainnet, no
signup required. Not every capability is x402-eligible; read the live,
dynamic subset from:
```
GET https://api.strale.io/x402/catalog
GET https://api.strale.io/.well-known/x402.json
```
### Quality
Capabilities are continuously tested against their real upstreams: known-
answer, schema, negative, edge-case, and dependency-health checks, plus
piggyback checks fed by real production traffic where a capability's cost
model rules out proactive testing. An enforced quality floor quarantines a
capability that falls below it on real traffic and promotes it back
automatically on recovery. Strale deliberately publishes no single numeric
composite quality score — an earlier one was retired because it compressed
unrelated failure modes into a number that looked more precise than it
was. What is exposed instead is the raw evidence per capability: status,
last-tested timestamp, recent test history, known limitations, and the
data source behind it.
```
GET https://api.strale.io/v1/capabilities/vat-validate
```
Every capability publishes its limitations honestly, including coverage
gaps. Methodology: [strale.dev/quality](https://strale.dev/quality).
### IDE rules for safe data handling
Drop these into your project to give your coding agent security guidance
for trust-sensitive data (IBANs, company registries, sanctions, PII):
- **Cursor:** [`docs/ide-rules/strale-compliance.mdc`](docs/ide-rules/strale-compliance.mdc) → `.cursor/rules/`
- **Windsurf:** [`docs/ide-rules/strale-compliance.windsurfrules`](docs/ide-rules/strale-compliance.windsurfrules) → project root, or `.windsurf/rules/` as `.md`
- **Claude Code:** the snippet at [`docs/claude-md-snippet.md`](docs/claude-md-snippet.md) → your project's `CLAUDE.md`
These prevent the most common vibe-coding vulnerabilities: client-side IBAN
validation, hardcoded API keys, missing provenance metadata, and direct
registry scraping.
### Agent Skills & code examples
- **[Agent Skills](https://github.com/strale-io/agent-skills)** — `SKILL.md` files for Claude Code, Cursor, Copilot, and Codex. Copy `skills/strale/` into `.claude/skills/`, `.github/skills/`, or `.cursor/skills/`.
- [Verify a company with Strale](https://gist.github.com/petterlindstrom79/5e22945748c3ce42155bf6d41f46c4e0) (Python)
- [Validate IBANs — free, no API key](https://gist.github.com/petterlindstrom79/7f83fdc892dcafbc280735af5d0e360d) (Python)
- [Build an agent with Strale](https://gist.github.com/petterlindstrom79/2e4750eb919d314db7c697a504086e0b) (TypeScript)
- [Connect Strale to Claude](https://gist.github.com/petterlindstrom79/c08ddc1cb3dfed3ca434c70305dc9e54) (setup guide)
### More
- [strale.dev](https://strale.dev) — homepage and sign-up
- [strale.dev/docs](https://strale.dev/docs) — API reference
- [strale.dev/pricing](https://strale.dev/pricing) — pricing
- [scan.strale.io](https://scan.strale.io) — Beacon, a free agent-readiness scanner
- [api.strale.io/mcp](https://api.strale.io/mcp) — MCP endpoint (Streamable HTTP)
- [Examples](https://github.com/strale-io/strale-examples) — copy-paste examples for every integration
## How the code is organised
```
strale/
├── apps/api/ Hono API server: routes, capability executors,
│ Drizzle schema + queries, Stripe/matching/auth
│ helpers. drizzle/ holds the migration history.
├── packages/ Published SDKs and framework integrations (see the
│ table above) plus internal workspace packages.
├── manifests/ One YAML file per live capability: pricing, data
│ source, field-reliability declarations, test
│ fixtures. The onboarding pipeline
│ (apps/api/scripts/onboard.ts) is the only
│ sanctioned way a capability enters the system —
│ see CLAUDE.md's Capability Onboarding Protocol.
├── design/ Design tokens as data (colors, type, spacing) —
│ one active file per surface, candidates carry a
│ status, promotion is a decision plus a file swap.
├── config/ Cross-cutting configuration as data, e.g. the
│ environment-variable manifest every process.env
│ read is registered against.
└── scripts/ Repo-root tooling: the checkers behind every
`npm run *:check` script, the session-handoff
gate, and one-off operator scripts.
```
`apps/api/scripts/` and `apps/api/src/capabilities/` carry the same idea at
capability-authoring scope — read `CLAUDE.md`'s "Adding New Capabilities"
section before writing a new executor.
## How the company runs the repository
**Where truth lives.** Product, state, and roadmap truth is migrating from
Notion into this repository (`docs/project/`), but the migration is not
complete: `docs/project/START-HERE.md` and the rest of `docs/project/` are
explicitly **candidates** (`authority_active: false`) until a founder-
confirmed cutover. Until then, Notion (Project Home, the To-do & Build
Plan, the Decisions DB) is authoritative, and `CLAUDE.md` / `AGENTS.md` say
so at the top of every session. `docs/README.md` indexes every `docs/`
subtree with its current authority status; `docs/project/STRUCTURE.md`
records exactly where the repo's layout still deviates from the migration's
target and why.
**Where work in flight lives.** Multi-batch work is tracked in
`docs/programs/` (start at `docs/programs/README.md`): each program has a
`PROGRAM.md` with a "Resume here" section and a machine-checked
`tracks.yaml`. A session resuming a program reads only those two files and
follows their pointers — chat history is never required.
**How sessions work.** `CLAUDE.md` is the canonical operating manual for
Claude Code sessions; `AGENTS.md` is its condensed derivative for Codex-CLI
sessions and points back at `CLAUDE.md` for anything that can drift rather
than restating it. Every session ends through a handoff gate
(`scripts/handoff/handoff-check.mjs`, installed as a git hook) that refuses
to let a session leave uncommitted work, an unpushed branch, a stale
worktree, or code changes with no resume surface for the next session.
Batch work happens in an isolated `git worktree`, never the shared primary
checkout — see `WORKTREES.md`.
**What CI checks, by category, not by exhaustive list** (see
`.github/workflows/ci.yml` for the exact, current set): an ephemeral-
Postgres integration lane for money- and audit-chain-critical behavior;
typecheck and lint across `apps/api` and every published package; capability
manifest structural and fixture-consistency gates; framework-package
integrity (a published `*-strale` package must contain real code from the
framework it claims to integrate with); a family of content-as-data
registers, each with its own checker and generated index — research
(`docs/research/`), design tokens (`design/`), the environment-variable
manifest (`config/`), the model-id registry, the public claims register
(`docs/company/claims.yaml`), program track registers
(`docs/programs/*/tracks.yaml`), and this repository's own `docs/`
structure (`docs:check`, `archive:index -- --check`); and the session-
handoff gate itself. Every one of these checkers plants a failure case in a
throwaway fixture and proves it fails before the fix — see
`docs/company/LESSONS.md` family F5.
## Where history lives
`archive/` holds closed, historical, and superseded material — see
`archive/README.md` for what each subtree holds, generated (with hand-
written prose above it) by `npm run archive:index`. `handoff/` holds one
file per session's end-of-session record; `handoff/README.md` is a
generated, reverse-chronological index of all of them by date and stated
intent. Neither directory is required reading to resume work — the program
register and `docs/project/START-HERE.md` are.
## License
MIT