CLI for BDS agents: signup, credits, run, MCP (stdio), LLM backends
Project description
bds-agent
Python package and CLI for building agents on Powerloom BDS data markets — verified, epoch-based blockchain data served over metered HTTP.
Features
- Signup & Credits — device-auth or wallet-funded API key provisioning against the metering service
- Run — stream snapshots via SSE, apply declarative rules, dispatch to sinks (Slack, Telegram, Discord, webhook, stdout)
- Query — natural-language → catalog route + params (LLM-powered); optional
--executefor one-shot BDS calls - Create — natural-language →
agent.yamlscaffold (LLM-powered) - MCP server — stdio-based MCP exposing BDS catalog as tools for Claude, Cursor, LangGraph, CrewAI, etc.
- LLM backends — Anthropic, OpenAI-compatible, Ollama (local)
- On-chain verification — optional CID verification against
ProtocolState.maxSnapshotsCid
Installation
# Install using pip
pip install bds-agent
# Install using pipx (recommended for CLI use)
pipx install bds-agent
# Install using uv
uv tool install bds-agent
Quick Start
# Sign up for an API key (opens browser for device-auth)
bds-agent signup
# Check your credit balance
bds-agent credits balance
# Run an agent from a YAML definition
bds-agent run agent.yaml
# Natural-language query against the BDS catalog
bds-agent query "top 5 Uniswap V3 pools by 24h volume"
# Generate an agent.yaml from a description
bds-agent create "alert me on Slack when any ETH/USDC swap exceeds $50k"
# Start the MCP server (stdio) for AI framework integration
bds-agent mcp
Available Commands
| Command | Purpose |
|---|---|
bds-agent signup |
Device-auth flow; saves API key locally |
bds-agent signup-pay |
Wallet-funded API key (no browser) |
bds-agent credits balance |
Credit balance and rate limits |
bds-agent credits topup |
Top up credits via billing link or on-chain |
bds-agent run <agent.yaml> |
SSE stream → rules → sinks |
bds-agent query "…" |
NL → endpoint + params (LLM) |
bds-agent create "…" |
NL → agent.yaml (LLM + validation) |
bds-agent llm status / setup / ping |
Configure and test LLM backends |
bds-agent mcp |
MCP server on stdio |
bds-agent config init / show / set |
Manage per-profile BDS settings |
Requirements
- Python 3.12 or higher
Documentation
License
MIT License — see LICENSE for details.
Support
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 bds_agent-0.1.1.tar.gz.
File metadata
- Download URL: bds_agent-0.1.1.tar.gz
- Upload date:
- Size: 277.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13e3688a28ed3f9cc08b8c362b4433ee63700b0a859c3f1436fb509b3c3b66b0
|
|
| MD5 |
a50ddacfdef38e332d5d814ebc411de1
|
|
| BLAKE2b-256 |
578561e57eddc5a05da27f2a890f906454db9084f48ac7ae2392de92fc1a6c70
|
Provenance
The following attestation bundles were made for bds_agent-0.1.1.tar.gz:
Publisher:
publish-pypi.yml on powerloom/bds-agent-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bds_agent-0.1.1.tar.gz -
Subject digest:
13e3688a28ed3f9cc08b8c362b4433ee63700b0a859c3f1436fb509b3c3b66b0 - Sigstore transparency entry: 1566288442
- Sigstore integration time:
-
Permalink:
powerloom/bds-agent-py@8b90eb17ccf4f0e309b037ec71ec1cab60525efa -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/powerloom
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@8b90eb17ccf4f0e309b037ec71ec1cab60525efa -
Trigger Event:
release
-
Statement type:
File details
Details for the file bds_agent-0.1.1-py3-none-any.whl.
File metadata
- Download URL: bds_agent-0.1.1-py3-none-any.whl
- Upload date:
- Size: 90.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a3336dc0edc895970a7c3ae4b6a4a420373401c2c8d15586b3b1de3e3fad878
|
|
| MD5 |
94ab1d00140cbc4a1185a8d25a6c70c3
|
|
| BLAKE2b-256 |
befbfb33f3510373d6e13f1ebb32857f05d9d090672975d0f0cd7804be6c6a92
|
Provenance
The following attestation bundles were made for bds_agent-0.1.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on powerloom/bds-agent-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bds_agent-0.1.1-py3-none-any.whl -
Subject digest:
0a3336dc0edc895970a7c3ae4b6a4a420373401c2c8d15586b3b1de3e3fad878 - Sigstore transparency entry: 1566288410
- Sigstore integration time:
-
Permalink:
powerloom/bds-agent-py@8b90eb17ccf4f0e309b037ec71ec1cab60525efa -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/powerloom
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@8b90eb17ccf4f0e309b037ec71ec1cab60525efa -
Trigger Event:
push
-
Statement type: