workflow-hints
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@workflow-hintsWhat's my workflow status and any nudges for today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cursor-workflow-hints-mcp
MCP + CLI para recordatorios de flujo en Cursor: estado local, nudges al agente, toasts Windows y contadores diarios (sesiones, edits, MCP, Plans).
Herramienta generica para equipos que usan Cursor. Nombre del servidor en Cursor: workflow-hints.
Requisitos
Node.js 20+
Windows (toasts; el core funciona sin notificaciones)
Cursor con hooks y MCP habilitados
Related MCP server: cursor-usage
Instalacion
cd <ruta-al-repo>
npm ci
npm run build
powershell -ExecutionPolicy Bypass -File .\hooks-bridge\Install-Cursor.ps1 -ReplaceLegacyWorkflowHints-ReplaceLegacyWorkflowHints quita entradas legacy de otros packs en hooks.json (opcional).
Reinicia Cursor. Verifica Settings → MCP (workflow-hints) y Settings → Hooks.
CLI (hooks)
node dist/cli.js record --event session_start --conversation-id <id>
node dist/cli.js record --event file_edit --conversation-id <id> --path <abs>
node dist/cli.js morning-check --force
node dist/cli.js summary
node dist/cli.js context
node dist/cli.js dismiss --type allMCP tools
Tool | Descripcion |
| Registra evento y devuelve nudge |
| Resumen para el agente |
| Contadores estructurados |
| Umbrales y toasts |
| Silenciar por tipo o todo el dia |
Resource: hints://today
Estado local
%USERPROFILE%\.cursor\workflow-hints\
state.json— dia, contadores, conversacionesconfig.json— umbrales (se crea al editar preferencias)stack-hints.json— hints opcionales por patron de ruta (verconfig/stack-hints.example.json)
Migracion automatica desde %USERPROFILE%\.cursor\pipol-hints\ y %USERPROFILE%\.cursor\workflow-hints-state.json si existen.
Tareas programadas (Windows)
Tarea | Cuando |
| Al iniciar sesion (Startup) |
| Diario 9:00 |
| Diario 10:30 si no hubo uso |
Acceso directo en Escritorio: Cursor - Iniciar jornada
Tests
npm test
powershell -ExecutionPolicy Bypass -File .\test\Test-WorkflowHints.ps1Desinstalacion
powershell -ExecutionPolicy Bypass -File .\hooks-bridge\Uninstall-ScheduledTasks.ps1Quitar
workflow-hintsde~/.cursor/mcp.jsonQuitar entradas
hooks/workflow-hints/de~/.cursor/hooks.jsonBorrar
~/.cursor/hooks/workflow-hints/(opcional)Borrar
~/.cursor/workflow-hints/(opcional)
Variables de entorno
WORKFLOW_HINTS_DATA_DIR — directorio alternativo para state/config.
Available Tools
5 toolshints_dismiss_nudgeB
Dismiss nudges for today or mark a specific nudge type as sent.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It does disclose meaningful behavioral context: dismissals are scoped to today and a nudge type can be marked as sent. However, it does not explain whether the action is reversible, how persistent the dismissal is, or what side effects occur beyond the state change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. The key distinction between dismissing for today and marking a specific type as sent is front-loaded, and the sentence is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple optional-parameter tool, the description is nearly sufficient, but it never connects the 'type' parameter to the two described modes or explains when to use 'all' versus a specific type. With no output schema, return behavior is also unspecified, though the low complexity limits the impact of these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter has an enum, so the description needed to clarify how 'type' selects behavior. It only says 'specific nudge type', leaving the mapping of enum values (dayStart, idle, lowMcp, closeLoop, all) and the 'all' default to the schema. It does add the high-level behavioral distinction, which gives partial credit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Dismiss', 'mark') and identifies the resource ('nudges'), including the two main modes: dismissal for today and marking a specific nudge type as sent. It is distinguishable from sibling tools like hints_get_context and hints_record_event, which describe different operations. The slight ambiguity is whether 'for today' and 'specific nudge type' correspond to specific enum values, but the overall purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does, but it does not state when to use it, when not to use it, or how it compares with alternatives. There is no guidance about choosing 'all' versus a specific nudge type, nor any mention of prerequisites. An agent would have to infer usage context from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hints_get_contextB
Get today's workflow summary as agent context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read operation but does not disclose output format, whether data is real-time or cached, or any other behavioral details. The phrase 'as agent context' hints at purpose but not behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the subject and purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, so the short description is reasonably adequate. However, the lack of any distinction from hints_get_daily_summary and the absence of return-value details leave an incomplete picture for an agent deciding between tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is no parameter burden. The description appropriately notes 'today's' scope, making the no-parameter contract understandable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Get today's workflow summary as agent context.' It is clear and accurate, but it does not differentiate from the sibling tool hints_get_daily_summary, which sounds nearly identical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool instead of hints_get_daily_summary or the other siblings. The agent is left to guess which summary tool fits its purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hints_get_daily_summaryA
Get structured counters and timing for today.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. 'Get' implies a read-only retrieval and 'for today' defines the time scope, which is helpful. However, it does not disclose whether the summary resets daily, what timezone is used, or whether any internal state is affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. It front-loads the verb and object, then adds the key qualifiers 'structured counters' and 'timing'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only summary tool, the description is nearly complete: it names the data returned and the temporal scope. It could be slightly richer by clarifying what 'timing' refers to or the exact daily boundary, but nothing critical is missing for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics. The description does not need to add parameter detail, and the baseline for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'get' and the resource 'daily summary', and specifies the content as 'structured counters and timing'. It does not explicitly differentiate from sibling tools, but the resource and scope are specific enough to avoid serious ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus siblings like hints_get_context or hints_record_event. There are no exclusions, prerequisites, or alternative suggestions beyond what the name itself implies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hints_record_eventB
Record a Cursor workflow activity event and return optional nudge context.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| tool | No | ||
| event | Yes | ||
| mcp_server | No | ||
| composer_mode | No | ||
| conversation_id | No | ||
| is_background_agent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It states the recording side effect and the conditional return of nudge context, which is useful. However, it does not explain when nudge context is returned, where events are stored, or any authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with the core action front-loaded and no redundant wording. It communicates the essential purpose efficiently, though 'optional nudge context' could be more explicit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is thin for a tool with seven parameters, no output schema, and no annotations. An agent cannot tell what 'optional nudge context' means, when it appears, or how the recorded event relates to the sibling hints tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to explain the seven parameters, but it only mentions the central 'event' concept. Optional fields such as path, tool, mcp_server, composer_mode, conversation_id, and is_background_agent receive no semantic explanation beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific action ('Record') with a clear object ('a Cursor workflow activity event') and notes that it returns 'optional nudge context.' The verb clearly distinguishes it from the sibling get/set/dismiss tools, though it does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus hints_get_context, hints_dismiss_nudge, or hints_set_preferences. Usage is only implied by the phrase 'Cursor workflow activity event,' with no stated exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hints_set_preferencesC
Update local hint thresholds and notification settings.
| Name | Required | Description | Default |
|---|---|---|---|
| workdays_only | No | ||
| notify_enabled | No | ||
| low_mcp_after_minutes | No | ||
| idle_threshold_minutes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the update action but does not explain persistence, whether omitted parameters are reset or preserved, side effects on existing settings, or what the tool returns. For a mutation-like tool this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant wording. It is front-loaded and easy to parse, though it sacrifices parameter-level detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four undocumented optional parameters, no output schema, and no annotations, the description is too sparse to fully equip an agent to invoke the tool correctly. It does not clarify update semantics, parameter meanings, or expected return value, so more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain the individual parameters. It only vaguely groups them under 'hint thresholds and notification settings', which conveys some meaning but leaves the semantics of workdays_only, notify_enabled, low_mcp_after_minutes, and idle_threshold_minutes ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Update') and a specific resource ('local hint thresholds and notification settings'), which distinguishes it from sibling tools like hints_record_event or hints_get_context. It could be slightly more explicit about it being a preference-management tool, but the intent is immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives, and no mention of prerequisites or exclusions. Usage is only weakly implied by the title and sibling names, so an agent has to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.1.0- First observed
hints_dismiss_nudge - First observed
hints_get_context - First observed
hints_get_daily_summary - First observed
hints_record_event - First observed
hints_set_preferences
TDQS
Scored across 5 tools
Most tools map to distinct actions, but hints_get_context and hints_get_daily_summary both return today's workflow data and could be easily confused. The other three tools are clearly separated by their record, preference, and dismissal purposes.
All tools use the consistent hints_ prefix with clear verb_noun snake_case names like record_event, set_preferences, and dismiss_nudge. The naming pattern is predictable and easy to follow.
Five tools is well-scoped for a workflow-hints server. Each tool covers a distinct part of the workflow lifecycle without unnecessary bloat or redundancy.
The set covers event recording, context retrieval, daily summaries, preference updates, and nudge dismissal, forming a complete workflow loop. A minor gap is the lack of an explicit get-current-preferences endpoint, but agents can likely work around this.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- DoneThatOAuthai.donethat
Privacy-first work tracking with summaries, reports, coaching, and AI-ready long-term memory.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Gives your AI assistant persistent memory and intelligence about your work patterns.
Cookieless dashboard aggregates for Claude and Cursor. No visitor hashes. Starter and Growth.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables real-time monitoring of Cursor Pro usage limits and API quotas across different AI services. Tracks Sonnet 4.5, Gemini, and GPT-5 request usage with alerts when approaching subscription limits.62MIT
- AlicenseAqualityFmaintenanceAI coding usage analytics — track spend, model usage, and costs across Cursor and Claude Code sessions.17238MIT
- AlicenseNot gradedqualityDmaintenanceTracks token usage and records coding sessions for Claude Desktop users, supporting both local SQLite and cloud Cloudflare D1 databases.152MIT
- AlicenseAqualityDmaintenanceConnects AI assistants like Cursor and Claude to your local Daylens timeline so they can answer questions about your past work sessions, no cloud or API keys needed.514MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PradellaNicolas/cursor-workflow-hints-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server