NitroStack Calculator MCP Server
Click on "Deploy 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., "@NitroStack Calculator MCP Servercalculate 15 + 27"
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.
NitroStack Starter Template
Minimal template for learning NitroStack fundamentals with a calculator-focused MCP server and basic widgets.
What This Template Includes
calculatormodule with tools, resources, and promptsTypeScript + Zod validation setup
Widget-ready project structure
Production-friendly npm scripts
Related MCP server: Trade-engine-MCP
Quick Start
npx @nitrostack/cli init my-server --template typescript-starter
cd my-server
npm run devCommon Commands
npm run dev
npm run build
npm startNitroStudio
NitroStudio is the recommended way to test and debug this template during development.
Download: https://nitrostack.ai/studio
Studio: https://nitrostack.ai/studio
Links
Templates docs: https://docs.nitrostack.ai/templates/01-starter-template
Main repository: https://github.com/nitrocloudofficial/nitrostack
Community
Available Tools
10 toolsbuildUserContextA
Compile context about the user's current work state, including active project, upcoming meetings within the hour, and key collaborators.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not indicate whether the operation is read-only, whether it has side effects, requires authentication, or simply compiles already-fetched data. The lack of any mention of return format or operational characteristics leaves significant ambiguity for a tool with zero annotations and no output schema.
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 that efficiently conveys the core purpose and key included data points. Every phrase earns its place, and there is no redundant or filler content.
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 (0 params, no output schema), so the description must cover what the tool does and what it returns. It lists the components of the compiled context, which helps, but it does not indicate what form the output takes (e.g., a summary object, a list) or how this tool relates to the sibling fetch tools. This is adequate for a basic understanding but leaves some gaps for an agent deciding whether to use this tool.
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 provides no parameter semantics. Per the rubric, the baseline is 4 for a no-parameter tool. The description adds value by specifying the kind of context compiled, but since there are no parameters to explain, no additional compensation is needed.
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 verb 'compile' and identifies a distinct resource: context about the user's current work state. It further lists concrete components (active project, meetings within the hour, key collaborators), clearly differentiating it from sibling tools that simply fetch notifications or perform calculations. The purpose 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?
There is no explicit guidance on when to use this tool versus alternatives. While siblings like fetchCalendarEvents or fetchGmailNotifications overlap with specific data sources, the description does not state that this tool should be used for a holistic overview before prioritizing, nor does it mention any exclusion criteria or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculateC
Perform basic arithmetic calculations
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First number | |
| b | Yes | Second number | |
| operation | Yes | The operation to perform |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility. It states it performs calculations but omits potential side effects like division-by-zero errors or whether the tool is read-only, leaving behavior ambiguous.
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 extremely concise, using only four words to convey the entire purpose. There is no redundancy or unnecessary elaboration.
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 description lacks essential context such as the return format, error handling, or precision of results. Given no output schema and no annotations, the tool is incomplete for an agent to fully understand behavior without additional inference.
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 schema descriptions cover all parameters, giving a baseline of 3. The tool description itself adds no extra meaning beyond the schema, but the schema already defines 'a', 'b', and 'operation' sufficiently for basic arithmetic.
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 tool performs basic arithmetic calculations, which is a specific action. It distinguishes itself from sibling tools like convert_temperature by being generic, though it lacks detail on exact operations.
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 provides no guidance on when to use this tool versus alternatives such as convert_temperature. There is no mention of typical use cases or conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_temperatureC
Convert temperature units based on file content or direct input. Supports Celsius (C) and Fahrenheit (F).
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Temperature value to convert | |
| to_unit | No | Unit to convert to (C or F) | |
| file_name | Yes | Name of the uploaded file | |
| file_type | Yes | MIME type of the uploaded file | |
| from_unit | No | Unit to convert from (C or F) | |
| file_content | Yes | Base64 encoded file content. Will be injected by system. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool works 'based on file content or direct input', but the schema requires file_name, file_type, and file_content for all invocations, making direct input impossible without dummy file data. This contradiction is misleading and fails to disclose the actual required 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, short sentence that gets to the point quickly. It could be slightly more explicit about the file/direct input behavior, but overall it is concise and well-structured.
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 description lacks necessary context about the relationship between the file parameters and the temperature conversion parameters, especially given the required fields. There is also no explanation of output format or behavior when both file and direct input are provided, leaving the tool's usage incomplete.
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?
All parameters have descriptions, so schema coverage is complete, meeting the baseline. However, the descriptions are minimal, and the file-related parameters are confusing because they are marked required even for 'direct input' and provide no clarity on their purpose or interaction with the value/from_unit/to_unit parameters.
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 tool converts temperature units between Celsius and Fahrenheit, identifying the specific verb and resource. However, the mention of 'file content or direct input' introduces some ambiguity about the exact mode of operation, slightly detracting from full clarity.
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 provided on when to use this tool versus the sibling tools like 'calculate' or 'upload-and-analyze'. The description only explains what the tool does, not the scenarios in which it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchCalendarEventsA
Fetch upcoming and recent calendar events. Returns a list of meetings in Notification format.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ISO 8601 timestamp. Only returns events starting after this time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does mention that the return format is 'Notification format,' which is useful context. However, it does not explain default time ranges, result limits, ordering, authentication needs, or how the optional 'since' parameter interacts with 'upcoming and recent,' leaving ambiguity about the tool's actual 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 two short sentences. The first states the core action and scope, and the second specifies the return format. Every sentence is purposeful and contributes directly to understanding the tool, with no redundant or filler content.
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 one optional parameter and full schema coverage, so the schema carries some weight. However, the description introduces ambiguity with 'upcoming and recent' — it does not define what counts as recent, what the default time window is when 'since' is omitted, or how many events will be returned. Without an output schema, the mention of Notification format is helpful but insufficient to fully understand the response structure.
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 schema description coverage is 100%, with the 'since' parameter clearly documented as 'ISO 8601 timestamp. Only returns events starting after this time.' The tool description adds no additional meaning about the parameter, so it does not go beyond the schema. Baseline 3 is appropriate.
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 'Fetch upcoming and recent calendar events' with a specific verb 'fetch' and resource 'calendar events,' clearly distinguishing it from sibling notification tools like fetchSlackNotifications or fetchGithubNotifications. It also specifies the return format, 'a list of meetings in Notification format,' making the tool's function unambiguous.
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 explicit when-to-use or alternative guidance is provided. The tool's purpose is implied by its name and sibling context (fetching calendar notifications), but there is no statement of exclusions, prerequisites, or when to choose this tool over other notification fetchers. Usage is only implicitly conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchGithubNotificationsA
Fetch recent GitHub notifications (PR review requests, CI failures, and mentions). Returns a flattened list of notifications.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ISO 8601 timestamp. Only returns notifications created after this time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that a flattened list is returned and lists some notification categories, but it does not specify the default time window, authentication requirements, rate limits, or side-effect/read-only status. 'Recent' is vague and leaves important behavioral details unstated.
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 two short sentences with no filler. It is front-loaded with the action and resource, and every word contributes useful information.
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 tool with one optional parameter and no output schema, this description provides the basic purpose and return type. However, it lacks details about the default time interval and the structure of the returned flattened list, leaving some ambiguity for an agent.
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 single optional parameter `since` is already fully described in the schema as an ISO 8601 timestamp that filters notifications. The description adds no extra parameter detail, but with 100% schema description coverage, the baseline score of 3 is appropriate.
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 the specific verb 'Fetch' and identifies the resource 'GitHub notifications' with content examples (PR review requests, CI failures, and mentions). This clearly distinguishes it from sibling notification fetchers like fetchSlackNotifications or fetchJiraNotifications.
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?
While no explicit when-not-to-use or alternative names are mentioned, naming 'GitHub notifications' provides clear context for when this tool is appropriate. The sibling tool names make the intended scope obvious, though an explicit exclusion would strengthen this dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchGmailNotificationsA
Fetch recent emails across all connected Gmail accounts. Returns a flattened list of notifications.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ISO 8601 timestamp. Only returns notifications created after this time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of transparency. It discloses that the operation is a read (fetch), covers all connected accounts, and returns a flattened list. It does not mention auth requirements, rate limits, or what 'recent' means, but given the simplicity of the tool, the disclosed scope is a meaningful behavioral trait.
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 two sentences, 18 words, and front-loads the primary action. Every word contributes to understanding the tool's purpose and return type, with no redundancy or filler.
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 one optional parameter and no output schema. The description explains it returns a flattened list of notifications, but does not detail the notification structure, default time range, or pagination. Given the existence of sibling notification tools, this may be sufficient, but the lack of output schema places more burden on the description to clarify return format.
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 schema covers 100% of the parameter description, clearly explaining 'since' as an ISO 8601 timestamp filter. The tool description adds no extra parameter context, but the baseline of 3 applies when schema coverage is high, and no further details are necessary.
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 tool fetches recent emails from Gmail accounts, with a specific verb (fetch) and resource (Gmail emails). It explicitly distinguishes from sibling tools by focusing on Gmail, and adds the scope 'across all connected Gmail accounts' which is unique to this tool.
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?
Usage context is implied by the tool name and the mention of Gmail, making it clear when to use it over Slack/Jira/GitHub siblings. However, there is no explicit guidance on when to choose this tool vs alternatives, nor any stated exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchJiraNotificationsA
Fetch recent Jira ticket updates (assignments, comments, and due dates). Returns a flattened list of notifications.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ISO 8601 timestamp. Only returns notifications created after this time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states that a flattened list is returned and scopes to recent updates, but does not disclose authorization requirements, rate limits, default time range if 'since' is omitted, or any side effects. 'Fetch' implies read-only but is not explicit.
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 two efficient sentences with no unnecessary words. It front-loads the action and resource, making it immediately clear what the tool does.
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 description covers the basic purpose and return format, but with no output schema, it lacks details about the structure of each notification. It also omits behavior when 'since' is absent and does not specify limits or ordering, leaving moderate gaps for a relatively simple tool.
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 single parameter 'since' has complete schema coverage (100%), so the schema already provides its meaning. The description adds no extra parameter detail, aligning with the baseline of 3 for high schema coverage.
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 verb (Fetch) and clearly identifies the resource (Jira ticket updates) with examples of update types (assignments, comments, due dates). It distinctly marks this as the Jira-specific tool among sibling notification fetchers.
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 provides clear context for when to use the tool (to fetch recent Jira updates) but does not explicitly mention alternatives or exclusions relative to sibling tools like fetchSlackNotifications. The name and sibling list imply usage, but explicit wording like 'for Jira notifications' is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchSlackNotificationsA
Fetch recent Slack DMs, mentions, and channel messages. Returns a flattened list of notifications.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ISO 8601 timestamp. Only returns notifications created after this time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states that it returns a flattened list, but does not mention if the operation is read-only, whether it requires authentication, or how results are ordered or limited. This is a notable transparency 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 that front-loads the core action and resource. Every word adds value, with no repetitive or filler content.
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 one parameter and no output schema. The description covers the resource and return type but omits details like result ordering, limits, or error behavior. Given its low complexity, it is adequate but not comprehensive.
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 schema fully documents the only parameter 'since' with an ISO 8601 timestamp, providing 100% coverage. The description adds the word 'recent' but does not add meaningful semantics beyond what the schema already provides, so a baseline of 3 is appropriate.
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 action 'Fetch' and the specific resource 'recent Slack DMs, mentions, and channel messages'. It distinguishes itself from sibling tools like fetchJiraNotifications or fetchGmailNotifications by explicitly naming Slack.
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 clearly implies the tool is for Slack notifications, setting context for when to use it versus other platform-specific sibling tools. However, it does not explicitly mention alternatives or exclusions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listConnectedAccountsA
Retrieve all connected Gmail accounts configured for the user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. The verb 'Retrieve' implies a read-only operation, but the description doesn't elaborate on potential nuances such as auth requirements, rate limits, or empty-result behavior. This is acceptable for a simple list tool but not comprehensive.
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 that conveys the essential information without any fluff. It is appropriately front-loaded and concise.
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 extremely simple (0 parameters, no output schema), and the description adequately covers its purpose and scope. It could mention that the result is a list, but 'all' implicitly conveys the list nature. Overall, it is complete for the tool's complexity.
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 input schema has zero parameters, so schema coverage is trivially 100%. The description correctly reflects that no parameters are required, and no additional parameter explanations are necessary.
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 verb 'Retrieve', names the resource 'connected Gmail accounts', and scopes it to 'configured for the user'. This clearly distinguishes it from sibling tools like fetchGmailNotifications, which handle notifications rather than account lists.
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 clearly implies when to use the tool: whenever a list of connected Gmail accounts is needed. Although it doesn't explicitly name alternatives or exclusions, the simple nature of the tool and distinct sibling names provide sufficient contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prioritizeNotificationsA
Prioritize a list of notifications into Urgent, Normal, and FYI tiers based on the user's current work context.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | The user's current work context. | |
| notifications | Yes | The list of notifications to prioritize across all sources. |
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 discloses the core behavior (grouping into tiers) but does not explain the prioritization criteria, whether the input is mutated, or the exact representation of the output. This is informative but lacks key behavioral details.
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 that is front-loaded with the verb 'Prioritize' and contains no unnecessary words. Every word contributes to understanding the tool's function.
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 has complex nested inputs and no output schema. The description states the tier names but does not explain the output structure (e.g., grouped list or added property) or how the context influences prioritization. This leaves some ambiguity for a tool of this complexity.
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?
Both parameters have schema descriptions providing 100% coverage. The description adds no additional meaning about parameter semantics; it merely names the list and context. With high schema coverage, baseline 3 is appropriate.
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 the specific verb 'Prioritize' and clearly identifies the input (a list of notifications) and output (Urgent, Normal, FYI tiers) based on the user's work context. This distinguishes it effectively from sibling fetch and context-building tools.
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 implies the tool is used after collecting notifications and building a user context, but it does not explicitly state when to use this tool over alternatives or mention any exclusions. The intended usage is clear from the parameters, but no explicit guidance is provided.
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.
10 tool updates
v1.0.0- First observed
buildUserContext - First observed
calculate - First observed
convert_temperature - First observed
fetchCalendarEvents - First observed
fetchGithubNotifications - First observed
fetchGmailNotifications - First observed
fetchJiraNotifications - First observed
fetchSlackNotifications - First observed
listConnectedAccounts - First observed
prioritizeNotifications
TDQS
Scored across 10 tools
Each tool has a clear, distinct purpose: calculation, temperature conversion, fetching notifications from specific platforms (Slack, Jira, Calendar, GitHub, Gmail), building user context, prioritizing notifications, and listing Gmail accounts. There is no ambiguity between tools, as the platform or action is explicitly stated in the name/description.
Tool names follow mixed conventions: most use camelCase with a verb prefix (e.g., fetchSlackNotifications, buildUserContext), but one uses snake_case (convert_temperature) and another is a bare verb (calculate). Verbs also vary (calculate, fetch, build, prioritize, convert, list), so no consistent verb_noun pattern exists.
At 10 tools, the count is within the typical 3-15 range and not excessive. However, the server's stated 'Calculator' purpose is served by only two tools (calculate, convert_temperature), while the majority focus on notification aggregation, so the count feels somewhat misaligned with the server name but is still reasonable for the actual feature set.
The notification aggregation workflow is fairly complete: fetching from five platforms, building user context, and prioritizing. However, the calculator functionality is minimal (basic arithmetic and temperature only), missing many expected operations like unit conversions or scientific functions. Additionally, there is no 'mark as read' or 'send' action for notifications, so the domain has notable gaps.
Maintenance
Related MCP Connectors
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
Calculators accessible via MCP with real-time collaborative sessions and shareable URLs.
An MCP server for deep research or task groups
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceThis MCP server provides calculator tools, resources, and prompts for arithmetic operations, and serves as a minimal template for learning NitroStack fundamentals.-
- FlicenseAqualityCmaintenanceA calculator-focused MCP server built with NitroStack, providing tools, resources, and prompts for arithmetic operations.14-
- FlicenseNot gradedqualityCmaintenanceA calculator-focused MCP server built with the NitroStack framework, providing tools, resources, and prompts for basic arithmetic operations.-
- AlicenseNot gradedqualityCmaintenanceA calculator-focused MCP server for learning NitroStack fundamentals, providing tools, resources, and prompts.325 npmMIT