Agent skills
Install one canonical skill from this public repository:
npx -y skills add auscahq/ausca --skill agent-inbox
Replace agent-inbox with browser-session, document-analysis,
document-ocr, or media-transcription. Install all five with:
npx -y skills add auscahq/ausca --skill '*'
Services and prices
Prices are the public catalog values at the time of writing; the live catalog is authoritative.
Use it in 60 seconds
MCP (Claude Desktop, Cursor, any MCP host): the local server holds your wallet and pays within your cap. Tools are derived from the live catalog.
{
"mcpServers": {
"ausca": {
"command": "npx",
"args": ["-y", "ausca", "mcp"],
"env": {
"AUSCA_PRIVATE_KEY": "0x...",
"AUSCA_MAX_PAYMENT_USD": "0.50"
}
}
}
}
TypeScript
import { AuscaClient } from "ausca";
const client = AuscaClient.withLocalKey({
privateKey: process.env.AUSCA_PRIVATE_KEY, // pays USDC on Base
maxPaymentUsd: 0.5, // hard per-call cap
});
const outcome = await client.invoke("browser.session", { duration_seconds: 600 }, {
idempotencyKey: savedPurchaseKey,
});
console.log(outcome.result, outcome.payment?.transaction);
CLI
npx ausca catalog
npx ausca price document.ocr
AUSCA_PRIVATE_KEY=0x... AUSCA_MAX_PAYMENT_USD=0.50 \
npx ausca invoke browser.session '{"duration_seconds":600}' --idempotency-key saved-browser-purchase-0001
Python
pip install ausca
from ausca import AuscaClient
client = AuscaClient.with_local_key(private_key=key, max_payment_usd=0.50)
outcome = client.invoke(
"browser.session",
{"duration_seconds": 600},
idempotency_key=saved_purchase_key,
)
A remote MCP server also runs at https://ausca.com/mcp (Streamable HTTP)
for discovery, preparation, and state reads; payment always signs on your
side, which is why the local server exists.
How payment works
Every service is an x402 v2 payable
resource. An unsigned request returns the exact payment requirement; the
client pays it only if it fits your cap, then retries the same bytes with
the same idempotency key. Save a unique key before paying and retain it on
uncertainty; starting another call with a new key is a new purchase. CLI and
paid MCP calls require an explicit key. Resource admission contains private
capabilities: never publish the raw result. See recovery examples.
Settlement is USDC on Base and every completed invocation carries a receipt
with a public, hash-only verification page. Payment rails are pluggable
behind one interface; the official @x402/* libraries do all signing.
Document and media services take an immutable artifact commitment instead
of raw bytes: npx ausca commit file.pdf uploads through the keyless
ingress and returns the commitment the offer input carries.
What is in this repository
Every package uses ausca.com as its product home and resolves commercial offer bindings from the live catalog. A registry listing is not a separate service or source of pricing truth.
The service runtime is not in this repository; this is the complete public
buyer side. server.json carries the official MCP registry identity
com.ausca/agent-services.
Links
- Agent contract: https://ausca.com/SKILL.md
- Live catalog: https://ausca.com/catalog.json
- OpenAPI: https://ausca.com/openapi.json
- x402 discovery: https://ausca.com/.well-known/x402
- Docs: https://ausca.com/docs
License
MIT
Publishing
Release workflows use repository-bound trusted publishing rather than personal
registry logins or stored publisher tokens. Each registry binding names
auscahq/ausca, its workflow filename and the matching GitHub environment:
A workflow file alone does not establish registry trust. Configure and verify the matching publisher before its first release. New npm bindings must become valid within two days; a pending or expired binding is not ready. Routine releases must not need a browser approval. Push release tags individually: GitHub suppresses tag events when more than three tags are pushed together. The Ruby, NuGet, Rust and Python workflows can also resume from an existing immutable tag by explicit dispatch; never move a published release tag.