| ateam_bootstrap | REQUIRED onboarding entrypoint for A-Team MCP. MUST be called when user greets, says hi, asks what this is, asks for help, explores capabilities, or when MCP is first connected. Returns platform explanation, example solutions, and assistant behavior instructions. Do NOT improvise an introduction —… |
| ateam_auth | Authenticate with A-Team. Required before any tenant-aware operation (reading solutions, deploying, testing, etc.). The user can get their API key at https://mcp.ateam-ai.com/get-api-key. Only global endpoints (spec, examples, validate) work without auth. IMPORTANT: Even if environment variables (A…Inputs: api_key, master_key, tenant, url |
| ateam_get_spec | Get the A-Team specification — schemas, validation rules, system tools, agent guides, and templates. Start here after bootstrap to understand how to build skills and solutions. Use 'section' to get just one part of the skill spec (much smaller than the full spec). Use 'search' to find specific fiel…Inputs: topic*, section, search |
| ateam_get_workflows | Get the builder workflows — step-by-step state machines for building skills and solutions. Use this to guide users through the entire build process conversationally. Returns phases, what to ask, what to build, exit criteria, and tips for each stage. |
| ateam_get_examples | Get complete working examples that pass validation. Study these before building your own.Inputs: type* |
| ateam_build_and_run | DEPLOY THE CURRENT MAIN BRANCH TO A-TEAM CORE. ⚠️ HEAVIEST OPERATION (60-180s): validates solution+skills → deploys all connectors+skills to Core (regenerates MCP servers) → health-checks → optionally runs a warm test → auto-pushes to GitHub. 🌳 DEV/PROD WORKFLOW: 1. Edit files → ateam_github_patch…Inputs: solution_id, solution, skills, connectors, mcp_store, github, test_message, test_skill_id |
| ateam_test_skill | Send a test message to a deployed skill and get the execution result. Wait modes (wait_for): • 'root' (default, back-compat) — wait until the message's root job completes, return single-job result. Fast, ignores any sub-skills the root delegated to via askAnySkill. • 'chain' — wait until EVERY job…Inputs: solution_id*, skill_id*, message*, wait, wait_for, chain_timeout_ms, actor_id |
| ateam_test_notification | Fire a REAL notification at an existing actor in a deployed solution — for end-to-end testing of the system-initiated notification path (telegram/push/app channels). Unlike ateam_test_skill (synthetic test actor with no channels) and ateam_conversation (user-initiated thread), this calls the /api/i…Inputs: solution_id*, actor_id*, content*, urgency, source, metadata |
| ateam_conversation | Send a message to a deployed solution and get the result. No skill_id needed — the system auto-routes to the right skill. Supports multi-turn conversations: pass the actor_id from a previous response to continue the thread (e.g., reply to a confirmation prompt). Each call creates a new job but the…Inputs: solution_id*, message*, actor_id, wait, timeout_ms |
| ateam_test_pipeline | Test the decision pipeline (intent detection → planning) for a skill WITHOUT executing tools. Returns intent classification, first planned action, and timing. Use this to debug why a skill classifies intent incorrectly or plans the wrong action.Inputs: solution_id*, skill_id*, message* |
| ateam_test_voice | Simulate a voice conversation with a deployed solution. Runs the full voice pipeline (session → caller verification → prompt → skill dispatch → response) using text instead of audio. Returns each turn with bot response, verification status, tool calls, and entities. Use this to test voice-enabled s…Inputs: solution_id*, messages*, phone_number, skill_slug, timeout_ms |
| ateam_patch | Surgically update ANY field in a skill or solution definition, redeploy, and optionally re-test — all in one step. ⚠️ MERGE-BY-DEFAULT (v0.4.0) — Arrays are protected from silent replace. Bare array writes on solution.linked_skills / ui_plugins / platform_connectors / handoffs / grants / triggers (…Inputs: solution_id*, target*, skill_id, updates*, test_message, dry_run, source |
| ateam_get_solution | Read solution state — definition, skills, health, status, or export. Use this to inspect deployed solutions.Inputs: solution_id*, view*, skill_id |
| ateam_list_solutions | List all solutions deployed in the Skill Builder. |
| ateam_delete_solution | ⚠️ IRREVERSIBLE — kills Mongo state, running MCP processes, and Builder FS for the whole solution and every skill. REQUIRES `confirm:true` AND `confirm_solution_id` echoing the solution id you're destroying (defeats typos and hallucinated ids). RECOVERY: the GitHub repo is untouched; `ateam_github_…Inputs: solution_id*, confirm*, confirm_solution_id* |
| ateam_delete_skill | ⚠️ IRREVERSIBLE in Core + Builder FS — kills the running MCP process, unregisters from skill registry, deletes the Mongo record, drops from solution.skills[] and solution.linked_skills, and removes the skill's files from Builder FS. REQUIRES `confirm:true`. RECOVERY: the skill still lives in GitHub…Inputs: solution_id*, skill_id*, confirm* |
| ateam_delete_connector | ⚠️ CASCADING — any skill whose engine.bootstrap_tools or tools[] name a tool from this connector will FAIL its next execution. Stops and deletes the connector from A-Team Core; drops references from the solution definition (grants, platform_connectors, ui_plugins ids starting `mcp::*`) and skill de…Inputs: solution_id*, connector_id*, confirm* |
| ateam_show_skill_minimal | Show the minimal authoring view of a skill — persona + connectors + handoff_when + style + policy guardrails only. ~10× smaller than ateam_get_solution(view:'skills') for the same skill. Use this when you only need the irreducible author content (Phase 9 of the strip).Inputs: solution_id*, skill_id* |
| ateam_show_solution_minimal | Show the minimal authoring view of a solution — name + description + style + routing_mode + identity_mode + skill ids + connector ids only. Skips deployed metadata, handoffs (auto-generated), grants, ui_plugins, validation results. Use this for fast inspection without the verbose fields (Phase 9 of…Inputs: solution_id* |
| ateam_create_connector | Scaffold a new MCP connector with server.js + package.json + README. Eliminates ~50% of identical boilerplate (MCP server setup, tool registration, stdio transport). You then fill in the tool implementations. Set ui_capable=true to include ui.listPlugins / ui.getPlugin stubs (plugin source files ad…Inputs: solution_id*, connector_id*, name, ui_capable |
| ateam_create_plugin | Scaffold a UI plugin (iframe HTML, React Native TSX, or both) inside an existing connector. Eliminates ~50% of identical plugin boilerplate (imports, theme/bridge hooks, postMessage protocol, default export shape). You then fill in the component body. Use kind='iframe' for web-only, 'rn' for mobile…Inputs: solution_id*, connector_id*, plugin_name*, kind |
| ateam_upload_connector | Upload connector code to Core and restart — WITHOUT redeploying skills. MERGES with the GitHub state at `ref` by default (default ref: 'dev'). Sending a partial file set ONLY overlays those files — the rest of the connector is preserved from GitHub. To fully replace the connector dir (historical be…Inputs: solution_id*, connector_id*, github, ref, files, replace |
| ateam_test_status | Poll the progress of an async skill test. Returns iteration count, tool call steps, status (running/completed/failed), and result when done. Set include_chain:true to ALSO include the full chain tree (every job in the chain, rooted at this job_id, with parent/child linkage). Use when this job dispa…Inputs: solution_id*, skill_id*, job_id*, include_chain |
| ateam_get_chain | Inspect the full chain tree for any job — rooted at the given job_id, walking down through every handoff and askAnySkill subcall. Use when a chain has already run and you want to analyze the structure: which skill called which, how deep the call tree went, which tool inside which job invoked which…Inputs: job_id*, skill_slug |
| ateam_get_widget_catalog | Get the live catalog of widgets (UI plugins) available in this tenant's solution. Returns platform-bundled + solution-bundled + skill-declared widgets, each with a paste-ready how_to_use block (solution.json snippet + opener_call + persona_phrasing + binding_notes). Use this when wiring widgets int…Inputs: solution_id, origin, include_unused, format |
| ateam_test_abort | Abort a running skill test. Stops the job execution at the next iteration boundary. (Advanced.)Inputs: solution_id*, skill_id*, job_id* |
| ateam_test_connector | Call a tool on a running connector and get the result. Use this to test individual connector tools (e.g., triggers.list, entities.list, google.command) without deploying to a client. The connector must be connected and running.Inputs: solution_id*, connector_id*, tool*, args |
| ateam_get_connector_source | Read the source code files of a deployed MCP connector. Returns all files (server.js, package.json, etc.) stored in the mcp_store for this connector. Use this BEFORE patching or rewriting a connector — always read the current code first so you can make surgical fixes instead of blind full rewrites.Inputs: solution_id*, connector_id* |
| ateam_github_push | Push the current deployed solution to GitHub. Auto-creates the repo on first use. Commits the full bundle (solution + skills + connector source) atomically. Use after ateam_build_and_run to version your solution, or anytime you want to snapshot the current state.Inputs: solution_id*, message |
| ateam_github_pull | Deploy a solution FROM its GitHub repo. Reads .ateam/export.json + connector source from the repo and feeds it into the deploy pipeline. Use this to restore a previous version or deploy from GitHub as the source of truth.Inputs: solution_id* |
| ateam_github_status | Check if a solution has a GitHub repo, its URL, and the latest commit. Use this to verify GitHub integration is working for a solution.Inputs: solution_id* |
| ateam_github_read | Read any file from a solution's GitHub repo. Returns the file content. Use this to read connector source code, skill definitions, or any versioned file. Default reads from `main` (deployed/prod state). Pass `ref: 'dev'` to read in-progress work.Inputs: solution_id*, path*, ref |
| ateam_github_patch | Edit a file in the solution's GitHub repo and commit. Two modes: 1. FULL FILE: provide `content` — replaces entire file (good for new files or small files) 2. SEARCH/REPLACE: provide `search` + `replace` — surgical edit without sending full file (preferred for large files like server.js) Always use…Inputs: solution_id*, path*, content, search, replace, message, ref |
| ateam_github_write | Write a file to the solution's GitHub repo. Use this to create new connector files or replace existing ones — one file per call. This is the PRIMARY way to write connector code after first deploy. Write each file individually (server.js, package.json, UI assets), then call ateam_github_promote() to…Inputs: solution_id*, path*, content*, message, ref |
| ateam_github_log | View commit history for a solution's GitHub repo. Shows recent commits with messages, SHAs, timestamps, and links. Default reads from `main` (prod). Pass `ref: 'dev'` to see in-progress work.Inputs: solution_id*, limit, ref |
| ateam_github_diff | PRE-FLIGHT BEFORE PROMOTE. Compares `dev` (head) vs `main` (base) by default — shows exactly which commits and files are about to ship if you call ateam_github_promote() next. Use this when you want to: • Review changes before promoting to prod • See if dev is ahead of main at all (returns ahead_by…Inputs: solution_id*, base, head |
| ateam_verify_consistency | Check that the Builder filesystem state and GitHub state are in sync for a solution. Read-only probe — does NOT trigger a deploy. Returns: • ok: true + drifts: [] if everything matches • ok: false + drifts: [{path, kind}] listing files that differ (kinds: fs_missing, gh_missing, content_differs) Dr…Inputs: solution_id* |
| ateam_github_promote | SHIP DEV TO PROD. Merges the `dev` branch into `main` and auto-tags the new main HEAD as safe-YYYY-MM-DD-NNN. Use after testing your dev work, when you're ready to deploy changes to production. Workflow: 1) ateam_github_patch (writes to dev) → 2) ateam_github_promote (merges dev→main) → 3) ateam_bu…Inputs: solution_id*, label, dry_run, skip_tag |
| ateam_github_rollback | Roll prod (`main` branch) back to a previous state. ADDITIVE — does NOT destroy history. Creates a new commit on top of main whose tree matches the target's tree. The history of everything between target and current main is preserved (you can roll back the rollback). Workflow: 1) ateam_github_list_…Inputs: solution_id*, target* |
| ateam_github_list_versions | List all available checkpoints (safe-* tags) for a solution. Shows tag name, date, counter, and commit SHA. Use before rollback to see available safe points.Inputs: solution_id* |
| ateam_redeploy | Re-deploy skills WITHOUT changing any definitions. ⚠️ HEAVY OPERATION: regenerates MCP servers (Python code) for every skill, pushes each to A-Team Core, restarts connectors, and verifies tool discovery. Takes 30-120s depending on skill count. Use after connector restarts, Core hiccups, or stale st…Inputs: solution_id*, skill_id |
| ateam_status_all | Show GitHub sync status for ALL tenants and solutions in one call. Requires master key authentication. Returns a summary table of every tenant's solutions with their GitHub sync state. |
| ateam_sync_all | Sync ALL tenants: push Builder FS → GitHub, then pull GitHub → Core MongoDB. Requires master key authentication. Returns a summary table with results for each tenant/solution.Inputs: push_only, pull_only |