Tools
The Leif MCP tool catalog — organized by namespace, with what each one is for.
Leif exposes 270+ tools across roughly a dozen namespaces. This page is the
high-level map; the per-namespace reference pages
below carry exact signatures, parameters, and the per-tool gotchas. For
anything not yet covered there, the FastMCP server itself is the source of
truth — call the tool directly, or read the implementation in
superhitech/leif:src/mcp/tools/.
Namespace reference pages
Detailed, signature-level reference for a namespace. Generated from the live tool schemas, so the parameters and defaults match what the server actually accepts. The IT-operations, business-systems, and pricing namespaces are done; the rest follow the same template.
IT services & operations
cwa_*— ConnectWise Automate (RMM): search computers, run scripts/commands, and the output-capture quirks- Shell & file tools —
local_*/remote_*/website_*/runpod_*and the Leif-workspace file tools: which host each hits shtops_*— SHTops ops host: service control, status, processes, taskspve_*— Proxmox: node/storage/template inventory, LXC & VM lifecycle, in-guest exec, async taskscf_*— Cloudflare: zones, DNS, SSL mode, settings, cache purge (note the nestedparamswrapper)unifi_*— UniFi (read-only, via SHTops cache): the local-vs-cloud source splitsonicwall_*— SonicWall firewall logs (read-only, Loki-backed): search, triage, VPN activity
Customer & business systems
repairshopr_*— RepairShopr: the ticket/customer system of record (entity-typed CRUD, comments, search)quickbooks_*— QuickBooks Online: the query workhorse, sync-token mutations, reports, CSV exporthudu_*— Hudu IT documentation: company-scoped CRUD, archive/unarchive, integration lookupgrowably_*— Growably / LeadConnector CRM: contacts, opportunities, tags, messaging, and the confirm-before-send rulesshipstation_*— ShipStation: orders and shipments
Pricing & sales
pricing_app_*— Pricing App: imports, monitoring, catalog search, parsing, Keepa, cheaper-than-Amazonfinance_*/finance_app_*— the finance/trading project: live data API vs. source-tree access
Communication & documents
gmail_*— Gmail (lowercase): search syntax, read, send, draft, attachments, labelssheets_*— Google Sheets: read, the multi-mode write, and structure management (read-vs-manage rule)drive_*— Google Drive: files, Docs read/write, folders (Sheets values live insheets_*, not here)calendar_*— Google Calendar: events, free/busy, and the timezone gotchasocial_*— cross-platform posting: the draft → approve → publish flow, metrics, comment replies
Marketing & analytics
ga_*/gsc_*/gbp_*/marketing_*— GA4, Search Console, Google Business Profile, and the combined snapshots
Knowledge, tasks & memory
- Knowledge & memory tools — self-document, bootstrap context, notes, checkpoints, and the synthesized history reads
- Tasks, projects & commitments — the structured work layer, with the category/priority/status enums
Files, code & web
github_*— repository reads/writes (the mechanism that edits this site)- Web access —
fetch_url,web_search,web_traverse, news, RSS - Data & runtime — PDF / Excel extraction, the persistent Python runtime, APT
- Shell & file tools — host-scoped shell + file families (listed under IT operations above)
Scheduling & misc
- Scheduling & email filtering — the Leif job scheduler and inbound email filters
- Misc — Slack DM, weather/time/location, Hungryroot,
discover_services
The generated catalog
The curated pages above are the readable guides — prose, gotchas, worked
examples. Alongside them, /tools/catalog/ is generated
from the live FastMCP tool schemas, so its parameters and defaults are exactly
what the server accepts. The pipeline splits in two:
- Introspection (Leif side). A scheduled Leif job — a sibling of
leif-docs-plans-sync— introspects the running FastMCP server and writesscripts/tools-catalog.jsonin this repo (the contract is documented at the top ofscripts/generate-tool-catalog.mjs). - Generation (this repo).
npm run gen:toolsreads that JSON and writessrc/content/docs/tools/catalog.md. Cloudflare Pages then deploys it like any other page.
This is the “introspection job that keeps the reference generated” the docs
used to gesture at — now an actual script plus a JSON contract. The committed
tools-catalog.json is currently a verified seed (a cross-section of
namespaces); the Leif-side job populates the full 270-tool set.
How tools are named
The naming convention is consistent across the catalog:
<namespace>_<verb>[_<object>]
Examples:
cwa_search— namespacecwa, verbsearchquickbooks_query— namespacequickbooks, verbquerypricing_app_create_file_import— namespacepricing_app, verbcreate, objectfile_import
If you know what kind of work you want to do, you can usually guess the tool name.
Routing rules (the ones that matter)
These supersede any “obvious” guess. They live here because getting them wrong silently routes against the wrong system.
| Use this | Not this | Why |
|---|---|---|
cwa_search | cwa_get | cwa_get is for direct ID lookups; cwa_search is what you almost always want for ConnectWise Automate computers |
quickbooks_query | quickbooks_get | QB data lives in queryable tables; query is the workhorse |
sheets_read | sheets_manage | sheets_manage only does create / add_sheet; reading is sheets_read |
write_file | github_create_or_update_file | For Leif-host filesystem writes. github_create_or_update_file is for repos. |
calendar_get_events | gcal_* (legacy alias) | Use the canonical tool name |
local_execute_command | remote_execute_command | When targeting the Leif host (10.10.0.25) |
remote_execute_command | local_execute_command | When targeting nvrbackup (10.10.0.14) |
shtops_execute_command | local_* / remote_* | When targeting the SHTops host |
finance_app_execute_command | remote_execute_command | For the finance app tree on nvrbackup; finance_* is the live data API, not shell |
runpod_execute_command | remote_execute_command | When targeting the RunPod GPU pod (ephemeral endpoint) |
See Hosts for which *_execute_command goes with
which target.
Namespaces
Jump to a group: IT services & operations · Customer & business systems · Pricing & sales · Communication & documents · Marketing & analytics · Knowledge & memory · Tasks, projects & commitments · Files, code & web · Scheduling & email filtering · Misc
IT services & operations
cwa_*— ConnectWise Automate.cwa_search(preferred for finding computers),cwa_get,cwa_status,cwa_execute. Command execution on customer endpoints addscwa_run_commandandcwa_run_powershell; script work usescwa_search_scriptsandcwa_script_history; low-level access iscwa_raw_requestandcwa_probe_command_endpoint. → full referenceshtops_*— SHTops host operations. Service control, system info, process listings, supported automation tasks. → full referenceunifi_*— UniFi data via the SHTops cache.unifi_get,unifi_search,unifi_status. Read-only; for changes use the UniFi controller directly. → full referencepve_*— Proxmox Virtual Environment. LXC and VM lifecycle (create, start, stop, destroy), node status, storage, templates, task tracking. → full referencesonicwall_*— SonicWall edge firewall logs.sonicwall_log_search,sonicwall_log_summary,sonicwall_vpn_activity. Read-only log analysis; see the Service Map telephony/edge rows. → full referencecf_*— Cloudflare. Zones (cf_list_zones,cf_get_zone,cf_get_zone_settings), DNS (cf_list_dns_records,cf_create_dns_record,cf_update_dns_record,cf_delete_dns_record), TLS (cf_get_ssl_mode,cf_set_ssl_mode), andcf_set_zone_setting/cf_purge_cache. Manages the public hostnames and the docs-site DNS. → full referencelocal_*/remote_*/website_*/runpod_*— Shell execution and filesystem access on Leif, nvrbackup, the website host, and the on-demand RunPod GPU pod respectively. Each provides*_execute_commandplus*_get_system_infoand file helpers;local_*also haslocal_restart_service. → full reference
Customer & business systems
repairshopr_*— RepairShopr.get,create,update,delete,comment,search, pluslink_repairshoprto associate tasks. System of record for tickets and customers. → full referencequickbooks_*— QuickBooks Online.query,get,create,update,delete,report,export. Usequeryfor most lookups. → full referencehudu_*— Hudu (IT documentation).get,search,create,update,delete, plus a specialhudu_lookup. → full referencegrowably_*— Growably / LeadConnector (CRM).get,update,upsert_contact,create_opportunity,add_note,manage_tags,send_message,trigger_workflow. See the Growably integration plan. → full referenceshipstation_*— ShipStation. Order create, get, search. → full reference
Pricing & sales
pricing_app_*— Pricing app operations. File and live imports, product lookups, vendor price list parsing, Keepa refreshes, Amazon comparison. See Pricing App File Import for the canonical workflow. → full referencefinance_*— Trading / finance project (onnvrbackup, API:3000). Portfolio, quotes, positions, signals, watchlists, risk limits/status, symbol search,finance_health_check. → full referencefinance_app_*— Shell and file access into the finance project tree (/home/superht/finance/):finance_app_execute_command,finance_app_read_file,finance_app_write_file,finance_app_list_directory,finance_app_file_exists. Distinct from thefinance_*data API — see the routing table. → full reference
Communication & documents
gmail_*— Gmail. Search, get, send, create draft, mark read, attachments, labels. → full referenceGmail:*(capital G) — Different namespace, primarily Slack/Anthropic-side Gmail tools. Usegmail_*(lowercase) for Leif-side workflows.calendar_*— Google Calendar via Leif. Events list, create, update, delete, free/busy. → full referencedrive_*— Google Drive read access. List, search, get metadata, read Google Docs. → full referencesheets_*— Google Sheets.read,write,manage. See routing rule above. → full referencesocial_*— Cross-platform social posting. List accounts/profiles, create draft, approve, schedule, publish, list comments, reply. → full reference
Marketing & analytics
ga_*— Google Analytics 4. Page views, traffic sources, devices, geo, search terms, conversions, genericrun_report, marketing-oriented summaries.gsc_*— Google Search Console. Top queries, top pages, local visibility, generic query.gbp_*— Google Business Profile. Locations, performance, multi-location summaries, local overview.search_console_*— Slightly different Search Console namespace (sites, sitemaps, page-level queries). Distinct fromgsc_*.marketing_*— Combined snapshots that aggregate across GA4, GSC, GBP.
→ full reference for all five namespaces.
Knowledge & memory
save_note/get_recent_notes/search_notes— Persisted notes layer for context Leif should remember.save_progress/load_progress/complete_task/cleanup_old_checkpoints— Checkpoint system for long-running work.bootstrap_context/update_bootstrap_context*/read_self— Living docs and Leif’s own self-document. Always readread_selfat session start.get_topic_overview/get_person_summary/conversation_analytics— Higher-level reads over historical conversation context.get_daily_review— The daily review / morning-briefing read over pending decisions, commitments, and check-ins.search_past_conversations— Search imported past conversations.
→ full reference with signatures and the conceptual model on Memory & State.
Tasks, projects & commitments
create_task/capture_task/create_task_from_ticket/update_task/complete_leif_task/complete_task/search_tasks/list_tasks/list_active_tasks/link_tasks/unlink_tasks/break_down_task— Task layer.create_task_from_ticketseeds a task from a RepairShopr ticket.create_project/get_project/list_projects/set_active_project/get_project_status/get_project_context/update_project_context— Project layer.create_commitment/update_commitment/close_commitment/list_commitments/commitments_due_for_surfacing/mark_commitment_surfaced— Commitments layer (things Wayne has agreed to / been asked about that need surfacing on a cadence).
→ full reference with the category/priority/status enums.
Files, code & web
read_file/create_file/write_file/delete_file/list_directory/create_directory— Local Leif filesystem. → full referenceremote_*andwebsite_*equivalents for nvrbackup and the website host. → full referencegithub_*— GitHub. Get file, create-or-update file, batch move, search code, create issue, list issues. Used to drive this docs site. → full referencefetch_url/web_traverse/web_search/search_news/fetch_rss— Web access. → full referenceextract_pdf_tables/read_pdf/search_pdf/get_pdf_info— PDF. → full referenceread_excel/write_excel/append_to_excel/convert_excel_to_csv/get_excel_info/search_excel— Excel. → full referenceexecute_python/install_python_package/list_python_packages/get_python_namespace/validate_script— Python runtime. → full referenceapt_install/apt_search— Local package management. → full reference
Scheduling & email filtering
schedule_job/list_scheduled_jobs/remove_scheduled_job— Leif’s internal job scheduler. Use this rather than crontab on the Leif host.add_email_filter/list_email_filters/remove_email_filter— Email filter management.
Misc
send_slack_notification— DM Wayne directly via Slack.get_weather/get_location/get_time— Self-explanatory.build_hungryroot_meal_plan/search_hungryroot_catalog/search_hungryroot_recipes— Personal Hungryroot integration (gluten-free meal planning).discover_services— Codebase introspection helper.
Where to look when a tool isn’t doing what you expect
- Re-read the tool name. A surprising number of bugs are wrong-tool bugs.
cwa_getvscwa_search,local_*vsremote_*,sheets_readvssheets_manage— see the routing table above. - Read the source. The FastMCP server’s
register()calls are the authoritative spec:superhitech/leif:src/mcp/tools/. - Check the integration client. API quirks live in
superhitech/leif:src/integrations/. - Ask Leif (this is allowed). “What’s the signature of
growably_upsert_contact?” is a perfectly fine question — Leif has the tool catalog at hand.