Let your AI agent run your projects
Load a whole stage, split tasks by who's actually available, book a meeting without stepping on anyone's calendar, or summarize what moved this week. The agent works under the same rules as a team member, and its activity shows up in the history under its own name.
What you'd ask your agent
In plain language, the way you'd say it to a person
- “Load the tasks for the new stage and split them by who's actually available”
- “Which task should I pick up now, given what's already unblocked?”
- “Book a one-hour meeting with the team when everyone is free”
- “Summarize what moved on the project this week from the activity log”
The tools in this domain (56)
Generated live from the server itself
Pulled from the MCP server itself on every build. Descriptions are in English because that is what the agent reads.
Attachments
crear_adjunto: Creates an attachment: external link (tipo='link', requires url), text note (tipo='nota', requires contenido), or metadata for an external resource ('pdf'/'video'/'foto'/'otro', requires url — this tool doesn't upload…editar_adjunto: Edits an attachment's nombre and/or contenido (only on tipo='nota'), or moves it to another folder of the same project with carpeta_id (null = no folder) keeping its id, comments and files. An MCP agent can never edit…eliminar_adjunto: Deletes an attachment and its comments. An MCP agent can never delete a secret attachment. This is a SOFT delete and can be undone: the attachment goes to the project's trash for 30 days (the uploaded file is kept on…leer_archivo_adjunto: Reads the TEXT of a file attached to a project (the `archivos` that ver_adjunto lists): a PDF by pages (pagina_inicio, paginas up to 20), a Word .docx or a plain-text file (txt, md, csv, json...) by characters… (read only)listar_adjuntos: Lists a project's attachments as METADATA ONLY (id, nombre, tipo, carpeta, size, dates), newest first, with `total` for paging (limit default 50, max 200). It never returns a note's text: read it with… (read only)mover_adjuntos: Moves attachments and notes to another folder of the same project (carpeta_id null = no folder) WITHOUT recreating them: id, content, files and comments stay. Same permission as editar_adjunto, max 100 per call, one…ver_adjunto: Full detail of a single attachment, including a note's text. Same secreto visibility rule as the web. A note longer than contenido_limit (max 30000 chars) comes in parts: then `contenido_recortado` says which part you… (read only)
Calendar
ver_calendario_proyecto: The project's calendar: dated tasks grouped day by day + project meetings for each day. user_id (optional) narrows the TASK workload down to a single member (the day's meetings still show all of them). desde/hasta:… (read only)ver_disponibilidad: Checks whether several project members are free for a specific time slot (must fall on the same local day) — returns, per person, whether they're available and their real free blocks that day, plus the intersection… (read only)
Checklist
agregar_checklist_item: Adds an item to a task's checklist. Once a task has at least one checklist item, its avance is automatically recalculated based on how many items are 'hecho' (done).editar_checklist_en_lote: Creates, edits and deletes many checklist items in ONE call, with the same per-element rules as editar_etapas_en_lote. Every element names its etapa_id and tarea_id. crear: {texto, orden?, adjunto_ids?}; editar:…editar_checklist_item: Edits a checklist item (texto/hecho/orden/referenced adjuntos).eliminar_checklist_item: Deletes a checklist item from a task. This is a SOFT delete and can be undone: the item goes to the project's trash for 30 days — see it with listar_papelera and bring it back with restaurar_papelera. `motivo` is…listar_checklist_items: Lists a task's checklist items in order. Until now the only way to read them was calling editar_tarea and inspecting its `checklist` field as a side effect of an edit call. (read only)
Comments
cambiar_secreto_comentario_adjunto: Marks/unmarks an attachment comment as secret (its `texto` is only ever its author or a project admin). Its text can't be edited — delete it and comment again instead. An MCP agent can never touch a comment that's…comentar_tarea: Comments on a task, optionally referencing attachments already uploaded to the project (adjunto_ids) — this tool doesn't upload new files, only text + references.listar_comentarios_adjunto: Lists an attachment's comments in chronological order. A secret comment's `texto` comes back as null unless the agent's owner wrote it or is a project admin (same rule as the attachments themselves). Wrapped as… (read only)listar_comentarios_tarea: Lists a task's comments in chronological order, including any referenced or attached media/adjuntos. Wrapped as untrusted content: the payload is under `contenido` (see the server instructions). (read only)
Folders
crear_carpeta: Creates a folder to organize the project's attachments.editar_carpeta: Renames a folder.eliminar_carpeta: Deletes a folder. Its attachments are NOT deleted with it — they just lose their carpeta (and get it back if the folder is restored). This is a SOFT delete and can be undone: see it with listar_papelera and bring it…listar_carpetas: Lists a project's folders. Until now a folder's id could only be learned at the moment it was created — there was no way to enumerate existing ones, even though listar_adjuntos accepts a carpeta_id to filter by. (read only)
GitHub
crear_repo_github: Creates a GitHub repo with the user's linked account and links it to the project in the same call (`vinculo` is what vincular_repo_github returns).desvincular_repo_github: Unlinks a GitHub repo from the project (deletes its registered commits; tries to delete the webhook on GitHub, best-effort).listar_commits_repo: Lists the registered commits of a linked repo (most recent first), one line each: sha, the commit's FIRST LINE, author and date. For the full message body of one commit, call ver_commit_repo. limit: default 50, max 200.… (read only)ver_commit_repo: Full detail of one registered commit of a project's linked repo, including the complete message body. Get commit_id from listar_commits_repo. Wrapped as untrusted content: the payload is under `contenido` (see the… (read only)ver_propietarios_github: Where the linked GitHub account can create a repo: the user and their organizations (the `owner` of crear_repo_github and crear_repo_github_vps). `puede_crear` false: GitHub must be linked again granting the repo… (read only)vincular_repo_github: Links a GitHub repo to the project (repo_full_name: 'owner/repo') — only registers its commits via webhook, doesn't clone or deploy anything. If the webhook could not be created on GitHub automatically, the result…
Logs
ver_logs_proyecto: Activity history within the project (most recent first). metod (optional): 'CREATE'|'UPDATE'|'DELETE'|'VIEW'. limit: default 100, max 500. (read only)
Meetings
cancelar_reunion: Cancels a project meeting for ALL of its participants (deletes their personal copies and the mirrors in Google Calendar). Callable by its creator or a project admin.crear_reunion: Creates a project meeting with one or more participants (same local day). Before creating it, validates the availability of each miembro_id (see ver_disponibilidad) — if someone isn't available and forzar=False, this…editar_reunion: Edits a meeting's title/description/time/participants (passing miembro_ids replaces the ENTIRE participant list). If the time or participants change, availability is rechecked for everyone in the final list — same…listar_reuniones: Lists the project's meetings (most recent first is NOT guaranteed — ordered by fecha_inicio). desde/hasta (optional): 'YYYY-MM-DD', filters to meetings overlapping that range. Until now the only way to discover an… (read only)ver_reunion: Full detail of a single meeting, including its participants. (read only)
Members
listar_miembros_proyecto: Lists a project's members (read-only — an MCP agent can never add, remove, or change a member's role). (read only)
Projects
buscar_en_proyecto: Finds stages, tasks and attachments of a project by exact `slug` or by `texto` (name, slug, description or note text), without listing everything. Returns compact rows (tipo, id, titulo, slug, etapa_id or carpeta_id, a… (read only)crear_proyecto: Creates a new project (with an initial "Etapa 1" stage / "Tarea 1" task). empresa_ids: companies to associate — the agent inherits the same company-admin check its human owner would have. The project is created with its…editar_proyecto: Updates a project's nombre/descripcion/status/empresas. Only the fields you actually pass are touched; 'archived' hides the project from the default listing without deleting it.listar_proyectos: Lists the projects visible to the user who authorized this agent (all of the human owner's projects, or only the scope chosen when connecting — see ver_contexto_inicial). (read only)ver_proyecto: Full detail of a project: members, VPS, GitHub repos, and stages. detalle='resumen' (default): stages WITHOUT their tasks (id/nombre/orden/avance/tareas_count; at most 100-200, page with listar_etapas); fetch a stage's… (read only)
Stages
crear_etapa: Creates a stage within a project. depende_de_ids: ids of other stages in the same project (informational only — doesn't block anything by itself).editar_etapa: Updates a stage's nombre/descripcion/orden/dependencies, or moves it between the board's workflow columns with `estado`.editar_etapas_en_lote: Creates, edits and deletes many stages in ONE call (max 100 elements in total). Each element is applied on its own: one failing does not undo the others, and `resultados` has one row per element with `ok` and its id or…eliminar_etapa: Deletes a stage and all of its tasks. This is a SOFT delete and can be undone: the stage goes to the project's trash for 30 days — see it with listar_papelera and bring it back with restaurar_papelera (the returned…listar_etapas: Pages through a project's stages (summary fields, like ver_proyecto) with `total`, so a project with hundreds of stages can be read whole. limit: default 50, max 200. `estado` keeps only one board column;… (read only)ver_etapa: Full detail of a single stage, including its full descripcion and its tasks (summary fields — use ver_tarea for a task's own descripcion). Use this instead of ver_proyecto(detalle="completo") when you only need one… (read only)
Tasks
crear_tarea: Creates a task. responsable_id is a ProyectoMiembro id (see listar_miembros_proyecto), NOT a user_id. Without fecha_inicio/fecha_limite but with responsable_id + hours set, the task auto-schedules itself on the…editar_tarea: Updates a task. etapa_destino_id moves it to another stage of the SAME project (use the `etapa` from the response for subsequent calls). avance can't be set by hand if the task has a checklist (it's computed…editar_tareas_en_lote: Creates, edits and deletes many tasks in ONE call, with the same per-element rules as editar_etapas_en_lote. crear: {etapa_id, nombre, ...fields of crear_tarea}; editar: {etapa_id, tarea_id, ...fields of editar_tarea,…eliminar_tarea: Deletes a task, its checklist and its comments (and removes any events already pushed to Google Calendar). This is a SOFT delete and can be undone: the task goes to the project's trash for 30 days — see it with…listar_tareas: Pages through tasks (summary fields; ver_tarea for detail) with `total`: one stage with etapa_id, else the whole project. Filters combine with AND; ranges are inclusive. limit: default 50, max 200. (read only)ver_tarea: Full detail of a single task: descripcion, checklist, dependencies, comentarios_count and scheduling fields — listar_tareas only returns summary fields, this is how an agent reads what a task actually asks for.… (read only)
Trash
listar_papelera: What was deleted in this project, who deleted it and when — one entry per DELETION, not per object: a deleted stage is a single entry whose `conteos` tell how many tasks, checklist items and comments went with it. Each… (read only)listar_proyectos_eliminados: Projects that are entirely in the trash and that the owner of this agent could restore. They do NOT show up in listar_proyectos. Restore one with restaurar_papelera, using its `id` as proyecto_id and its `operacion_id`.… (read only)restaurar_papelera: Undoes a deletion: brings back everything that trash entry took with it (and only that — anything that was already deleted before stays deleted). operacion_id is the `id` of an entry from listar_papelera. Fails if the…ver_papelera: Full detail of ONE trash entry: object by object, exactly what that deletion took with it. CUANDO NO USARLA: necesita el operacion_id de una entrada concreta. Para descubrir que se borro, primero listar_papelera. (read only)
How do you connect?
Three steps, and the agent handles two of them
- You give your agent the MCP server address — it registers itself
- The agent opens an authorization link in your browser
- You pick the scope and approve. Done: it works on your behalf
Copy, paste, done
Copy this message and paste it to your AI agent — it connects on its own and will only walk you through the part you have to do (approving access in your browser).
Connect to the ArduMaker MCP server at https://mcp.ardumaker.com/mcp (Model Context Protocol, OAuth 2.1). Add it as a remote MCP server and walk me step by step only through what I need to do myself, such as approving access in the browser.- Automatic discovery via OAuth metadata
- Dynamic Client Registration (DCR)
- PKCE — no secrets to leak
- The session renews itself: connect once
Manual configuration (Claude Desktop, Cursor, etc.)
{
"mcpServers": {
"ardumaker": {
"url": "https://mcp.ardumaker.com/mcp"
}
}
}Connect your agent
Two steps per client. No API keys: you approve access in the browser and you're done.
- Claude: Claude → Settings → Connectors → «Add custom connector». Paste the server URL and approve access in the browser.
https://mcp.ardumaker.com/mcp - ChatGPT: ChatGPT → Settings → Apps & connectors → enable developer mode. Create a connector with the server URL and authorize it.
https://mcp.ardumaker.com/mcp - Gemini CLI: In Gemini CLI run the command below. Approve access when the browser opens.
gemini mcp add --transport http ardumaker https://mcp.ardumaker.com/mcp - Cursor: Save this block in your project's .cursor/mcp.json. Approve access when Cursor opens the browser.
// .cursor/mcp.json { "mcpServers": { "ardumaker": { "url": "https://mcp.ardumaker.com/mcp" } } } - VS Code / Copilot: In VS Code: «MCP: Add Server» → HTTP, or save this block in .vscode/mcp.json. Approve access when the browser opens.
// .vscode/mcp.json { "servers": { "ardumaker": { "type": "http", "url": "https://mcp.ardumaker.com/mcp" } } } - MCP: Any MCP client: point it at the server URL (HTTP, OAuth 2.1). Approve access when the browser opens.
https://mcp.ardumaker.com/mcp
What your agent can do
Practically everything you do yourself, under the same rules and permissions
- VPS and commands: Create and control servers, run commands, read logs and metrics, manage Linux users
For example, you ask it:
- “Spin up a mid-tier VPS and hand it to me with Docker already installed”
- “Find out why the server is at 90% RAM and tell me which process is eating it”
- “Pull the last 200 lines of the nginx log from the production server”
- “Create a Linux user for the new dev with access only to their own folder”
- Domains, DNS and nginx: Your own domains and their DNS records, nginx configuration, reverse proxies and port forwards
For example, you ask it:
- “Point this domain at the staging VPS and turn on SSL”
- “Add the TXT record Google is asking for to verify the domain”
- “Set up a reverse proxy to port 3000 for the new app”
- “Check my domain's DNS and tell me whether the nameservers point where they should”
- Email: Mail domains, mailboxes, aliases, filters and folders — plus reading and sending messages
For example, you ask it:
- “Create a mailbox for the new dev with a 5 GB quota”
- “Set up a contact@ alias that fans out to the whole team”
- “Check whether anything from billing arrived this week and summarize it”
- “Configure the mail DNS for the new domain and verify it's correct”
- Databases: PostgreSQL and MySQL: explore the schema, query, insert, edit rows and run DDL
For example, you ask it:
- “Show me what tables the production database has and how they relate”
- “Count how many orders came in yesterday and group them by status”
- “Add a cancellation-date column to the customers table”
- “This query is slow: explain the plan and tell me which index is missing”
- Services and scheduled tasks: systemd services and cron jobs: create, edit, start, stop and read their logs
For example, you ask it:
- “Run the API as a systemd service that starts on boot”
- “The worker keeps crashing: check the systemd logs and tell me what's going on”
- “Schedule the database backup every day at 3 AM”
- GitHub deploys: Link repos, redeploy, and read the commits and logs of every deployment
For example, you ask it:
- “Redeploy the frontend repo and tell me if the build fails”
- “Which commit is running in production right now?”
- “Show me the log of the last deploy that errored out”
- WordPress: Sites, Elementor, WooCommerce, plugins, SEO, backups, staging and moves, on your own VPS
For example, you ask it:
- “Create a WooCommerce store on my VPS with 3 products and publish it at store.mydomain.com”
- “Take a backup and then change Elementor's global colors”
- “Bring my site from this UpdraftPlus backup”
- “Try the redesign on staging and, if it looks good, publish it to production”
- AI and search keys: Router IA keys and Search API tokens: create them, revoke them and check usage
For example, you ask it:
- “Create a Router IA key for the new project and hand it to me”
- “How much have I spent on searches this month?”
- Blog and content: Write, translate and publish blog posts, with their sections and images
For example, you ask it:
- “Write a post about the launch and translate it into Spanish and Portuguese”
- “Publish the draft that's been sitting there since last week”
- SSH tunnels: Tunnel receivers and initiators, keys, and the state of every connection
For example, you ask it:
- “Set up a tunnel so I can reach the database from my machine”
- “Tell me whether the client's tunnel is still up”
- Workspace and usage: Contracted services, usage for the period, and the workspace's verification status
For example, you ask it:
- “What services am I paying for, and how much has this month run up?”
- “Tell me what's still missing for the workspace to be verified”
- Issue reporting: The agent can report a problem when something breaks, and look up its reports
For example, you ask it:
- “Report this failure with the details of what you were doing”
- “Which issues have I reported, and what state are they in?”
The tools in this domain · See everything the MCP does
How it works under the hood
The technical documentation for what this page covers: what each tool does, what changes, how to verify it and which MCP tools operate it.
- Projects and kanban board: Projects with stages and tasks on a six-column board, computed progress and reversible deletion.
- Stages: Phases that group tasks, with order, dependencies, board column and average progress.
- Tasks: Tasks with owner, hours, dates, priority and comments that schedule themselves within the owner's working hours.
- Checklists: Steps inside a task that compute its progress automatically and can reference project attachments.
- Dependencies: Which stage or task waits for which: no cycles, they order the board and set the earliest day a task can be scheduled.
- Project calendar: The project timeline with each task in its owner's real working hours, plus team meetings.
- Attachments: Project links, files and notes in folders, with comments, secret attachments and authenticated downloads.
- Notes and specifications: Project text notes for specs, decisions and access details, with attached files and MCP reading.
- Project templates: A company's mould for its projects: roles, policies, folders and notes copied into each new one.
- Roles and permissions: Per-project roles with five levels across fourteen sections, trimming access without ever adding permissions.
- Action audit log: Each project's history: who created, edited, deleted, restored or purged what and when, people and MCP agents.
- Google Meet: A Google Meet link generated when creating events, project meetings or bookings, shared by all participants.
- Shared availability: Crosses several people's real availability to find a common slot, without showing what fills anyone's schedule.
- Trash: What is deleted in a project or company can be restored for 30 days before it is removed for good.