ms-project-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ms-project-mcpCreate a software release plan starting Monday: design 2w, dev 6w, QA 2w"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ms-project-mcp — MCP server for Microsoft Project
English · Español
A Model Context Protocol (MCP) server that lets Claude and other AI agents drive Microsoft Project desktop (MS Project 2016 / 2019 / 2021 / Microsoft 365) on Windows. Ask in plain language and the AI builds, edits and analyzes real .mpp schedules: Gantt charts, work breakdown structures (WBS), dependencies, resources, calendars, baselines, critical path, resource leveling and earned value.
It automates your installed Project through COM. Changes appear live in the Project window, and each AI edit is a single Undo step.
"Build a 3-month schedule for a small wooden house, with crews, hourly rates and Chilean public holidays." → 43 tasks across 7 phases, 7 resources, a 42-hour work week, holidays and a critical path with no overallocated resources, saved as
.mpp. Seeexamples/wooden_house.py.
Features
Area | Tools |
Files |
|
Project |
|
Tasks |
|
Dependencies |
|
Resources |
|
Assignments |
|
Calendars |
|
Analysis |
|
Output |
|
Compact input syntax, which is easy for an LLM to write:
Durations:
"5d","3h","2w","1mo". Dates:"2026-11-02"or"2026-11-02 08:00".Dependencies:
"3","5SS+2d","#2FF-1d"(#n= n-th task of the same batch). The Spanish codes FC/CC/CF are accepted too.Assignments:
"Ana","Carpenters[200%]". Missing resources are created automatically.Tasks can be referenced by ID, by
"uid:<UniqueID>"or by exact name.Any Project field by name:
{"Text1": "Subcontractor", "Number2": 5}.
Related MCP server: OmniPlan MCP Server
Requirements
Windows with Microsoft Project desktop installed and activated. Tested with Project Professional 2019 (16.0), 64-bit.
Python 3.10+.
An MCP client: Claude Desktop, Claude Code, or any other MCP-compatible client.
Project Online / Project for the web are not supported, because this server uses the desktop COM API.
Installation
git clone https://github.com/tomascarvallo/ms-project-mcp.git
cd ms-project-mcp
python -m venv .venv
.venv\Scripts\python -m pip install -e .Claude Desktop
Add the server to %APPDATA%\Claude\claude_desktop_config.json, using your own clone path:
{
"mcpServers": {
"ms-project": {
"command": "C:\\path\\to\\ms-project-mcp\\.venv\\Scripts\\python.exe",
"args": ["-m", "ms_project_mcp"],
"env": { "PYTHONIOENCODING": "utf-8" }
}
}
}Claude Code
claude mcp add ms-project --scope user -- C:\path\to\ms-project-mcp\.venv\Scripts\python.exe -m ms_project_mcpRestart the client. The server starts automatically with Claude. If Project is not running, it is launched on the first request. If Project is already open, the server attaches to it and works on the active project.
Note: Microsoft Store Python cannot see
%APPDATA%\Roaming. Edit the Claude Desktop config with another tool, not with a script run by that Python.
Example prompts
"Open
C:\Projects\Warehouse.mppand tell me which tasks are on the critical path.""Create a software release plan starting Monday: design 2w, development 6w, QA 2w overlapping development by 1 week."
"Add Christmas and New Year as holidays and tell me how much the finish date moves."
"Save a baseline, mark tasks 4–9 as 100% complete and show me the variance."
"Run a schedule health check and fix the tasks without successors."
"Give me the weekly work of each resource for an S-curve and export the Gantt chart to PDF."
How it works
All COM calls run on a single STA thread. Calls are retried automatically while Project is busy.
Every editing tool is wrapped in an undo transaction (
OpenUndoTransaction), so Ctrl+Z in Project reverts a whole AI operation.Durations are converted using the project's hours per day and week. Dates without a time use the project's default start or finish time.
Errors are returned as readable messages to the model, for example "There are 2 tasks named 'Design'; use their Id: [3, 12]".
Tool descriptions are written in Spanish. Claude and other LLMs use them in any language.
Limitations
Windows only, because it uses COM.
If Project has a modal dialog open (for example Task Information), calls wait about 10 seconds and then fail with a message asking to close it.
Opening non-native formats other than
.xmlmay show Project's import wizard.
Testing
.venv\Scripts\python tests\smoke_test.pyThe test creates a temporary project, exercises all 43 tools and closes it without saving. The 2 reported errors are intentional negative checks.
Keywords
Microsoft Project MCP, MS Project AI, MS Project automation Python, Claude Microsoft Project, AI project scheduling, Gantt chart AI, construction scheduling, critical path method, earned value, pywin32 COM, Model Context Protocol server.
License
MIT. This is not affiliated with or endorsed by Microsoft. Microsoft Project is a trademark of Microsoft Corporation.
This server cannot be deployed
Maintenance
Related MCP Connectors
- AurentiaOAuthfr.aurentia
Your Aurentia workspace — projects, CRM, tasks, deliverables — in Claude, Cursor or any MCP client.
AI-powered project controls tools for Primavera P6 and Primavera Unifier.
Build Gantt charts from your AI chat: tasks, dependencies, timeline spreadsheets. All data is local.
An agent-first office suite Claude & ChatGPT read and write over one MCP URL.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to analyze Primavera P6 XER files for insights into critical paths, schedule health, and project performance. It provides 23 specialized tools for managing schedule data, resources, and earned value through local or remote interfaces.2913MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude to read and analyze project schedule files in OmniPlan (.oplx) and Microsoft Project (.mpp) formats, answering questions about tasks, milestones, resources, and progress.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that enables LLMs to read and analyze Microsoft Project schedules, including critical path, resources, and advanced construction planning layers (AWP and LPS) for work packages and Lean planning.MIT
- AlicenseNot gradedqualityBmaintenanceRead-only MCP bridge connecting Claude Desktop to Merlin Project on Mac, allowing natural-language queries about plans, activities, resources, and project data.MIT