Tools overview¶
Every tool in LazyTools is a ToolProvider (or a function/Tool factory) you drop
straight into Agent(tools=[...]) (or PulseAgent(tools=[...])). Each one has its
own deep guide — what it does, how it works internally, every parameter and
exposed tool function, runnable examples, the safety model, and troubleshooting.
Treat each as its own mini-repository.
| Tool | What it gives an agent | Install | Guide |
|---|---|---|---|
| Gmail | Safe Gmail access: ungated reads (gmail_list_emails structured search, gmail_get_email) + ungated gmail_create_draft + guarded gmail_send, plus inbound auth-header verification. |
pip install 'lazytoolkit[gmail]' |
Gmail |
| Telegram | A guarded Telegram outbox: telegram_send_message with allow-list + one-shot confirmation. |
pip install 'lazytoolkit[telegram]' |
Telegram |
| MCP | Drop an existing Model Context Protocol server's tool catalogue into an agent, deny-by-default. | pip install 'lazytoolkit[mcp]' |
MCP |
| Code Support Agent | Delegate coding work to Claude Code & Codex — each in CLI or MCP mode, plus a collaboration pipeline. | pip install lazytoolkit |
Code Support Agent |
| External tool gateway | Adapt a remote JSON-HTTP tool registry (Composio / Pipedream / Arcade / internal) into LazyBridge tools. | pip install lazytoolkit |
Gateway |
| Documents | Read .txt/.md/.pdf/.docx/.html from a file or folder, sandboxed, for LLM consumption. |
pip install 'lazytoolkit[docs]' |
Documents |
| Skills | Index docs into a portable BM25 skill bundle and query it for grounded answers — stdlib only. | pip install lazytoolkit |
Skills |
Cross-cutting: the Safety primitives (Allowlist,
ConfirmationGate, ActionBlocked) are what gate the dangerous outbound tools.
Compliance & liability — your responsibility
Several connectors bridge to third-party services (Gmail/Google, Telegram, MCP servers, the external tool gateway, Claude Code / Codex). You are solely responsible for ensuring your use complies with each provider's terms of service and with any applicable laws. Automated, bulk, or scheduled access can get an account or bot rate-limited or suspended. LazyTools is provided "as is", without warranty, and the authors accept no liability for how it is used (see LICENSE). See each connector's guide for service-specific notes.
At a glance¶
from lazybridge import Agent
from lazytools.connectors.gmail import GmailClient, GmailTools
client = GmailClient.from_credentials(
credentials_path="credentials.json",
token_path="token.json",
scopes=["https://www.googleapis.com/auth/gmail.modify"],
)
# gmail_create_draft is always allowed; gmail_send is gated (allow-list +
# one-shot confirmation). See Gmail + Safety.
tools = GmailTools(client, allowed_recipients=["teammate@example.com"])
agent = Agent("claude-opus-4-8", tools=[tools])
from lazybridge import Agent, LLMEngine
from lazytools.connectors.code_support import claude_code, codex, build_cli_collaboration
# Claude Code and Codex in CLI mode, plus the whole Claude Code + Codex
# collaboration packaged as a single tool. tool_timeout=None lets each CLI
# subprocess own its own deadline. (MCP mode: claude_code_mcp / codex_mcp.)
agent = Agent(
engine=LLMEngine("claude-opus-4-8", tool_timeout=None),
tools=[claude_code, codex, build_cli_collaboration()],
)
Follow any guide above for the full, reference-grade treatment.