SquadBear
Connect your LLMs and AI agents to SquadBear HR tools (leave management, HRIS, team health, time tracking, retro).
От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение
Что умеет
- Whoami: Authenticated employee profile: role, manager, teams, effective country and holiday calendar.
- Get Plan: The workspace's subscription tier, entitlements (seats, event retention, webhooks), current seat usage, and Stripe subscription status.
- Create Checkout Link: Create 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 brow
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Connect your LLMs and AI agents to SquadBear HR tools (leave management, HRIS, team health, time tracking, retro).
SquadBear is an HR suite for leave, time tracking, team health and core HR - employee records, documents, onboarding checklists and policy sign-offs.
Список инструментов сервера (60)
Технические названия из tools/list. Нужны только разработчикам.
| whoami | Authenticated employee profile: role, manager, teams, effective country and holiday calendar. |
| get_plan | The workspace's subscription tier, entitlements (seats, event retention, webhooks), current seat usage, and Stripe subscription status. |
| create_checkout_link | Create 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_link | Create 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_employees | Paginated 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_employee | Look up one employee by id or email (O(1) directory summary — not the full HR profile; use get_employee_profile for that). |
| list_teams | Teams with manager and member count. |
| get_team | One team with its manager and full member list (membership roles, titles, status). |
| get_org_chart | Manager-report tree of active employees. |
| resolve_identity | Map 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_identities | External 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_balance | Authenticated employee's balances for a year. |
| list_balance_ledger | Append-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_balance | Accrual-aware forecast of available days on a future date, with assumptions stated. |
| list_leave_policies | Active and inactive leave policies for the tenant. |
| list_leave_types | Leave types with ids, codes and colors — use to map names to leaveTypeId. |
| list_holidays | Public holidays applying to a specific employee (default: caller) after country-override resolution. calendarId null = no calendar covers their country. |
| list_holiday_calendars | All holiday calendars with dates; flags the org default. |
| list_my_requests | The caller's leave requests, optionally filtered by status and/or leave type (use list_leave_types to map a name to leaveTypeId). |
| get_request | Full 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_off | Run 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_slots | Ranked candidate vacation windows with the requested number of working days, avoiding holidays, own conflicts, and (ranked by) teammate absences. |
| request_time_off | Create a time-off request after policy, balance, overlap and replacement checks. Pass idempotencyKey to make retries safe. |
| edit_time_off_request | Change dates/type/replacement of a PENDING request. Re-validates everything and restarts the approval chain, discarding any approvals already collected. |
| cancel_time_off_request | Cancel 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_replacement | Assign or change the replacement employee for a request (checked for conflicts). |
| respond_replacement | Accept or decline covering for a colleague's absence (only the assigned replacement can respond). |
| list_my_pending_approvals | Requests currently waiting on the caller's decision. |
| approve_request | Approve 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_request | Reject a pending request at the current step (vetoes the whole chain). |
| list_team_absences | Absences 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_calendar | Per-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_availability | Per-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_risks | Team-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_summary | Approved absence days per employee per leave type in a range. Managers see managed people only; admins see the whole tenant. |
| liability_report | Unused available days per employee per type for a year — outstanding PTO liability. Managers see managed people only; admins see the whole tenant. |
| bradford_factor | S²×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_notifications | The caller's in-app notifications, newest first. |
| mark_notifications_read | Mark the caller's notifications as read (all unread, or specific ids). |
| get_notification_preferences | The 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_preferences | Update 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_language | Set 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_events | Tenant 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_logs | Tenant 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_workflows | Approval workflow definitions: steps, approver types, conditions, SLAs, and which policies use them. |
| adjust_balance | Manual balance correction with a reason; always ledgered (manager: own reports; admin: anyone). |
| create_employee | Add 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_employee | Apply 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_employee | Invite 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_invitations | Pending workspace invitations with expiry (admin). Accepted/revoked/expired invitations are not listed. Requires admin:read (admin:write also satisfies). |
| revoke_invitation | Cancel a pending invitation so its link can no longer be redeemed (admin). To re-send instead, revoke and invite_employee again. |
| create_team | Create a team (admin). |
| update_team | Rename a team or change its manager (admin). |
| set_team_membership | Add (as member or lead) or remove an employee from a team (admin). |
| set_work_schedule | Set 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_profile | Full 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_defs | The 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_fields | Set 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_data | Queue 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_status | List 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. |