@itm-platform/mcp-server
MCP server for ITM Platform
Versions
1.0.17latest1.0.161.0.151.0.131.0.12+ show 7 moreshow less
1.0.111.0.101.0.81.0.61.0.31.0.21.0.0Tools 47
create_project_progress Create a project-level progress (Seguimiento) entry: the project status report with report date,
update_project_progress Update an existing project-level progress (Seguimiento) entry; send only the fields to change.
search_projects Find projects by name, status, type, or date range. Returns id, name, status, progress, dates, managers. Filterable fields: name, statusLabel, customTypeLabel, startDate, endDate.
get_project Get project details by ID with subcomponent counts. Budget can be included via include: ["budget"]. For tasks, risks, issues, purchases, and revenues use the dedicated tools: list_project_tasks, get_project_risks, get_project_issues, get_project_purchases, get_project_revenues.
search_services Find services by name, status, type, or date range. Same query shape as search_projects but for services.
get_service Get service details by ID with subcomponent counts. Budget can be included via include: ["budget"]. For activities, purchases, and revenues use the dedicated tools: list_service_activities, get_service_purchases, get_service_revenues.
list_service_activities List activities for a service with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
get_service_purchases Get purchase orders for a service with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
get_service_revenues Get revenue items for a service with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
list_task_progress List the progress (seguimiento/follow-up) history for a task, newest first. Task progress is a time-series of entries, not a single task field; this is why update_task rejects PercentComplete.
get_project_progress Get the project progress report: expected curve, baseline curve, and follow-up history (date + percentage). includeEntries true adds the full Seguimiento entries (ProjectProgressId, assessment, descriptions) for update_project_progress.
aggregate_portfolio Portfolio-level analytics: group projects by any field and compute metrics (count, avgProgress, totalBudget, totalActual). Uses DataMart aggregation -- no REST equivalent. Available groupBy fields: statusLabel, priorityLabel, methodology, customTypeLabel, isClosed, managers.name.
create_task_progress Report progress on a task by creating a new progress (seguimiento/follow-up) entry. This is the correct way to set a task\'s completion percentage: it triggers task status transitions (100% completes the task, dropping below 100% reopens it), parent task rollups, automatic project progress, events, and notifications. Discover assessmentId values with get_reference_data entity "assessments".
update_task_progress Update an existing task progress (seguimiento/follow-up) entry via PATCH; send only the fields to change. Find the progressId with list_task_progress.
query_datamart Run a custom query against ITM DataMart (MongoDB-backed). For advanced analysis beyond typed tools. Operations: - "components": list with filters. Params: where, project, sort, limit (max 200), skip - "component": single by ID. Params: id, project - "aggregateComponents": aggregation pipeline. Params: pipeline (must end with $limit, max 1000) Allowed filter operators: $eq, $ne, $in, $nin, $gt, $gte, $lt, $lte, $regex, $options, $exists, $not, $and, $or, $nor Allowed pipeline stages: $match, $project, $group, $sort, $limit, $skip, $unwind, $addFields, $set, $unset Banned: $lookup, $merge, $out, $function, $accumulator, $where, $facet Key fields: id, name, code, componentType, statusLabel, priorityLabel, percentComplete, startDate, endDate, methodology, managers, budgetTopDown, budgetActual, customFields (object keyed by field display name; see get_custom_fields). Projecting full embedded arrays (tasks: 1, risks: 1, etc.) is rejected as too large; use dot notation (e.g. "tasks.name": 1) or the subcomponent tools with limit/skip.${accountContextBlock}
search_users Find team members by name or email. Returns userId, name, email, role. Uses v2 REST API (not DataMart).
get_user Get details for a single user by ID. Returns full user profile including roles, categories, and contact info.
get_project_risks Get risks for a project with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
get_risk Get full detail of a single risk from v2 REST (source of truth).
get_issue Get full detail of a single issue from v2 REST (source of truth).
get_project_issues Get issues for a project with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
get_reference_data Get reference IDs for statuses, types, priorities, risks, issues, purchases, revenues, and assessments.
create_project Create a new project. Name and TypeId are required (entity "getprojecttypes").
create_task Create a regular task, milestone, or summary task. KindId: 1=Milestone, 2=Summary, 3/default=Task (not the TypeId).
update_task Update task fields via PATCH; send only the fields to change.
create_risk Log a new risk in a project. TypeId, StatusId, ImpactId, ProbabilityId, and LevelId are all required. Discover IDs with get_reference_data (entities "riskstatuses", "risktypes", "riskimpacts", "riskprobabilities", "risklevels"); localized Ids are normalized automatically.
create_issue Log a new issue in a project. Discover IDs with get_reference_data (entities "issuestatuses", "issuetypes"); localized Ids are normalized automatically.
update_project Update project fields via PATCH; send only the fields to change.
update_risk Update risk fields; send only the fields to change. Discover IDs with get_reference_data (entities "riskstatuses", "risktypes", "riskimpacts", "riskprobabilities", "risklevels"); localized Ids are normalized automatically.
update_issue Update issue fields via PATCH; send only the fields to change. Discover IDs with get_reference_data (entities "issuestatuses", "issuetypes"); localized Ids are normalized automatically.
create_service Create a new service. Name and TypeId are required; use get_reference_data with entity "servicetypes" to discover valid service type IDs.
update_service Update service fields via PATCH; send only the fields to change. Status IDs come from get_reference_data entity "projectstatuses".
create_activity Create a new activity in a service. Activities form a flat list (no milestones, summaries, or hierarchy).
update_activity Update activity fields via PATCH; send only the fields to change.
bulk_update_task_status Apply one status to many tasks of a project in one call (faster than looping update_task).
bulk_update_activity_status Apply one status to many activities of a service in a single call.
log_time_entry Log actual worked hours on a task for one user and date. ITM Platform stores ONE total per
get_custom_fields Get the account's custom field definitions for an entity type: project, task, risk, issue, service, activity, purchase, or revenue. Returns Id, BaseId, Name, TypeId, TypeName (Text, Number, Percentage, Date, HTML, RYGList, DropDownList, List), Description, Required. VALUES live in DataMart under "customFields", keyed by the display Name exactly as returned here (case- and accent-sensitive, may contain trailing spaces). Query via query_datamart, e.g. project {"customFields": 1} or where {"customFields.<Name>": ...}. On multilingual accounts the key follows each component's language; fetch definitions per languageId to learn the variant names of the same BaseId. Dropdown values: get_custom_field_options.
get_custom_field_options Get the selectable options of a dropdown custom field (RYGList, DropDownList, or List types), using the BaseId returned by get_custom_fields. Returns Id, BaseId, Text, Color (RYG lists), SortOrder, IsDefault. The option Text is the value stored in DataMart "customFields" for the component.
list_project_tasks List tasks for a project with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
get_task Get full detail of a single task from v2 REST (source of truth, not affected by DataMart sync delay).
search_tasks Search tasks across all projects in the account (DataMart). Filters combine with AND.
get_task_effort Read task effort by assigned user and professional category: planned estimates, accepted actual
update_task_effort Set planned effort for assigned users; never logs worked time or changes accepted effort or billing.
get_project_budget Get budget summary for a project. Returns four budget objects: budgetTopDown (planned), budgetBottomUp (estimated), budgetPeriodEndClose (forecast), budgetActual (spent).
get_project_purchases Get purchase orders for a project with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
get_project_revenues Get revenue items for a project with pagination. Returns { items, total, limit, skip, hasMore }. Default limit: 50, max: 200.
Permissions 4
network medium filesystem low shell high env_vars low