Skip to main content
Glama

projectx-mcp

Регистрируйте часы в ProjectX, общаясь с Claude Desktop.

"Запиши 8 часов для Ontrac на сегодня" "Заполни пропущенные дни на этой неделе для Ontrac" "За какие дни в этом месяце у меня не хватает часов?"


Установка

macOS (автоматическая)

git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
bash scripts/install.sh

Скрипт выполнит следующие действия:

  • Установит зависимости

  • Соберет проект

  • Автоматически настроит Claude Desktop

  • Создаст резервную копию вашей текущей конфигурации

Затем перезапустите Claude Desktop. Chrome откроется автоматически для входа в систему с вашей учетной записью Dualboot Google.

Это всё! Теперь вы можете попросить Claude зарегистрировать ваши часы.


Windows

git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
npm install
npm run build

Затем вручную отредактируйте конфигурацию Claude Desktop:

Откройте: %APPDATA%\Claude\claude_desktop_config.json

Добавьте:

{
  "mcpServers": {
    "projectx": {
      "command": "node",
      "args": ["C:\\full\\path\\to\\projectx-mcp\\dist\\src\\server.js"]
    }
  }
}

Замените C:\full\path\to\ на ваш фактический путь (используйте \ для путей Windows).

Затем перезапустите Claude Desktop. Chrome откроется автоматически для входа в систему.


Ручная установка

Если вы предпочитаете настраивать вручную:

  1. Клонируйте и соберите проект:

    git clone git@github.com:agustindiezdb/projectx-mcp.git
    cd projectx-mcp
    npm install
    npm run build
  2. Отредактируйте конфигурацию Claude Desktop:
    Откройте ~/Library/Application Support/Claude/claude_desktop_config.json и добавьте:

    {
      "mcpServers": {
        "projectx": {
          "command": "node",
          "args": ["/ABSOLUTE/PATH/TO/projectx-mcp/dist/src/server.js"]
        }
      }
    }

    Замените /ABSOLUTE/PATH/TO/ на полный путь к вашему клонированному репозиторию.

  3. Перезапустите Claude Desktop


Использование с Cursor

Cursor использует конфигурацию MCP для каждого проекта. Создайте .cursor/mcp.json в корне вашего проекта:

{
  "$schema": "https://json.schemastore.org/mcp.json",
  "mcpServers": {
    "projectx": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/projectx-mcp/dist/src/server.js"]
    }
  }
}

Замените /ABSOLUTE/PATH/TO/ на полный путь к вашему клонированному репозиторию.

Затем перезапустите Cursor. При первом запуске Chrome откроется для входа в систему.


Использование

Просто общайтесь с Claude естественным языком:

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?

Доступные инструменты

Инструмент

Описание

get_time_entries

Просмотр записей за диапазон дат

get_projects

Список доступных проектов

create_time_entry

Создание записи

delete_time_entry

Удаление записи по ID


Если вход не удался или сессия истекла

Просто перезапустите Claude Desktop. Chrome снова откроется для входа в систему.


Полезные скрипты

Вы также можете использовать API напрямую без 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

Файл cookie сессии хранится по адресу ~/Library/Application Support/projectx-mcp/auth.json (игнорируется git).

При запуске, если действительная сессия не найдена, Chrome открывается автоматически для входа через Playwright.

Режим разработки

npm run dev

Это запускает сервер с помощью ts-node для быстрой разработки (шаг сборки не требуется).

Как это работает

  1. Аутентификация: Использует Playwright для открытия Chrome и автоматического обнаружения успешного входа путем опроса /api/v1/current_user

  2. Сохранение сессии: Сохраняет файлы cookie в auth.json с помощью storageState() в Playwright

  3. API-клиент: Считывает cookie _interslice_session и выполняет аутентифицированные запросы к ProjectX

  4. Протокол MCP: Предоставляет 4 инструмента для Claude Desktop через транспорт stdio

Конфигурация Claude Desktop (вручную)

Если вы предпочитаете редактировать вручную:

{
  "mcpServers": {
    "projectx": {
      "command": "node",
      "args": ["/path/to/projectx-mcp/dist/src/server.js"]
    }
  }
}

Устранение неполадок

  • Сессия истекла → перезапустите Claude Desktop, Chrome откроется автоматически

  • Chrome не найден → установите Google Chrome (должен быть в системном PATH)

  • Проект не найден → попросите Claude выполнить get_projects, чтобы увидеть точные названия

  • Проблемы с путями (macOS/Linux) → используйте абсолютные пути, а не ~ или относительные пути

  • Проблемы с путями (Windows) → используйте \ (двойной обратный слэш) в путях JSON, например C:\Users\...

  • Расположение файла аутентификации:

    • macOS: ~/Library/Application Support/projectx-mcp/auth.json

    • Windows: %APPDATA%\projectx-mcp\auth.json

    • Linux: ~/.config/projectx-mcp/auth.json


Требования

  • ОС: macOS, Windows или Linux

  • Node.js: 20+

  • Браузер: Google Chrome (требуется для автоматического входа)

  • Claude Desktop

  • Учетная запись Dualboot Google


Лицензия

Внутренний инструмент для Dualboot Partners.

Maintenance

ActivityNo data
ResponsivenessSyncing

Related MCP Connectors