projectx-mcp
Click on "Install 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., "@projectx-mcpLog 8 hours of Ontrac for today with the description Sprint planning"
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.
projectx-mcp
Log hours in ProjectX by talking to Claude Desktop.
"Log 8 hours of Ontrac for today" "Fill in the missing days this week with Ontrac" "Which days am I missing hours for this month?"
Installation
macOS (automated)
git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
bash scripts/install.shThe script will:
Install dependencies
Build the project
Configure Claude Desktop automatically
Create a backup of your existing config
Then restart Claude Desktop. Chrome will open automatically for login with your Dualboot Google account.
That's it! You can now ask Claude to log your hours.
Windows
git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
npm install
npm run buildThen manually edit Claude Desktop config:
Open: %APPDATA%\Claude\claude_desktop_config.json
Add:
{
"mcpServers": {
"projectx": {
"command": "node",
"args": ["C:\\full\\path\\to\\projectx-mcp\\dist\\src\\server.js"]
}
}
}Replace C:\\full\\path\\to\\ with your actual path (use \\ for Windows paths).
Then restart Claude Desktop. Chrome will open automatically for login.
Manual installation
If you prefer to configure manually:
Clone and build:
git clone git@github.com:agustindiezdb/projectx-mcp.git cd projectx-mcp npm install npm run buildEdit Claude Desktop config:
Open~/Library/Application Support/Claude/claude_desktop_config.jsonand add:{ "mcpServers": { "projectx": { "command": "node", "args": ["/ABSOLUTE/PATH/TO/projectx-mcp/dist/src/server.js"] } } }Replace
/ABSOLUTE/PATH/TO/with the full path to your cloned repo.Restart Claude Desktop
Using with Cursor
Cursor uses a per-project MCP config. Create .cursor/mcp.json in your project root:
{
"$schema": "https://json.schemastore.org/mcp.json",
"mcpServers": {
"projectx": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/projectx-mcp/dist/src/server.js"]
}
}
}Replace /ABSOLUTE/PATH/TO/ with the full path to your cloned repo.
Then restart Cursor. The first time, Chrome will open for login.
Usage
Just talk to Claude naturally:
Log 8 hours of Ontrac for today with description "Sprint planning"Check my entries for this week and fill the missing days with 8h of OntracDelete yesterday's entry and log 4h of Internal — AdministrativeWhich days am I missing hours for April?Available tools
Tool | Description |
| View entries for a date range |
| List available projects |
| Create an entry |
| Delete an entry by ID |
If login fails or the session expires
Simply restart Claude Desktop. Chrome will open again for you to sign in.
Useful scripts
You can also use the API directly without Claude Desktop:
# Test the API (creates and deletes a test entry)
npm run test:entry
# Check which days you're missing hours in April
npx ts-node scripts/check-april.ts
# Manually refresh your session (if expired)
npm run save-sessionFor developers
Architecture
Claude Desktop → MCP Server (stdio) → fetch() + _interslice_session cookie → ProjectX APIThe session cookie is stored at ~/Library/Application Support/projectx-mcp/auth.json (gitignored).
On startup, if no valid session is found, Chrome opens automatically for login via Playwright.
Development mode
npm run devThis runs the server with ts-node for rapid development (no build step needed).
How it works
Authentication: Uses Playwright to open Chrome and auto-detect when login is successful by polling
/api/v1/current_userSession persistence: Saves cookies to
auth.jsonusing Playwright'sstorageState()API client: Reads the
_interslice_sessioncookie and makes authenticated requests to ProjectXMCP protocol: Exposes 4 tools to Claude Desktop via stdio transport
Claude Desktop config (manual)
If you prefer to edit manually:
{
"mcpServers": {
"projectx": {
"command": "node",
"args": ["/path/to/projectx-mcp/dist/src/server.js"]
}
}
}Troubleshooting
Session expired → restart Claude Desktop, Chrome opens automatically
Chrome not found → install Google Chrome (must be in system PATH)
Project not found → ask Claude to run
get_projectsto see exact namesPath issues (macOS/Linux) → use absolute paths, not
~or relative pathsPath issues (Windows) → use
\\(double backslash) in JSON paths, e.g.C:\\Users\\...Auth file location:
macOS:
~/Library/Application Support/projectx-mcp/auth.jsonWindows:
%APPDATA%\projectx-mcp\auth.jsonLinux:
~/.config/projectx-mcp/auth.json
Requirements
OS: macOS, Windows, or Linux
Node.js: 20+
Browser: Google Chrome (required for auto-login)
Claude Desktop
Dualboot Google account
License
Internal tool for Dualboot Partners.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/agustindiezdb/projectx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server