1claw-crewai-tools
CrewAI tools for 1Claw — HSM-backed secrets, multi-chain signing, encrypted memory, and automation workflows for AI agents.
11 tools that give CrewAI agents secure access to vault secrets, blockchain signing keys, persistent memory, and workflow automations — all guarded by policy-based access control. Private keys never leave the HSM.
Install
pip install 1claw-crewai-tools
PyPI package:
1claw-crewai-tools· Python import:oneclaw_crewai
Quick Start
All tools at once (recommended)
import os
from crewai import Agent, Crew, Process, Task
from oneclaw_crewai import OneclawClient, get_all_tools
client = OneclawClient(
api_key=os.environ["ONECLAW_AGENT_API_KEY"],
# agent_id and vault_id are auto-resolved from the API key
)
tools = get_all_tools(client) # 11 tools
researcher = Agent(
role="Blockchain Researcher",
goal="Check wallet balances and sign transactions",
backstory="You use 1Claw tools for all credential and signing operations.",
tools=tools,
)
task = Task(
description="Check the Ethereum balance, then sign the message 'hello world'.",
expected_output="Balance and signature details.",
agent=researcher,
)
crew = Crew(agents=[researcher], tasks=[task], process=Process.sequential)
crew.kickoff()
Single tool (backward-compatible)
from oneclaw_crewai import OneclawVaultTool
vault_tool = OneclawVaultTool(
agent_id=os.environ["ONECLAW_AGENT_ID"],
api_key=os.environ["ONECLAW_AGENT_API_KEY"],
vault_id=os.environ["ONECLAW_VAULT_ID"],
)
agent = Agent(
role="Engineer",
goal="Build features using vault-stored API keys",
backstory="You use tools instead of pasted secrets.",
tools=[vault_tool],
)
Available Tools
| Tool | Name | Description |
|---|---|---|
OneclawVaultTool |
oneclaw_vault |
Fetch a decrypted secret by path |
OneclawPutSecretTool |
oneclaw_put_secret |
Store or update a secret |
OneclawListSecretsTool |
oneclaw_list_secrets |
List secrets (paths, not values) |
OneclawRotateSecretTool |
oneclaw_rotate_secret |
Server-side secret rotation |
OneclawMemoryPutTool |
oneclaw_memory_put |
Store a value in encrypted memory |
OneclawMemoryGetTool |
oneclaw_memory_get |
Retrieve a value from memory |
OneclawMemorySearchTool |
oneclaw_memory_search |
Semantic search over memory |
OneclawSignMessageTool |
oneclaw_sign_message |
EIP-191 message signing |
OneclawSubmitTransactionTool |
oneclaw_submit_transaction |
Sign and broadcast transactions |
OneclawGetBalanceTool |
oneclaw_get_balance |
Check signing key balances |
OneclawTriggerAutomationTool |
oneclaw_trigger_automation |
Trigger automation workflows |
Multi-Agent Crew Example
from crewai import Agent, Crew, Process, Task
from oneclaw_crewai import OneclawClient, get_all_tools
client = OneclawClient(api_key=os.environ["ONECLAW_AGENT_API_KEY"])
tools = get_all_tools(client)
# Agent 1: Manages secrets and credentials
secrets_agent = Agent(
role="Secrets Manager",
goal="Manage and rotate API credentials securely",
backstory="You handle all credential lifecycle operations.",
tools=tools,
)
# Agent 2: Handles blockchain operations
blockchain_agent = Agent(
role="Blockchain Operator",
goal="Execute blockchain transactions safely",
backstory="You check balances and sign transactions using 1Claw.",
tools=tools,
)
# Agent 3: Remembers context across sessions
memory_agent = Agent(
role="Knowledge Manager",
goal="Store and recall important information",
backstory="You use encrypted memory for persistent knowledge.",
tools=tools,
)
rotate_task = Task(
description="Rotate the secret at 'api-keys/external-service'.",
expected_output="Confirmation of rotation with new version number.",
agent=secrets_agent,
)
balance_task = Task(
description="Check the Ethereum signing key balance.",
expected_output="Native balance in ETH.",
agent=blockchain_agent,
)
remember_task = Task(
description="Store today's rotation status in memory under key 'last-rotation'.",
expected_output="Confirmation that the value was stored.",
agent=memory_agent,
)
crew = Crew(
agents=[secrets_agent, blockchain_agent, memory_agent],
tasks=[rotate_task, balance_task, remember_task],
process=Process.sequential,
)
crew.kickoff()
Authentication
The OneclawClient supports two auth patterns:
Key-only (recommended) — agent ID and vault ID auto-resolved:
client = OneclawClient(api_key="ocv_...")
Explicit IDs — for backward compatibility or multi-vault setups:
client = OneclawClient(
api_key="ocv_...",
agent_id="<agent-uuid>",
vault_id="<vault-uuid>",
)
Testing
Unit tests (offline, no credentials needed)
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -v
ruff check src tests
All network calls are mocked with respx; no 1Claw account required.
Security
- Tool output can contain plaintext credentials. Never
print()or log return values. - All tools set
cache_functionto always returnFalse— no framework-level caching. - CrewAI's
verbose=Trueprints tool output to stdout — useverbose=Falsein production. - Private signing keys never leave the HSM — signing happens server-side.
Links
License
MIT — see LICENSE.
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 1claw_crewai_tools-0.2.0.tar.gz.
File metadata
- Download URL: 1claw_crewai_tools-0.2.0.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
113f5f1f110e07c21a08e3539badb7c68cbc7cfe6217216ed14c3fe559d03203
|
|
| MD5 |
97eb807126e6b470f16c0aa236960186
|
|
| BLAKE2b-256 |
6697c74ff9bb8bfbaa1121c60994a071ecef36929a690f2cb8d4396975bc98e0
|
Provenance
The following attestation bundles were made for 1claw_crewai_tools-0.2.0.tar.gz:
Publisher:
publish.yml on 1clawAI/1claw-crewai-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
1claw_crewai_tools-0.2.0.tar.gz -
Subject digest:
113f5f1f110e07c21a08e3539badb7c68cbc7cfe6217216ed14c3fe559d03203 - Sigstore transparency entry: 2428686440
- Sigstore integration time:
-
Permalink:
1clawAI/1claw-crewai-tools@2363461c26cbdc7f1dcc88a6465d4a4d7a9dc91c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/1clawAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2363461c26cbdc7f1dcc88a6465d4a4d7a9dc91c -
Trigger Event:
push
-
Statement type:
File details
Details for the file 1claw_crewai_tools-0.2.0-py3-none-any.whl.
File metadata
- Download URL: 1claw_crewai_tools-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62164f46728ae82ce12d3ed8a9b645ea3631cfc709e3b278a4278cc5f95af17d
|
|
| MD5 |
63294ba8597ecd44dfed2cf40b2579fd
|
|
| BLAKE2b-256 |
0940403286fe618fb845790f25a806699737cbc6bfb7af10ea52681e142a54fe
|
Provenance
The following attestation bundles were made for 1claw_crewai_tools-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on 1clawAI/1claw-crewai-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
1claw_crewai_tools-0.2.0-py3-none-any.whl -
Subject digest:
62164f46728ae82ce12d3ed8a9b645ea3631cfc709e3b278a4278cc5f95af17d - Sigstore transparency entry: 2428686535
- Sigstore integration time:
-
Permalink:
1clawAI/1claw-crewai-tools@2363461c26cbdc7f1dcc88a6465d4a4d7a9dc91c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/1clawAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2363461c26cbdc7f1dcc88a6465d4a4d7a9dc91c -
Trigger Event:
push
-
Statement type: