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. For exact signatures and parameter shapes, the FastMCP server
itself is the source of truth — call the tool directly, or read the
implementation in superhitech/leif:src/mcp/tools/.
::: callout A future automation will introspect the running FastMCP server and generate one markdown page per tool automatically. Until then, this page is a hand-curated overview rather than a complete catalog. :::
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 |
See Hosts for which *_execute_command goes with
which target.
Namespaces
IT services & operations
cwa_*— ConnectWise Automate.cwa_search(preferred for finding computers),cwa_get,cwa_status,cwa_execute. Used for remote command execution on customer endpoints.shtops_*— SHTops host operations. Service control, system info, process listings, supported automation tasks.unifi_*— UniFi data via the SHTops cache.unifi_get,unifi_search,unifi_status. Read-only; for changes use the UniFi controller directly.pve_*— Proxmox Virtual Environment. LXC and VM lifecycle (create, start, stop, destroy), node status, storage, templates, task tracking.local_*/remote_*/website_*— Shell execution and filesystem access on Leif, nvrbackup, and the website host respectively.
Customer & business systems
repairshopr_*— RepairShopr.get,create,update,delete,comment,search, pluslink_repairshoprto associate tasks. System of record for tickets and customers.quickbooks_*— QuickBooks Online.query,get,create,update,delete,report,export. Usequeryfor most lookups.hudu_*— Hudu (IT documentation).get,search,create,update,delete, plus a specialhudu_lookup.growably_*— Growably / LeadConnector (CRM).get,update,upsert_contact,create_opportunity,add_note,manage_tags,send_message,trigger_workflow. See the Growably integration plan.shipstation_*— ShipStation. Order create, get, search.
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.finance_*— Trading / finance project. Portfolio, quotes, positions, signals, watchlists, risk limits.
Communication & documents
gmail_*— Gmail. Search, get, send, create draft, mark read, attachments, labels.Gmail:*(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.drive_*— Google Drive read access. List, search, get metadata, read Google Docs.sheets_*— Google Sheets.read,write,manage. See routing rule above.social_*— Cross-platform social posting. List accounts/profiles, create draft, approve, schedule, publish, list comments, reply.
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.
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.search_past_conversations— Search imported past conversations.
Tasks, projects & commitments
create_task/capture_task/update_task/complete_leif_task/search_tasks/list_tasks/list_active_tasks/link_tasks/unlink_tasks/break_down_task— Task layer.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).
Files, code & web
read_file/create_file/write_file/delete_file/list_directory/create_directory— Local Leif filesystem.remote_*andwebsite_*equivalents for nvrbackup and the website host.github_*— GitHub. Get file, create-or-update file, batch move, search code, create issue, list issues. Used to drive this docs site.fetch_url/web_traverse/web_search/search_news/fetch_rss— Web access.extract_pdf_tables/read_pdf/search_pdf/get_pdf_info— PDF.read_excel/write_excel/append_to_excel/convert_excel_to_csv/get_excel_info/search_excel— Excel.execute_python/install_python_package/list_python_packages/get_python_namespace/validate_script— Python runtime.apt_install/apt_search— Local package management.
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— 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.