MCP tools
The 75 tools the kevin MCP server exposes, grouped, with what is pre-granted and what always asks.
The server runs outside the host's shell sandbox, which is how it reads the deny-gated secrets store, shells out to gh, and makes the git writes a worktree needs. Tool names are prefixed mcp__plugin_agent-kevin_kevin__ in permission lists.
| Group | Tools |
|---|---|
| Tasks (7) | task_query · task_get · task_create · task_update · task_close · task_thread · task_scan |
| Knowledge (7) | capture · compile_status · compile_next · compile_write · knowledge_lint · links_rewrite · memory_prune |
| Reports and surfaces (3) | report_write · dashboard · attention_write |
| Worktrees (3) | setup_worktree · list_worktrees · remove_worktree |
| Upgrade and hosts (2) | run_upgrade · codex_setup |
| History (1) | home_history |
| Seed (3) | seed_scan · seed_export · seed_import |
| Database (4) | database_list · database_schema · database_query · database_fork |
| GitHub (18) | github_pr_list · github_pr_view · github_pr_comments · github_pr_diff · github_pr_checks · github_run_list · github_run_view · github_run_log · github_issue_list · github_issue_view · github_sweep · github_fast_forward · github_issue_create · github_issue_comment · github_issue_update · github_pr_update · github_pr_create · github_comment_update |
| Helpdesk (9) | helpdesk_connections · helpdesk_tickets · helpdesk_ticket · helpdesk_attachment · helpdesk_accounts · helpdesk_lookups · helpdesk_stats · helpdesk_note · helpdesk_assign |
| App Store (1) | appstore_reviews |
| Slack (7) | slack_whoami · slack_channels · slack_history · slack_batch_history · slack_thread · slack_search · slack_waiting |
| Browser (6) | browser_screenshot · browser_pdf · browser_markdown · browser_record · browser_flows · web_search |
| SEO (8) | serpapi_search · open_page_rank · google_auth · gsc_sites · gsc_query · gsc_inspect · page_speed_psi · page_speed_audit |
| Utilities (4) | curl_run · video_frames · media_transcribe · ping |
What is granted when
| Class | Tools | Granted |
|---|---|---|
| Always-on core | tasks, knowledge, report_write, dashboard, attention_write, home_history, setup_worktree, run_upgrade, codex_setup, seed_scan, seed_export, video_frames, media_transcribe, ping | At init, in permissions.allow |
| Pack-gated | SEO, Browser, Database, GitHub, Helpdesk, App Store and Slack groups | When you activate the pack in configure-skills |
| Always ask | remove_worktree (deletes a worktree), seed_import (overwrites identity files, merges permissions and MCP registrations), curl_run (leaves the machine), github_pr_create (opens a pull request) | In permissions.ask, so no mode can auto-approve them. The server refuses seed_import, curl_run and github_pr_create while their ask rule is missing, so a tool a plugin update adds can't run unseen before upgrade writes the rule |
| Prompt on use | list_worktrees, and any pack tool whose pack is not active | Default host behaviour |
This keeps settings.json an accurate audit trail: it advertises only the packs you opted into.
Notes on a few
compile_*return prompts; your session does the synthesis;compile_writeconfirms. See The brain.task_*carry each task'shorizon, the day, week, or month it is planned for;task_querycan filter by lane (carried, today, week, month, later).attention_writerenders the attention view (the dashboard's Today view, or a project's page) and returns the same JSON the page embeds. See Attention.database_*read tools run inside aBEGIN READ ONLYtransaction with a statement timeout, then roll back, so Postgres itself rejects writes.database_forkis the one write: it clones a local database viaCREATE DATABASE … TEMPLATE …for risky schema work.github_*wrap theghCLI with the fine-grained token of the repo's owner (GITHUB_TOKEN_<OWNER>, elseGITHUB_TOKEN), or your owngh auth loginwhen neither is set.github_pr_listfilters by author, a pending review request, or a search query, so one call finds your pull requests and another the reviews you owe.github_sweepgathers everything waiting on you in one call: owed comments, review requests, re-reviews, pending reviews and conflicting PRs, decided from GitHub's own fields; withcounts: trueit returns only the numbers, which is how sync reads it. Merging and re-running workflows stay a human-in-terminal activity.github_fast_forwardis the one git write: a forward-only fetch of your local default branches during sync.- GitHub writes (
github_issue_create,github_issue_comment,github_issue_update,github_pr_update,github_pr_create,github_comment_update) open, edit, comment on and label issues with screenshots or videos, open a PR from a pushed branch (always asking first), replace a PR's title or description, and fix a comment the token's own account wrote. They run on the same owner's token, so its permissions decide what they may do, and nothing closes an issue or edits someone else's text. helpdesk_*read support tickets from SupportCandy or Pylon through one shape, with the people on each ticket (customer, assignee, each message's author).helpdesk_connectionslists the configured sites and workspaces, and every other helpdesk tool takes aconnectionto pick one.helpdesk_accountsandhelpdesk_lookupslist customer companies and reference data (statuses, categories, tags, teammates, macros).helpdesk_statscounts a queue's tickets in a window: numbers only, never ticket text, which is why sync can run it.helpdesk_attachmentsaves a ticket's log or screenshot to a temp folder outside the home.helpdesk_noteandhelpdesk_assignare the writes: a private note agents see and the customer never does, for a draft reply a person sends, and a SupportCandy ticket's assignee, read back to confirm it changed. See Helpdesk.appstore_reviewsreads any app's App Store reviews from Apple's public feed, newest first, per country storefront. It learns which storefronts an app's reviews come from, asks a blank page again past Apple's cache, marks a read incomplete when a storefront that has had reviews comes back blank, gives no count when nothing came back (never zero), and never replies. A limit of0returns the counts alone, which is how sync can run it. See App Store reviews.slack_*read Slack as you, with a user token that has no write or DM scope; they run in the MCP server, which can read the token your shell can't.slack_waitingreturns what's waiting on you (unanswered mentions, threads in shared channels where someone outside the workspace spoke last, and channels the channel map doesn't list) as who, where, how long and a link, never message text. See Slack.home_historyreports and turns on the home's version history, and puts back a.gitlink a synced folder deleted. It writes only for a history it set up. See History.web_searchis a direct call to the Perplexity Search API with citations.curl_runruns outside the sandbox with a host-scoped grant;video_framesextracts stills from a recording, andmedia_transcribeturns its speech into a timestamped transcript on the Mac itself (macOS 26+, needsyap). See themediaskill in Skills.
Skills
All 33 skills, grouped the way the work is. Related work is one skill with playbooks, and you ask in plain words.
Second-model review
Put a different model on anything you made, a proposal, a plan, a document, or code. It documents what it finds on one dossier; your agent verifies every finding, fixes the real ones, and hands back the next round.