loading…
Search for a command to run...
loading…
Enables users to manage time entries and log hours on the ProjectX platform using natural language. It provides tools for creating, viewing, and deleting entrie
Enables users to manage time entries and log hours on the ProjectX platform using natural language. It provides tools for creating, viewing, and deleting entries, as well as retrieving a list of available projects.
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?"
git clone [email protected]:agustindiezdb/projectx-mcp.git
cd projectx-mcp
bash scripts/install.sh
The script will:
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.
git clone [email protected]:agustindiezdb/projectx-mcp.git
cd projectx-mcp
npm install
npm run build
Then 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.
If you prefer to configure manually:
Clone and build:
git clone [email protected]:agustindiezdb/projectx-mcp.git
cd projectx-mcp
npm install
npm run build
Edit Claude Desktop config:
Open ~/Library/Application Support/Claude/claude_desktop_config.json and 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
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.
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 Ontrac
Delete yesterday's entry and log 4h of Internal — Administrative
Which days am I missing hours for April?
| Tool | Description |
|---|---|
get_time_entries |
View entries for a date range |
get_projects |
List available projects |
create_time_entry |
Create an entry |
delete_time_entry |
Delete an entry by ID |
Simply restart Claude Desktop. Chrome will open again for you to sign in.
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-session
Claude Desktop → MCP Server (stdio) → fetch() + _interslice_session cookie → ProjectX API
The 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.
npm run dev
This runs the server with ts-node for rapid development (no build step needed).
/api/v1/current_userauth.json using Playwright's storageState()_interslice_session cookie and makes authenticated requests to ProjectXIf you prefer to edit manually:
{
"mcpServers": {
"projectx": {
"command": "node",
"args": ["/path/to/projectx-mcp/dist/src/server.js"]
}
}
}
get_projects to see exact names~ or relative paths\\ (double backslash) in JSON paths, e.g. C:\\Users\\...~/Library/Application Support/projectx-mcp/auth.json%APPDATA%\projectx-mcp\auth.json~/.config/projectx-mcp/auth.jsonInternal tool for Dualboot Partners.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"projectx-mcp": {
"command": "npx",
"args": []
}
}
}