ITM Platform MCP Server

ITM Platform MCP Server

Connects AI assistants to ITM Platform for searching projects, inspecting budgets, creating tasks, logging risks and issues, and updating project details via natural language.

Category
访问服务器

README

ITM Platform MCP Server

Connect ITM Platform to AI assistants through the Model Context Protocol. The ITM Platform MCP server lets MCP-compatible clients search projects, inspect budgets, summarize portfolio health, create tasks, log risks and issues, and update project details using your ITM Platform permissions.

It works with Claude, VS Code, Cursor, OpenAI Codex, Windsurf, JetBrains AI Assistant, and any other client that supports MCP.

Quick Start

Hosted connection with OAuth

Use the hosted server if your AI client supports remote MCP servers. There is nothing to install: add the URL, sign in with your ITM Platform account, and approve the requested access.

claude mcp add --scope user --transport http itm-platform https://api.itmplatform.com/v2/_/mcp/

For other MCP clients, use this remote URL:

https://api.itmplatform.com/v2/_/mcp/

OAuth is the recommended setup for most users because your AI client never sees your ITM Platform password or API key.

After adding the server, open your AI client, type /mcp where slash commands are supported, select itm-platform, and complete the ITM Platform OAuth login when prompted.

Local connection with an API key

Use the npm package if you prefer to run the server locally, work behind a firewall, or need to connect to a self-hosted ITM Platform instance.

npx @itm-platform/mcp-server

Your MCP client must pass these environment variables to the server:

Variable Value
ITM_API_URL https://api.itmplatform.com
ITM_COMPANY Your company/account slug
ITM_API_KEY Your personal API key from ITM Platform

Example stdio configuration:

{
  "mcpServers": {
    "itm-platform": {
      "command": "npx",
      "args": ["@itm-platform/mcp-server"],
      "env": {
        "ITM_API_URL": "https://api.itmplatform.com",
        "ITM_COMPANY": "{your-account}",
        "ITM_API_KEY": "your-api-key"
      }
    }
  }
}

To create an API key, log in to ITM Platform, open My Profile, and generate a key from the API Key section.

After configuring the local server, restart your AI client and use /mcp or the client's MCP server list to confirm itm-platform is connected.

What Can an Agent Do?

From simple lookups to fully automated cross-system workflows, MCP unlocks progressively more powerful use cases.

Quick lookup -- Ask a question, get an answer:

"What risks are open across my portfolio?"

Multi-step analysis -- The agent chains multiple tools and synthesizes results:

"Review every project ending this quarter. Flag any with budget overruns, open high-impact risks, or task completion below 60%."

Automated bulk actions -- The agent reads, decides, and writes across projects:

"For every project still in Planning status with a start date in the past, update the status to Execution and create a kick-off checklist task assigned to the project manager."

Scheduled intelligence -- An agent runs on a schedule with no human prompt, pulling overdue tasks every Monday and posting a summary to Slack grouped by project manager.

Cross-system orchestration -- Combine ITM Platform's MCP with other MCP servers (GitHub, Slack, Google Calendar, email). When a developer merges a PR, an agent finds the matching ITM Platform task, marks it complete, and if the project hits 100%, drafts a closure summary and emails the program manager.

The MCP server authenticates as you, calls ITM Platform APIs, and returns only the data your ITM Platform account is allowed to access.

Capabilities

The server exposes 44 MCP tools, 6 resources, and 4 prompt templates.

Read Tools

Tool What it does
search_projects Find projects by name, status, type, or date range
get_project Retrieve project details with subcomponent counts and optional budget
search_services Find services by name, status, type, or date range
get_service Retrieve service details with subcomponent counts and optional budget
list_project_tasks List tasks for a project with pagination
get_task Retrieve full detail of a single task
search_tasks Search tasks across all projects by name, status, assignee, kind, or date range
get_project_budget Get budget, actuals, revenue, cost, and margin information
get_project_purchases List purchase orders for a project with pagination
get_project_revenues List revenue items for a project with pagination
get_project_risks List project risks with pagination
get_project_issues List project issues with pagination
get_risk Retrieve full detail of a single risk, including mitigation and contingency plans
get_issue Retrieve full detail of a single issue, including resolution and impact fields
list_task_progress List the progress (follow-up) history for a task
get_task_effort Get a task's effort breakdown per team member and per professional category; doubles as the task team list
get_project_progress Get project progress report: expected, baseline, and actual curves
list_service_activities List activities for a service with pagination
get_service_purchases List purchase orders for a service with pagination
get_service_revenues List revenue items for a service with pagination
aggregate_portfolio Group and summarize portfolio data
query_datamart Run validated DataMart queries for advanced analysis
search_users Find users and team members
get_user Retrieve user details
get_reference_data Retrieve statuses, types, priorities, and other reference lists
get_custom_fields Retrieve the account's custom field definitions for projects, tasks, risks, issues, services, activities, purchases, or revenues
get_custom_field_options Retrieve the selectable options of a dropdown custom field

Write Tools

Tool What it does
create_project Create a project (Waterfall or Kanban); the project starts with the account default status and the creating user as project manager
create_task Add a task, milestone (KindId 1), or summary task (KindId 2); ParentId builds Gantt hierarchy on Waterfall projects
update_task Update task fields such as status, dates, kind, and parent
create_task_progress Report progress on a task (percentage, assessment, notes) with full side effects
update_task_progress Update an existing task progress entry
update_task_effort Set the estimated (planned) hours of a task per assigned user; accepted effort and billing data are preserved
create_risk Log a project risk
update_risk Update risk fields such as status, probability, impact, level, and mitigation or contingency plans
create_issue Log a project issue with a required issue type and status
update_issue Update issue fields such as status, type, and resolution
update_project Update project fields such as name, status, dates, and priority
create_service Create a service; it starts with the account default status
update_service Update service fields such as name, status, dates, and priority
create_activity Add an activity to a service (activities form a flat list)
update_activity Update activity fields such as status and dates
bulk_update_task_status Apply one status to up to 100 tasks of a project in a single call
bulk_update_activity_status Apply one status to up to 100 activities of a service in a single call

Write operations confirm the saved state from the ITM Platform REST API. DataMart-backed search results may take up to 60 seconds to reflect recent writes. Validation failures include the actionable message returned by REST instead of only the HTTP status.

When the account defines custom fields, each session is enriched with per-account context: the server lists the DataMart customFields keys actually in use in the MCP initialize instructions and in the query_datamart tool description, so agents can read and filter custom field values without prior discovery.

Resources and Prompts

Resources give AI clients read-only context such as DataMart schemas and project calendars. Prompt templates provide guided workflows for common analysis tasks:

Prompt What it helps with
/project_status Summarize health, tasks, risks, issues, and budget for one project
/portfolio_overview Analyze portfolio status, methodology, budget, and delivery patterns
/team_workload Review assignments and workload patterns
/risk_analysis Assess risk exposure, issues, and budget impact

Authentication and Permissions

The MCP server uses the same identity and permission model as ITM Platform.

Connection method Authentication Best for
Hosted HTTP OAuth 2.1 with PKCE Most users and managed AI clients
Local stdio ITM Platform API key Local execution, firewalled networks, self-hosted environments

OAuth sessions use scopes:

Scope Allows
mcp:read Read-only tools such as search, get, list, aggregate, and query
mcp:write Read tools plus create and update tools

API key sessions use the full permissions of the ITM Platform user who generated the key.

License access:

License MCP access
Company Admin Full read and write access
Full User Full read and write access
Project Manager Read and write access scoped to managed projects
Team Member Blocked

Your AI assistant does not receive your ITM Platform password or API key. Project data is returned to the AI client you choose, so the AI provider's data-handling policy applies to any data it processes.

Client Setup

Use the public docs for client-specific setup:

For any MCP-compatible client, the two connection values are:

Method Value
Remote URL https://api.itmplatform.com/v2/_/mcp/
Local command npx @itm-platform/mcp-server

After adding either connection, open the client's MCP command or server list. In clients that support slash commands, type /mcp, select itm-platform, and authenticate when prompted.

Self-Hosting

For a local stdio server, configure ITM_API_URL, ITM_COMPANY, and either ITM_API_KEY or ITM_TOKEN.

For an HTTP server with OAuth, configure:

Variable Description
ITM_API_URL ITM Platform API gateway URL
PORT HTTP listen port
ITM_AUTH_URL OAuth authorization server URL used for token exchange
ITM_AUTH_PUBLIC_URL Public OAuth URL advertised to AI clients
MCP_SERVER_URL Public MCP server URL used as the OAuth audience
LOG_LEVEL Optional Pino log level: debug, info, warn, or error
ITM_AUDIT_ENABLED Enables server-side audit logging when set to true
ITM_UI_URL Optional ITM Platform UI base URL (e.g. https://app.itmplatform.com); when set, create_project returns a uiUrl deep link to the created project

When deployed behind a reverse proxy, ITM_AUTH_URL can point to a server-to-server address while ITM_AUTH_PUBLIC_URL must be reachable by AI clients.

Development

Requirements:

  • Node.js 20 or later
  • npm

Install dependencies, run tests, and build:

npm install
npm test
npm run build

Run the HTTP development server:

cp .env.sample .env
npm run dev

The package entry point is dist/server.js; the npm executable is mcp-server.

Troubleshooting

If tools do not appear in your AI client, confirm that the server configuration is in the correct file for that client, restart the client, and check that npx @itm-platform/mcp-server runs successfully for local setups.

If authentication fails, regenerate your API key or reconnect the OAuth server so your client receives a fresh token.

OAuth sessions automatically retry once on a downstream 401 by re-exchanging the OAuth bearer token for a fresh session token. This handles cases where the session token is invalidated externally (e.g. by a concurrent browser login). If 401 errors persist, the OAuth bearer token itself has likely expired and the AI client needs to re-authenticate.

If a write succeeds but a later search shows old data, wait up to 60 seconds. Writes are confirmed from the REST API immediately, while DataMart search indexes update asynchronously.

More Help

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选