SquadBear

SquadBear: отпуска, учёт времени и кадровые данные команды через ассистента

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение

Что умеет

  • Смотреть профили сотрудников и организационную структуру
  • Проверять баланс и прогноз отпускных дней
  • Смотреть политики отпусков и праздничные календари
  • Создавать, редактировать и отменять заявки на отпуск
  • Подбирать доступные даты для отпуска

Какие данные видит

Ассистент видит данные сотрудника и команды в рамках прав его роли в рабочем пространстве SquadBear.

Нужен ли аккаунт

Не нужен: сервер работает без входа

SquadBear — HR-платформа для отпусков, учёта времени, здоровья команды и кадровых записей. MCP-сервер даёт ассистенту доступ к профилям сотрудников, организационной структуре, балансам отпусков, праздничным календарям и заявкам на отпуск, включая их создание и редактирование.

Как подключить

Как подключить SquadBear к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://squadbear.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить SquadBear к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://squadbear.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить SquadBear к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://squadbear.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (60)

Технические названия из tools/list. Нужны только разработчикам.

whoamiAuthenticated employee profile: role, manager, teams, effective country and holiday calendar.
get_planThe workspace's subscription tier, entitlements (seats, event retention, webhooks), current seat usage, and Stripe subscription status.
create_checkout_linkCreate a Stripe Checkout link to upgrade this workspace to the Team plan (admin). Calls Stripe to open a new Checkout session each time and returns a URL the user opens in a browser to enter payment.
create_billing_portal_linkCreate a Stripe Billing Portal link to manage payment method, view invoices, or cancel (admin). Calls Stripe to open a new Billing Portal session each time and returns a URL the user opens in a browser.
list_employeesPaginated tenant directory (role, title, manager, country). Default limit 50 (max 200). Returns { data, nextCursor, total } — loop nextCursor for more. Prefer query to search by name/email/title; use get_employee when you already have id or email.
get_employeeLook up one employee by id or email (O(1) directory summary — not the full HR profile; use get_employee_profile for that).
list_teamsTeams with manager and member count.
get_teamOne team with its manager and full member list (membership roles, titles, status).
get_org_chartManager-report tree of active employees.
resolve_identityMap a GitHub login, Slack user id, Jira/Linear/Asana account or email to the employee — including whether they are on leave today and who their replacement is. The cross-MCP join for questions like 'who can review this PR while X is away'. Only OAuth-PROVEN identities resolve, so an unlinked handle returns found:false rather than a guess — if that happens, use list_identities to get the person's connect link.
list_identitiesExternal identities for an employee (default: caller): which trackers are linked, and for the caller's own unlinked ones a `connectUrl` to open. Identities are created ONLY by the person signing in to that provider — you cannot set one for them. When a tracker is unlinked, give the user their connectUrl and ask them to click it.
get_my_balanceAuthenticated employee's balances for a year.
list_balance_ledgerAppend-only ledger of an employee's balance changes (default: caller), newest first: every REAL movement — accrual grants, carry-over, approved/cancelled requests (sourceType 'leave_request', sourceId = request id), and manual admin adjustments (actorName = who edited). Pending reservations are NOT here — they appear only once approved. Filter by leaveTypeId; page with the returned cursor. Same self/manager/admin visibility as the profile.
project_balanceAccrual-aware forecast of available days on a future date, with assumptions stated.
list_leave_policiesActive and inactive leave policies for the tenant.
list_leave_typesLeave types with ids, codes and colors — use to map names to leaveTypeId.
list_holidaysPublic holidays applying to a specific employee (default: caller) after country-override resolution. calendarId null = no calendar covers their country.
list_holiday_calendarsAll holiday calendars with dates; flags the org default.
list_my_requestsThe caller's leave requests, optionally filtered by status and/or leave type (use list_leave_types to map a name to leaveTypeId).
get_requestFull request view: approval timeline (who, when, delegation), replacement state, per-day breakdown, the persisted policy evaluation trace explaining why it was allowed or what was checked, and any attachments (sick notes) the caller may access — requester, admin, or an assigned approver; other viewers get an empty attachments list.
validate_time_offRun exactly the same checks as request_time_off without creating anything: working-day count, notice/backdate, overlaps, replacement availability, per-year balance impact. Use before requesting to show consequences.
suggest_time_off_slotsRanked candidate vacation windows with the requested number of working days, avoiding holidays, own conflicts, and (ranked by) teammate absences.
request_time_offCreate a time-off request after policy, balance, overlap and replacement checks. Pass idempotencyKey to make retries safe.
edit_time_off_requestChange dates/type/replacement of a PENDING request. Re-validates everything and restarts the approval chain, discarding any approvals already collected.
cancel_time_off_requestCancel a pending or approved request. For an approved, partially-taken request pass fromDate to cancel only the remaining days (days before fromDate stay taken).
assign_replacementAssign or change the replacement employee for a request (checked for conflicts).
respond_replacementAccept or decline covering for a colleague's absence (only the assigned replacement can respond).
list_my_pending_approvalsRequests currently waiting on the caller's decision.
approve_requestApprove the current step as the assigned approver (or admin). Multi-step chains advance one step per call; the response status shows whether more approvals are needed.
reject_requestReject a pending request at the current step (vetoes the whole chain).
list_team_absencesAbsences in a date range. Visibility follows the caller's role: non-managers see colleagues' approved absences only (plus their own requests in any status), managers their managed scope, admins the tenant; `reason` is only present on requests the caller owns, approves, or manages.
get_calendarPer-day calendar (max 92 days): who is absent, public holidays per country, weekends, plus request-level entries with each request's true full range and duration (reason/approver included on requests the caller may see). Optional team filter.
get_team_availabilityPer-person availability matrix for a range (max 31 days): each member's absent days, their non-working days (work schedule / their country's public holidays — off-schedule is not absent), and whether they are fully available. Combine with GitHub/Jira MCPs to find reviewers or staff work.
get_coverage_risksTeam-level absence coverage risks for a date window (max 31 days). Returns risks sorted high→medium with totalRisks/truncated when soft-capped. Defaults to the next 14 days.
absence_summaryApproved absence days per employee per leave type in a range. Managers see managed people only; admins see the whole tenant.
liability_reportUnused available days per employee per type for a year — outstanding PTO liability. Managers see managed people only; admins see the whole tenant.
bradford_factorS²×D score per employee over a window (defaults to unplanned leave types) — flags frequent short absences. Managers see managed people only; admins see the whole tenant.
list_my_notificationsThe caller's in-app notifications, newest first.
mark_notifications_readMark the caller's notifications as read (all unread, or specific ids).
get_notification_preferencesThe caller's notification settings per channel: the email and Slack master switches and each category (with slackCapable/slackAvailable/slackLinked flags). In-app notifications are always on.
set_notification_preferencesUpdate which notification categories reach the caller by email and/or Slack DM. Pass allEmail/allSlack to pause/resume a whole channel, and/or per-category booleans via categories (email) and slackCategories (Slack).
set_languageSet or clear the caller's own UI/email language override ('en' or 'pl'). Pass null to clear the override and follow the workspace default.
list_eventsTenant event feed (request.created/approved/..., employee.*, replacement.*). Cursor-based: pass the last seen seq as `after`. Use to react to changes without webhooks. Scoped to what the caller may see: a member sees events about themselves and the people they manage, plus their teams; an admin sees the whole workspace.
list_audit_logsTenant audit trail, newest first (admin only). Filter by entity type, action substring, entity id, or date range; page with the returned cursor. Requires admin:read (admin:write also satisfies).
list_workflowsApproval workflow definitions: steps, approver types, conditions, SLAs, and which policies use them.
adjust_balanceManual balance correction with a reason; always ledgered (manager: own reports; admin: anyone).
create_employeeAdd an employee (admin). Initializes this year's balances, prorated by start date. Adding an active employee raises active headcount, which syncs this workspace's Stripe seat count.
update_employeeApply an admin's decision to change an employee's title/role/manager/status. Setting status=inactive offboards: future leave is cancelled and their pending approvals are delegated. Setting status=active reactivates an offboarded person and re-checks the plan's seat limit (a full workspace is refused). A profile whose personal data was erased (GDPR) is permanently read-only and cannot be modified. Activating or deactivating an employee changes active headcount, which syncs this workspace's Stripe seat count.
invite_employeeInvite a future employee by email (admin). Sends the invitation email immediately with a link they accept to join the workspace; when email isn't configured the invitation is still recorded. Rejects emails with a pending invitation or an active member, so a retry never double-sends.
list_invitationsPending workspace invitations with expiry (admin). Accepted/revoked/expired invitations are not listed. Requires admin:read (admin:write also satisfies).
revoke_invitationCancel a pending invitation so its link can no longer be redeemed (admin). To re-send instead, revoke and invite_employee again.
create_teamCreate a team (admin).
update_teamRename a team or change its manager (admin).
set_team_membershipAdd (as member or lead) or remove an employee from a team (admin).
set_work_scheduleSet an employee's working weekdays (ISO 1=Mon..7=Sun), work model, hours and FTE from a date (admin). Working days drive leave-day counting (per-day across schedule changes) and coverage/availability. Expected timesheet hours come from dayHours (per-weekday map covering every working day; weeklyHours is derived from its sum) or an even weeklyHours split. fteRatio prorates accrual grants pro-rata by month, and the CURRENT year's already-issued grants recompute automatically on every schedule write (ledger-visible correction; response lists fteCorrections; negative corrections floor at the available balance; prior years need adjust_balance). IMPORTANT: leave is booked in DAYS, so set fteRatio to the fraction of standard working DAYS, not hours — Mon-Wed = 0.6; five short days = 1.0. model is an informational label. Guide: https://squadbear.com/docs/leave/work-schedules/?utm_source=app&utm_medium=guidelink&utm_content=workSchedules
get_employee_profileFull profile: contact info, custom fields, emergency contacts, entitlements, request history, work schedule (model, days, weekly hours), teams, linked identities, and employment change history. Self, their manager, or admin.
list_field_defsThe workspace's custom employee-profile field definitions (key, label, type, options, section). Admins see all incl. inactive and admin-only; others see active public fields.
update_employee_fieldsSet custom-field values on an employee's profile (admin). Partial merge: only the keys you pass change; null clears a value. Values are validated against the field definitions (see list_field_defs). Idempotent — re-sending the same values changes nothing.
export_my_dataQueue a machine-readable export of everything held about a person (GDPR Art. 15/20): profile, balances, ledger, requests, time entries, schedules, teams, identities, notifications, participation, audit trail and sessions. The export is large, so it runs as a BACKGROUND job — this returns a job handle; poll get_export_status until status is 'ready', then download it in the app. Defaults to the caller; admins may pass any employeeId. Re-requesting while one is in flight returns the same job.
get_export_statusList your GDPR data-export jobs (status: queued/processing/ready/failed, and when each became ready). Use after export_my_data to know when a download is available.