AI 어시스턴트를 ITM Platform에 연결하여 프로젝트, 작업, 예산, 리스크 및 팀 워크로드를 관리합니다.
다른 이름 itmplatform/mcp-server, mcp-server, @itm-platform/mcp-server
- 스타
- 0
- Tools
- 47
- 다운로드, 30일
- 587
- 최신 버전
- 1.0.24
- 마지막 커밋
- 2026년 11월 11일
- 라이선스
- MIT
ITM Platform MCP란?
ITM Platform은(는) MCP server입니다. AI 어시스턴트를 ITM Platform에 연결하여 프로젝트, 작업, 예산, 리스크 및 팀 워크로드를 관리합니다. 47개 도구를 제공합니다. 예: search_projects, get_project, search_services.
프로젝트 README에서 생성된 요약
ITM Platform MCP server 정보
ITM Platform MCP server는 AI 어시스턴트를 프로젝트 관리 데이터와 연결하여 프로젝트, 작업, 예산, 리스크 및 팀 워크로드를 감독할 수 있게 합니다. Claude, VS Code, Cursor, JetBrains AI Assistant와 같은 MCP 호환 클라이언트 사용자를 위해 설계되었습니다. 이 서버는 프로젝트 검색, 예산 검토, 리스크 기록, 작업 상태 업데이트 등 읽기 및 쓰기 작업을 모두 수행할 수 있는 47개의 도구를 제공합니다.
사용자는 비밀번호를 노출하지 않는 안전한 설정을 위해 OAuth 2.1을 사용하는 호스팅된 HTTP 연결을 통해 접속할 수 있습니다. 또는 개발자가 @itm-platform/mcp-server npm 패키지를 사용하여 서버를 로컬에서 실행할 수도 있으며, 이 경우 ITM_API_KEY 및 ITM_COMPANY 환경 변수가 필요합니다. 로컬 방식은 방화벽 뒤에서 작업하거나 자체 호스팅 인스턴스를 사용하는 경우에 적합합니다. 서버는 기존 ITM Platform 권한을 준수하므로, 에이전트는 인증된 사용자가 처리할 권한이 있는 데이터에만 접근하거나 이를 수정할 수 있습니다.
활용 사례
- 1포트폴리오 상태 분석AI 어시스턴트에게 현재 예산을 초과하거나 영향력이 큰 리스크에 직면한 프로젝트를 찾아달라고 요청하세요.
- 2프로젝트 업데이트 자동화에이전트에게 프로젝트 상태를 전환하고 필요한 작업 체크리스트를 자동으로 생성하도록 지시하세요.
- 3시스템 간 워크플로우 오케스트레이션코드가 머지될 때 에이전트가 작업을 완료하도록 설정하여 개발 워크플로우와 프로젝트 관리를 연결하세요.
- 4팀 워크로드 검토특화된 프롬프트 템플릿을 사용하여 팀원 간에 작업이 어떻게 분배되어 있는지 평가하세요.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
ITM Platform MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 ITM Platform MCP 설치
$ claude mcp add mcp-server -- npx -y @itm-platform/mcp-serverCursor에 ITM Platform MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@itm-platform/mcp-server"
]
}
}
}VS Code에 ITM Platform MCP 설치
.vscode/mcp.json
{
"servers": {
"mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@itm-platform/mcp-server"
]
}
}
}VS Code CLI에 ITM Platform MCP 설치
$ code --add-mcp '{"name":"mcp-server","type":"stdio","command":"npx","args":["-y","@itm-platform/mcp-server"]}'Claude Desktop에 ITM Platform MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@itm-platform/mcp-server"
]
}
}
}Codex에 ITM Platform MCP 설치
$ codex mcp add mcp-server -- npx -y @itm-platform/mcp-serverCodex config.toml에 ITM Platform MCP 설치
~/.codex/config.toml
[mcp_servers.mcp-server] command = "npx" args = ["-y", "@itm-platform/mcp-server"]
Gemini CLI에 ITM Platform MCP 설치
$ gemini mcp add -s user mcp-server npx -- -y @itm-platform/mcp-serverGemini settings.json에 ITM Platform MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@itm-platform/mcp-server"
]
}
}
}ITM Platform MCP 도구 47
README에서 감지됨search_projectsget_projectsearch_servicesget_servicelist_project_tasksget_tasksearch_tasksget_project_budgetget_project_purchasesget_project_revenuesget_project_risksget_project_issues
| search_projects | — | |
| get_project | — | |
| search_services | — | |
| get_service | — | |
| list_project_tasks | — | |
| get_task | — | |
| search_tasks | — | |
| get_project_budget | — | |
| get_project_purchases | — | |
| get_project_revenues | — | |
| get_project_risks | — | |
| get_project_issues | — |
도구 47개 모두 보기도구 수 줄이기
get_riskget_issuelist_task_progressget_task_effortget_project_progresslist_service_activitiesget_service_purchasesget_service_revenuesaggregate_portfolioquery_datamartsearch_usersget_userget_reference_dataget_custom_fieldsget_custom_field_optionscreate_projectcreate_taskupdate_taskcreate_task_progressupdate_task_progressupdate_task_effortlog_time_entrycreate_project_progressupdate_project_progresscreate_riskupdate_riskcreate_issueupdate_issueupdate_projectcreate_serviceupdate_servicecreate_activityupdate_activitybulk_update_task_statusbulk_update_activity_status
| get_risk | — | |
| get_issue | — | |
| list_task_progress | — | |
| get_task_effort | — | |
| get_project_progress | — | |
| list_service_activities | — | |
| get_service_purchases | — | |
| get_service_revenues | — | |
| aggregate_portfolio | — | |
| query_datamart | — | |
| search_users | — | |
| get_user | — | |
| get_reference_data | — | |
| get_custom_fields | — | |
| get_custom_field_options | — | |
| create_project | — | |
| create_task | — | |
| update_task | — | |
| create_task_progress | — | |
| update_task_progress | — | |
| update_task_effort | — | |
| log_time_entry | — | |
| create_project_progress | — | |
| update_project_progress | — | |
| create_risk | — | |
| update_risk | — | |
| create_issue | — | |
| update_issue | — | |
| update_project | — | |
| create_service | — | |
| update_service | — | |
| create_activity | — | |
| update_activity | — | |
| bulk_update_task_status | — | |
| bulk_update_activity_status | — |
구성
ITM_API_KEYYour personal API key
ITM_API_URLITM Platform API gateway URL
ITM_COMPANYYour company/account slug
| 이름 | 설명 | 유형 |
|---|---|---|
| ITM_API_KEY | Your personal API key | |
| ITM_API_URL | ITM Platform API gateway URL | |
| ITM_COMPANY | Your company/account slug |
자동 검사
2026년 11월 13일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용통과
- 파괴적인 도구에 라벨 표시됨통과
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음통과
README
GitHub에서 보기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.
- Public docs: developers.itmplatform.com/mcp
- npm package: @itm-platform/mcp-server
- Hosted MCP URL:
https://api.itmplatform.com/v2/_/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 47 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; optional fields returns only the task fields you need |
get_task |
Retrieve full detail of a single task |
search_tasks |
Search tasks across all projects by name, status, assignee, kind, or date range; optional fields as in list_project_tasks |
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, optionally paged with limit and skip |
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; optionally the full project Seguimiento entries |
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; returns IsNonLoginUser so non-login users (empty EmailAddress) can be addressed by UserId |
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; TaskManagers/TaskMembers assign users by username or numeric UserId (the id is the only option for non-login users) |
update_task |
Update task fields such as status, dates, kind, and parent; TaskManagers/TaskMembers add assignees by username or numeric UserId (add-only, never removes) |
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 |
log_time_entry |
Log actual worked hours on a task for one user and date; adds to or replaces the day's total, echoing previous and new totals |
create_project_progress |
Create a project-level progress (Seguimiento) entry: percentage, assessment, and status description; 100% auto-closes the project |
update_project_progress |
Update an existing project progress entry |
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.
Each tool result stays under 100 KB. Paged list tools return the items that fit and mark the page with trimmedForSize and nextSkip instead of failing; a task whose progress history alone is over the limit comes with its newest progress reports and progressReportsTotal.
Validation failures include the actionable message returned by REST instead of only the HTTP status.
Data source routing
Reads come from DataMart where its dataset is complete enough for the tool's contract: searches, subcomponent lists, project and service detail, portfolio aggregates, and query_datamart (quota-free, portfolio-wide). REST serves canonical single-record reads that need current state or feed a write (get_task, get_risk, get_issue, task and project progress history), data DataMart lacks, reference data, and every write readback, because DataMart lags writes by up to 60 seconds. Writes always go to REST. DataMart gaining a dataset does not by itself move a REST tool: progress history, for example, is in DataMart and reachable through query_datamart, while the progress tools stay on REST.
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:
- Claude Code, Claude Desktop, VS Code, Cursor, Codex, Windsurf, and JetBrains
- Connect with OAuth
- Connect with an API key
- Troubleshooting
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
- MCP docs: modelcontextprotocol.io
- ITM Platform help: helpcenter.itmplatform.com
- ITM Platform developer docs: developers.itmplatform.com
ITM Platform MCP 질문
ITM Platform MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add mcp-server -- npx -y @itm-platform/mcp-server를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
ITM Platform MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
ITM Platform MCP는 어떤 도구를 제공하나요?
47개 도구를 제공합니다. 예: search_projects, get_project, search_services, get_service, list_project_tasks.
호스팅된 ITM Platform 서버에 어떻게 연결하나요?
사용 중인 AI 클라이언트가 원격 MCP server를 지원한다면, URL을 추가하고 OAuth를 통해 ITM Platform 계정으로 로그인하여 호스팅된 서버를 사용할 수 있습니다.
ITM Platform MCP server를 로컬에서 실행할 수 있나요?
네, npm 패키지를 사용하여 서버를 로컬에서 실행할 수 있습니다. 이는 방화벽 내부에서 작업하거나 자체 호스팅 인스턴스에 연결할 때 유용합니다.
AI 어시스턴트가 제 비밀번호에 접근할 수 있나요?
아니요, 서버는 OAuth 또는 API key를 사용하므로 AI 클라이언트는 사용자의 ITM Platform 비밀번호를 절대 알 수 없습니다.