Skip to main content

Knowledge > System Architecture > Agent Tooling

Agent Tooling — What You Can Do

Agents have full access to deploy, manage, and operate all ChurchWiseAI systems. The founder is a solo operator — agents should use these tools proactively, not ask the founder to do things manually.

CLIs (all logged in and ready)

ToolCommandWhat it doesAccount
VercelvercelDeploy, env vars, logs, domainschurchwiseai-5386 (john@churchwiseai.com)
StripestripeProducts, prices, customers, webhooks, test paymentsChurchWiseAi Ltd (churchwiseai@gmail.com)
GitHubghPRs, issues, releases, repo managementJohnMoelker
LiveKitC:\dev\lk.exeVoice agent deploy, SIP trunks, agent statuschurchwiseai
pnpmpnpmPackage management for all 3 Next.js projects
Node.jsnode (v22.13.1)Scripts, builds, content generation

MCP Plugins

PluginToolsWhat it does
Supabasemcp__plugin_supabase_supabase__execute_sql, apply_migration, list_tables, etc.Direct database access
Cartesiamcp__cartesia-mcp__text_to_speech, clone_voice, list_voices, etc.Voice cloning, TTS. Must be called serially — Cartesia startup plan caps concurrent TTS at 5; parallel calls trip the cap and degrade live voice-agent calls. Consult knowledge/references/cartesia-voices/index.json + samples before exploring voices (725 catalogued, ~100 English pre-sampled, zero API cost).
Gmailmcp__claude_ai_Gmail__gmail_*Read, search, draft emails as john@churchwiseai.com
Google Calendarmcp__claude_ai_Google_Calendar__gcal_*Calendar events
Context7mcp__plugin_context7_context7__*Look up latest library documentation
ChurchWiseAI Knowledgemcp__churchwiseai-knowledge__*Structured queries over knowledge/ — see below

Knowledge MCP server

Lives at C:/dev/mcp-servers/churchwiseai-knowledge/. Registered in C:/dev/.mcp.json. Use these tools FIRST when onboarding to unfamiliar work or checking prior context — faster than grepping, returns structured JSON with cross-references resolved.

  • find_process(name) — current state of a process (phase, code-files, tests, decisions, mermaid flow). Example: find_process("stripe-testing-harness").
  • find_journey(name) — user journey with entry points, steps, linked acceptance spec.
  • find_decisions({feature?, tag?, date_from?, date_to?, include_superseded?}) — filtered decision records, newest first, excludes superseded by default.
  • find_tests({feature?, type?, critical_only?}) — query the test + critical-path registry.
  • get_freshness(path)last-verified + days-old + is-stale (>60 days) for a doc.
  • search_knowledge(query, limit?) — BM25 fallback across all .md content.

Server auto-watches knowledge/ for file changes. Rebuild (pnpm -C C:/dev/mcp-servers/churchwiseai-knowledge build) only when tool shape or deps change.

Stripe CLI Notes

  • Test mode is default (reads sk_test_ key). Use --live flag for live mode operations.
  • Live mode writes: Use --api-key flag with full sk_live_ key (stored in knowledge/.env as STRIPE_LIVE_SECRET_KEY). The config file's rk_live_ is read-only.
  • Confirm with founder before any live mode creates/updates — but agents execute, never send founder to dashboard.
  • Webhook testing: stripe listen --forward-to localhost:3002/api/stripe/webhook
  • Test card: 4242 4242 4242 4242 (any future expiry, any CVC)

Vercel CLI Notes

  • vercel env ls, vercel env pull, vercel --prod, vercel logs
  • Adding env vars (agents MUST do this themselves):
    printf "secret-value" | vercel env add VAR_NAME production
    CRITICAL: use printf, NEVER echo. echo appends a trailing newline that Vercel stores literally, silently breaking every env var (string comparisons fail, API keys rejected, URLs malformed). printf does not add a newline.
  • To remove: vercel env rm VAR_NAME production

What agents should do WITHOUT asking

  • Read database queries (SELECT)
  • Read Stripe data (products, prices, customers, subscriptions)
  • Read/set Vercel env vars (printf "val" | vercel env add NAME production)
  • Run builds (pnpm build)
  • Run git operations (commit, push to feature branches)
  • Search Gmail for context
  • Check Google Calendar for scheduling
  • MailerLite API operations (subscribers, automations, campaigns) via REST API

What agents should CONFIRM before doing

  • Writing to the production database (INSERT, UPDATE, DELETE)
  • Creating/modifying Stripe products or prices in LIVE mode
  • Deploying to Vercel production
  • Pushing to main/master branches
  • Sending emails
  • Voice agent deployment (lk.exe agent deploy --project cwa-voice)
  • Deleting Vercel env vars