DeskMonitor: 24 workforce-intelligence MCP tools, OAuth 2.1, free demo key included.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://api.thedeskmonitor.com/api/mcp/v124 tools · 858msget_started_guideReturns a role-scoped welcome message and curated sample questions to help you get started with DeskMonitor AI. Use when a new user asks 'what can I do?', 'what can I ask?', or 'how do I get started?' Call this first when connecting. Do NOT use for querying live workforce data.Returns a role-scoped welcome message and curated sample questions to help you get started with DeskMonitor AI. Use when a new user asks 'what can I do?', 'what can I ask?', or 'how do I get started?' Call this first when connecting. Do NOT use for querying live workforce data.
| Parameter | Type | Description |
|---|---|---|
| role | string | Your role hint. If omitted, inferred from auth token. |
get_data_dictionaryReturns the schema of queryable data — what fields exist, their meaning, and which tools expose them. Use when the user asks 'what data exists?', 'what fields are available?', or 'what is a productivity score?'. NOT for querying live data — use the analytics tools for live results.Returns the schema of queryable data — what fields exist, their meaning, and which tools expose them. Use when the user asks 'what data exists?', 'what fields are available?', or 'what is a productivity score?'. NOT for querying live data — use the analytics tools for live results.
No input schema was published for this tool.
switch_to_demoSwitches to DeskMonitor demo mode with synthetic data. Returns demo tenant info and suggested queries. Use when the user wants to explore without a real account. Use a dm_demo_* API key to call data tools in demo mode.Switches to DeskMonitor demo mode with synthetic data. Returns demo tenant info and suggested queries. Use when the user wants to explore without a real account. Use a dm_demo_* API key to call data tools in demo mode.
No input schema was published for this tool.
switch_to_productionSwitches back to production mode and confirms your real tenant context from your auth token. Use when the user wants to see their real company data after exploring demo mode.Switches back to production mode and confirms your real tenant context from your auth token. Use when the user wants to see their real company data after exploring demo mode.
No input schema was published for this tool.
get_demo_scenariosReturns 5 guided scenario walkthroughs using the demo tenant's synthetic data. Use when the user wants to see example queries or guided tours of DeskMonitor capabilities.Returns 5 guided scenario walkthroughs using the demo tenant's synthetic data. Use when the user wants to see example queries or guided tours of DeskMonitor capabilities.
No input schema was published for this tool.
get_dashboard_summaryReturns the dashboard KPIs for the current user — hours worked today, team productivity score, pending approvals, active headcount. Use when the user asks 'how is my team today?', 'am I clocked in?', 'what's my summary?'. Do NOT use for historical timesheet data — use list_my_timesheet for that.Returns the dashboard KPIs for the current user — hours worked today, team productivity score, pending approvals, active headcount. Use when the user asks 'how is my team today?', 'am I clocked in?', 'what's my summary?'. Do NOT use for historical timesheet data — use list_my_timesheet for that.
No input schema was published for this tool.
list_employeesLists employees visible to the current user based on their role. Supports pagination and name search. Use when the user asks 'who is on my team?', 'list all employees', or wants a roster. Use get_employee_details for information about ONE specific person.Lists employees visible to the current user based on their role. Supports pagination and name search. Use when the user asks 'who is on my team?', 'list all employees', or wants a roster. Use get_employee_details for information about ONE specific person.
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number (1-based). Default: 1. |
| page_size | integer | Number of employees per page (max 100). Default: 20. |
| search | string | Name or email search filter |
| team_id | string | Filter by team (manager scope) |
get_employee_detailsReturns the full profile for a specific employee including role, team, clock-in status, and recent activity. Use when the user asks about ONE specific person. Use list_employees for multiple people. Use 'me' as employee_id for the authenticated user's own profile.Returns the full profile for a specific employee including role, team, clock-in status, and recent activity. Use when the user asks about ONE specific person. Use list_employees for multiple people. Use 'me' as employee_id for the authenticated user's own profile.
| Parameter | Type | Description |
|---|---|---|
| employee_id* | string | Employee ID (UUID) or 'me' for the authenticated user. |
list_my_timesheetReturns the authenticated user's time log entries for a date range. Use when the user asks 'how many hours have I worked?', 'show me my timesheet', or 'what did I work on yesterday?'. Cannot query another person's timesheet — use summarize_team_hours for team-level hours.Returns the authenticated user's time log entries for a date range. Use when the user asks 'how many hours have I worked?', 'show me my timesheet', or 'what did I work on yesterday?'. Cannot query another person's timesheet — use summarize_team_hours for team-level hours.
| Parameter | Type | Description |
|---|---|---|
| from | string | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
| to | string | End date (YYYY-MM-DD). Defaults to today. |
summarize_team_hoursAggregates hours worked by the manager's team for a given period. Requires Manager role or above. Use when the manager asks 'how many hours did my team work this week?', 'show me team hours', or 'who worked the most hours?'. Do NOT use for an individual employee's timesheet — use list_my_timesheet…Aggregates hours worked by the manager's team for a given period. Requires Manager role or above. Use when the manager asks 'how many hours did my team work this week?', 'show me team hours', or 'who worked the most hours?'. Do NOT use for an individual employee's timesheet — use list_my_timesheet…
| Parameter | Type | Description |
|---|---|---|
| team_id | string | Team ID (UUID) to scope the report. Defaults to the manager's primary team if omitted. |
| period | string | — |
list_pending_approvalsReturns timesheets pending approval in the manager's team. Requires Manager role or above. Use when the manager asks 'show me pending approvals', 'who needs sign-off?', or 'any outstanding timesheets?'. Read-only -- this tool LISTS pending items only; it cannot approve them. To approve, direct the…Returns timesheets pending approval in the manager's team. Requires Manager role or above. Use when the manager asks 'show me pending approvals', 'who needs sign-off?', or 'any outstanding timesheets?'. Read-only -- this tool LISTS pending items only; it cannot approve them. To approve, direct the…
| Parameter | Type | Description |
|---|---|---|
| team_id | string | Optional team UUID to filter pending approvals. Omit for all teams visible to this user. |
list_recent_activityReturns a daily aggregate activity feed scoped to the authenticated user, including clock events, timesheet submissions, and approval actions. Use when the user asks 'show me recent activity', 'what happened today?', or 'what did I do yesterday?'. Not a real-time stream — data reflects completed ev…Returns a daily aggregate activity feed scoped to the authenticated user, including clock events, timesheet submissions, and approval actions. Use when the user asks 'show me recent activity', 'what happened today?', or 'what did I do yesterday?'. Not a real-time stream — data reflects completed ev…
| Parameter | Type | Description |
|---|---|---|
| limit | integer | — |
| since | string | Return activity after this timestamp. Defaults to 24h ago. |
get_workload_alertsReturns workload alerts — team members with unusual hours, employees not yet clocked in, timesheet gaps. Use when the manager asks 'who needs attention?', 'any anomalies today?', 'any warnings?', or 'are there any issues?'.Returns workload alerts — team members with unusual hours, employees not yet clocked in, timesheet gaps. Use when the manager asks 'who needs attention?', 'any anomalies today?', 'any warnings?', or 'are there any issues?'.
| Parameter | Type | Description |
|---|---|---|
| date | string | Date to check. Defaults to today. |
get_productivity_overviewReturns productivity scores and active/idle time ratios for an employee or team. Use when the user asks 'what's my productivity score?', 'how productive was the team?', or 'show me active vs idle time'. Employee sees own data only. Manager+ can query other team member IDs. Privacy: scoring is categ…Returns productivity scores and active/idle time ratios for an employee or team. Use when the user asks 'what's my productivity score?', 'how productive was the team?', or 'show me active vs idle time'. Employee sees own data only. Manager+ can query other team member IDs. Privacy: scoring is categ…
| Parameter | Type | Description |
|---|---|---|
| user_id | string | Target user. Defaults to authenticated user. Manager+ can specify team member IDs. |
| period | string | — |
clock_inClock the authenticated user in to start a new work session. Creates a TimeLog entry in DeskMonitor.
Use when the user says 'clock me in', 'start my shift', 'I am starting work', or any attendance start phrase.
Supports optional GPS coordinates for geofence validation.
WARNING: This is a write tool…Clock the authenticated user in to start a new work session. Creates a TimeLog entry in DeskMonitor. Use when the user says 'clock me in', 'start my shift', 'I am starting work', or any attendance start phrase. Supports optional GPS coordinates for geofence validation. WARNING: This is a write tool…
| Parameter | Type | Description |
|---|---|---|
| latitude | number | GPS latitude (optional). Used for geofence validation. |
| longitude | number | GPS longitude (optional). Used for geofence validation. |
clock_outClock the authenticated user out to end their current work session. Finalises the TimeLog and generates gap-fill blocks.
Use when the user says 'clock me out', 'end my shift', 'I am done for the day', or any attendance end phrase.
WARNING: This is a write tool — it mutates DeskMonitor data. Always…Clock the authenticated user out to end their current work session. Finalises the TimeLog and generates gap-fill blocks. Use when the user says 'clock me out', 'end my shift', 'I am done for the day', or any attendance end phrase. WARNING: This is a write tool — it mutates DeskMonitor data. Always…
| Parameter | Type | Description |
|---|---|---|
| latitude | number | GPS latitude at clock-out (optional). |
| longitude | number | GPS longitude at clock-out (optional). |
invite_staffInvite a staff member to join your DeskMonitor workspace by email. Use when the user asks to 'add an employee', 'invite a team member', 'send a team invite', 'onboard someone new', or 'invite [name] to my workspace'. The invite is sent by email — the recipient gets a link to set up their account an…Invite a staff member to join your DeskMonitor workspace by email. Use when the user asks to 'add an employee', 'invite a team member', 'send a team invite', 'onboard someone new', or 'invite [name] to my workspace'. The invite is sent by email — the recipient gets a link to set up their account an…
| Parameter | Type | Description |
|---|---|---|
| email* | string | Email address of the person to invite. Must be a valid email. Required. |
| name | string | Full name of the person to invite (shown in the invitation email). Optional but recommended. |
get_capabilitiesReturns a structured list of DeskMonitor AI capabilities grouped by user role AND plan entitlements. Includes MCP / AI assistant plan entitlements (Community=No MCP; Starter/Professional/Business/Enterprise=Yes MCP). Use when a new user asks 'what can I ask you?', 'what can DeskMonitor do?', 'show…Returns a structured list of DeskMonitor AI capabilities grouped by user role AND plan entitlements. Includes MCP / AI assistant plan entitlements (Community=No MCP; Starter/Professional/Business/Enterprise=Yes MCP). Use when a new user asks 'what can I ask you?', 'what can DeskMonitor do?', 'show…
No input schema was published for this tool.
get_pricing_and_plansReturns DeskMonitor pricing plans and subscription details including MCP / AI access entitlement per plan. Plans: Community (free, no MCP), Starter ($14/mo, MCP included), Professional ($27/mo, MCP included), Business ($51/mo, MCP included), Enterprise (Contact Sales — no public price). Use when th…Returns DeskMonitor pricing plans and subscription details including MCP / AI access entitlement per plan. Plans: Community (free, no MCP), Starter ($14/mo, MCP included), Professional ($27/mo, MCP included), Business ($51/mo, MCP included), Enterprise (Contact Sales — no public price). Use when th…
No input schema was published for this tool.
start_free_trialReturns the DeskMonitor free trial sign-up URL and onboarding instructions. Use when the user says 'I want to sign up', 'start a free trial', 'how do I get started?', 'create an account', 'I want to use DeskMonitor'. This is an informational tool — it provides the registration URL, not a write acti…Returns the DeskMonitor free trial sign-up URL and onboarding instructions. Use when the user says 'I want to sign up', 'start a free trial', 'how do I get started?', 'create an account', 'I want to use DeskMonitor'. This is an informational tool — it provides the registration URL, not a write acti…
No input schema was published for this tool.
ask_workforceUse when the user asks a free-form, open-ended question about their workforce that you are not sure which other tool answers — for example: 'Which team has the highest cost-to-output?', 'How is my team performing?', 'Who should I talk to first?', 'What's the biggest issue today?'.
Pass the user's…Use when the user asks a free-form, open-ended question about their workforce that you are not sure which other tool answers — for example: 'Which team has the highest cost-to-output?', 'How is my team performing?', 'Who should I talk to first?', 'What's the biggest issue today?'. Pass the user's…
| Parameter | Type | Description |
|---|---|---|
| question* | string | The user's question about their workforce, in their own words. Pass verbatim — do not paraphrase. |
get_analytics_questionsReturns demand intelligence captured from ask_workforce calls: recent verbatim admin questions, top question themes with counts, and the most-requested 'period' argument values across all tools.
Use when the admin asks: 'What questions have I asked?', 'What am I asking most?', 'What data am I look…Returns demand intelligence captured from ask_workforce calls: recent verbatim admin questions, top question themes with counts, and the most-requested 'period' argument values across all tools. Use when the admin asks: 'What questions have I asked?', 'What am I asking most?', 'What data am I look…
| Parameter | Type | Description |
|---|---|---|
| period | string | Reporting window for question history. |
| limit | integer | Max number of recent questions to return. |
get_analytics_overviewReturns platform-level DeskMonitor analytics — AI/MCP queries served (from the internal McpAuditLogs table), web sessions, active unique visitors (1-day, 7-day, 28-day windows) and top referring sources (from Cloudflare Web Analytics when configured).
Use when the user asks: 'how many users does D…Returns platform-level DeskMonitor analytics — AI/MCP queries served (from the internal McpAuditLogs table), web sessions, active unique visitors (1-day, 7-day, 28-day windows) and top referring sources (from Cloudflare Web Analytics when configured). Use when the user asks: 'how many users does D…
| Parameter | Type | Description |
|---|---|---|
| period | string | Reporting window for session and AI-query counts. |
get_analytics_feature_usageReturns a breakdown of which DeskMonitor MCP tools users are calling most — sourced from the internal McpAuditLogs table, grouped by ToolName (top-N tool call counts for the period).
Use when the user asks: 'which MCP tools are most used?', 'which features are most popular?', 'what do AI clients d…Returns a breakdown of which DeskMonitor MCP tools users are calling most — sourced from the internal McpAuditLogs table, grouped by ToolName (top-N tool call counts for the period). Use when the user asks: 'which MCP tools are most used?', 'which features are most popular?', 'what do AI clients d…
| Parameter | Type | Description |
|---|---|---|
| period | string | Reporting window for tool call counts. Default: this_week. |
| limit | integer | Number of feature areas to return. |
24 of 24 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
DeskMonitor: 24 workforce-intelligence MCP tools, OAuth 2.1, free demo key included.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.