{"name":"agentica-mcp","version":"0.1.0","status":"ok","tools":[{"name":"help","description":"Return the Agentica MCP manual, section by section. Call this first for any new user — it explains entities, tools, rules, and typical workflows. `topic=all` returns everything."},{"name":"get_changelog","description":"Return recent Agentica MCP releases (newest first) with highlights. Use when user asks \"what's new\" or when the onboarding announcement references new features."},{"name":"whoami","description":"Return identity of the current API key: owner email/name, scopes, usage count, onboarding status, and latest release. Safe first call for any new user."},{"name":"get_project_context","description":"Full dump of a project (metadata + tasks + feature_requests + comments + attachments with presigned URLs + recent activity + stats) for context-based decision making. Caps every list; use depth=\"full\" for body text."},{"name":"list_projects","description":"List projects with filters (status, owner, search)."},{"name":"get_project","description":"Get one project by id or slug with stats."},{"name":"create_project","description":"Create a new project."},{"name":"update_project","description":"Patch project fields."},{"name":"archive_project","description":"Archive a project (shortcut for status=archived)."},{"name":"list_tasks","description":"List tasks with filters."},{"name":"get_task","description":"Get one task with subtasks and counts."},{"name":"create_task","description":"Create a new task under a project."},{"name":"update_task","description":"Patch fields of a task."},{"name":"move_task","description":"Change a task status (shortcut)."},{"name":"bulk_update_tasks","description":"Bulk patch tasks by filter (safety capped)."},{"name":"list_feature_requests","description":"List feature requests with filters and sort by score."},{"name":"get_feature_request","description":"Get one feature request by id."},{"name":"create_feature_request","description":"Create a feature request. \"problem\" is required."},{"name":"vote_feature","description":"Vote for a feature request (upserts weight/comment)."},{"name":"update_feature_status","description":"Change feature request status. Pass \"note\" for audit."},{"name":"promote_feature_to_task","description":"Create a task from a feature request and link them."},{"name":"list_comments","description":"List comments attached to an entity."},{"name":"add_comment","description":"Add a markdown comment to an entity."},{"name":"upload_attachment","description":"Upload a file inline (base64, ≤5 MB)."},{"name":"request_upload_url","description":"Get a presigned PUT URL for large files."},{"name":"finalize_attachment","description":"Register an uploaded file in DB after presigned PUT."},{"name":"list_attachments","description":"List attachments for an entity with presigned GET URLs."},{"name":"get_attachment_url","description":"Get a fresh presigned GET URL for one attachment."},{"name":"delete_attachment","description":"Delete attachment (soft by default, set hard=true to purge)."},{"name":"search_everything","description":"Full-text search across projects, tasks, and feature requests."},{"name":"get_dashboard","description":"Aggregated metrics: counts, top features, velocity, recent activity."},{"name":"get_activity_feed","description":"Paginated activity log with filters."},{"name":"get_user_workload","description":"What a specific user has on their plate right now."},{"name":"list_intakes","description":"List Agentics intakes (public.project_requests) with filters plus global totals. Pass `converted=false` to get only intakes still at status=request (not yet promoted to a Project). Also returns `totals.not_converted` for a quick count."},{"name":"get_intake","description":"Fetch a single intake (public.project_requests) with its description, links, blob uploads (with per-asset processing status), auto tags, and — when available — the flat `context_bundle` built by Agentics. Prefer `get_intake_context_bundle` for a cheaper read if you only need the combined content."},{"name":"get_intake_context_bundle","description":"Return the flat `context_bundle` JSON + human summary + auto tags for an intake. Bundle includes description, notes, link notes, and — per blob — the best available text (transcription / extracted document text / image caption). Regenerated incrementally: unchanged blobs keep their cached processed text."},{"name":"list_intake_assets","description":"List blob uploads attached to an intake with processing metadata (status, content hash, flags for available text / caption / transcription, duration). Use `only_status` to filter to unprocessed (`pending`) or failed rows and drive reprocessing."},{"name":"read_intake_asset","description":"Read a single asset on an intake. Returns the best available text (transcription > extracted > caption), any key facts, and the raw URL/metadata so the caller can fetch the binary directly for multimodal analysis when no text is available yet."},{"name":"promote_intake_to_project","description":"Promote a `public.project_requests` intake row to a live `public.projects` (creating a `public.clients` row if needed). Atomic transaction. Also creates a tracker feature_request in agentica schema so MCP sees the new engagement. Use `dry_run=true` to preview."},{"name":"list_agentics_projects","description":"List REAL client projects from Agentics prod (public.projects in agenticsystem.online). Joins public.clients for client name/slug. Filters: type, client_id/slug, search, pagination. Different from `list_projects` which shows MCP's internal tracker (agentica.projects)."},{"name":"get_agentics_project","description":"Get one REAL Agentics project by id or slug with phases, deliverables, goals, and client info. Reads public.projects + related tables."},{"name":"agentics_list_collections","description":"Discover which public.* Payload collections are writable through MCP, with full column schema. Start here before calling other agentics_* tools."},{"name":"agentics_describe_collection","description":"Return full column definition for one Agentics collection."},{"name":"agentics_list","description":"List records in a public.* Agentics collection with optional `where` (equality) and `search` (ILIKE across string columns)."},{"name":"agentics_get","description":"Fetch one record from a public.* Agentics collection by id."},{"name":"agentics_create","description":"Create one record in a public.* Agentics collection via direct DB insert. Bypasses Payload hooks — use admin UI for complex flows."},{"name":"agentics_update","description":"Patch one record in a public.* Agentics collection. updated_at is set automatically."},{"name":"agentics_delete","description":"Delete one record. Requires `confirm: true`. Payload sub-tables cascade via FKs."},{"name":"list_project_members","description":"List the users with explicit membership on a public.projects project (id, email, name, role). Includes project visibility so the caller can tell private from public at a glance."},{"name":"invite_project_member","description":"Add a user (looked up by email) to a public.projects project `members` list. Atomic; idempotent if the user is already a member. The user must already exist in the system — we never silently provision accounts on invite."},{"name":"remove_project_member","description":"Remove a user (by id or email) from a public.projects project `members`. No-op if they were not a member."},{"name":"reassign_intake","description":"Attach an intake (project_requests) to a different project, or detach entirely with `to_project_id: null`. Replaces any existing attachment. Requires `confirm: true`."},{"name":"search_agentics","description":"Cross-collection ILIKE search over public.* (projects, clients, case studies, intakes, research notes, packages, project docs). Returns grouped buckets with top-N hits each."},{"name":"list_agentics_phases","description":"List phases of an Agentics project (ordered). Phases are the high-level buckets — usually rendered as horizontal swimlanes or sections on a Kanban board."},{"name":"create_agentics_phase","description":"Add a phase to an Agentics project. Uses the next _order by default."},{"name":"update_agentics_phase","description":"Rename or reorder a phase (pass title and/or order)."},{"name":"delete_agentics_phase","description":"Delete a phase (requires confirm: true). Deliverables stay unless you delete them separately."},{"name":"list_agentics_deliverables","description":"List deliverables (kanban cards) for an Agentics project, with optional status filter. Returns a `by_status` grouping for quick kanban rendering."},{"name":"create_agentics_deliverable","description":"Create a deliverable (kanban card). Standard fields: title, status, notes. Pass `extra` with any other column name the schema has (e.g. phase_id if wired)."},{"name":"update_agentics_deliverable","description":"Patch a deliverable — most common use: change `status` to move the card across kanban columns (e.g. todo → in_progress → done)."},{"name":"delete_agentics_deliverable","description":"Delete a deliverable (requires confirm: true)."},{"name":"list_agentics_goals","description":"List high-level project goals (free-text) for an Agentics project."},{"name":"create_agentics_goal","description":"Add a free-text goal to an Agentics project."},{"name":"update_agentics_goal","description":"Edit or reorder a goal."},{"name":"delete_agentics_goal","description":"Delete a goal (requires confirm: true)."},{"name":"agentics_debug_list_tables","description":"DIAGNOSTIC: list public.* tables matching a pattern (default: project%) — useful for finding Payload version/draft tables."},{"name":"agentics_debug_describe_table","description":"DIAGNOSTIC: describe columns of ANY public.* table (incl. sub-arrays + rels that aren't in COLLECTIONS)."},{"name":"agentics_debug_sample_rows","description":"DIAGNOSTIC: fetch up to 50 rows from ANY public.* table; optional parent_id filter matches _parent_id or parent_id."},{"name":"agentics_debug_enum_values","description":"DIAGNOSTIC: list all labels of a Postgres enum (e.g. enum_projects_phases_manual_kanban_column)."},{"name":"check_domain","description":"Check availability + price for one or more domains."},{"name":"register_domain","description":"Register a domain via the configured registrar. Requires confirm=true. Spends real money."},{"name":"list_domains","description":"List domains we own. source=db (default) reads our DB; source=registrar fetches live."},{"name":"set_dns_records","description":"Add (or replace) DNS records on a domain."},{"name":"get_dns_records","description":"Read live DNS records from the registrar."},{"name":"domain_spend_status","description":"How much of the daily registrar-spend cap has been used in the last 24h."},{"name":"import_existing_domain","description":"Import a registrar-owned domain into our domains table (no purchase)."}]}