About Ausca
Ausca provides pay-per-call APIs and MCP services for AI agents, covering document processing, transcription, browser sessions, and email inboxes. Calls are paid in USDC on Base and include signed receipts, with a configurable payment cap.
Key features
- 01Document OCR and analysis
- 02Audio and video transcription
- 03Remote browser sessions
- 04Receive-only agent inboxes
- 05Per-call USDC payments with a cap
- 06Signed receipts for completed calls
Use cases
- 01Extract text from a document
- 02Analyze forms, tables, or signatures
- 03Transcribe an audio or video file
- 04Give an agent browser or email access
MCP support
Ausca offers a local MCP server whose tools are derived from the live catalog; it holds the wallet and pays within the configured cap. A remote Streamable HTTP server supports discovery, preparation, and state reads, while payment is signed locally.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://ausca.com/mcpclaude mcp add --transport http com-ausca-agent-services https://ausca.com/mcp{"mcpServers":{"com-ausca-agent-services":{"type":"http","url":"https://ausca.com/mcp"}}}Open in Cursor{"servers":{"com-ausca-agent-services":{"type":"http","url":"https://ausca.com/mcp"}}}Open in VS Code{"mcpServers":{"com-ausca-agent-services":{"type":"http","url":"https://ausca.com/mcp"}}}{"mcpServers":{"com-ausca-agent-services":{"serverUrl":"https://ausca.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
17| Parameter | Type | Required | Description |
|---|---|---|---|
| inbox_id | any | Yes | |
| message_id | any | Yes | |
| attachment_id | any | Yes | |
| idempotency_key | any | Yes |
Details
From the project README
Ausca
Pay-per-call APIs and MCP services for AI agents: document OCR, document analysis, media transcription, remote browser sessions, and agent email inboxes. No account, no API keys; USDC on Base per call, a signed receipt for every completed invocation.
Agents buy infrastructure the way they call tools: send the request, pay the 402 challenge within a hard USD cap you set, read the result and its settlement proof. The catalog, prices, and schemas are immutable and public at ausca.com/catalog.json; the full agent contract is ausca.com/SKILL.md.
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
| Service | What it does | Price (USD) |
|---|---|---|
| Document OCR | Normalized text with line confidence from one committed document | $0.25 per document |
| Document Analysis | Normalized forms, tables, signatures, or layout from one committed document | $0.30 to $0.75, sized by document bytes |
| Media Transcription | Normalized transcript of one committed audio or video file | $0.40 to $1.30, sized by media bytes |
| Browser Session | Remote browser with standard CDP access | $0.05 / 10 min, $0.10 / 30 min, $0.20 / 60 min |
| Agent Inbox | A renewable receive-only email address your agent owns | $0.05 / hour, $0.20 / day, $1.00 / week |
| Inbox Extension | Add time to an active inbox without changing its address | $0.05 / hour, $0.20 / day, $1.00 / week |
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.
| Package | Registry | What it is |
|---|---|---|
ausca | npm | The front door: library, CLI, and local MCP server |
@ausca/sdk | npm | The typed engine: client, payment authorities, artifact store |
ausca | PyPI | Python client and CLI with the same ports |
ausca | Go module | Standard-library buyer client; payment-capable HTTP client port |
ausca | crates.io | Rust buyer client; rail-neutral transport port |
ausca | RubyGems | Ruby buyer client; rail-neutral transport port |
auscahq/ausca | Packagist submission pending | PHP buyer client; rail-neutral transport port |
Ausca | Swift Package Manager; index submission pending | Swift buyer client; rail-neutral transport port |
ausca | pub.dev | Dart buyer client; rail-neutral transport port |
Ausca | NuGet | .NET buyer client; rail-neutral transport port |
com.ausca:ausca | Maven Central publication pending | JVM buyer client; rail-neutral transport port |
@ausca/ai-sdk | npm | Vercel AI SDK tools for any x402 v2 resource |
langchain-ausca | npm | LangChain tools for any x402 v2 resource |
skills/ | ausca.com | Agent skills, mirrored from the live origin |
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:
| Registry | Workflow | Environment | Tag |
|---|---|---|---|
| npm | npm.yml | npm | npm/<directory>/v<version> |
| PyPI | pypi.yml | pypi | python/<directory>/v<version> |
| crates.io | crates.yml | crates-io | rust/v<version> |
| RubyGems | rubygems.yml | rubygems | ruby/v<version> |
| NuGet | nuget.yml | nuget | dotnet/v<version> |
| pub.dev | pub-dev.yml | pub.dev | dart/v<version> |
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.