NitroStack Hackathon Starter
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., "@NitroStack Hackathon Startercalculate 5 + 3"
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 × Amrita Hackathon Starter
A verified, event-ready base for building a TypeScript MCP server with the official NitroStack SDK. The included calculator module is a working reference, not the final hackathon idea.
Live deployment
Service documentation: https://nitrostack-hackathon-starter-6a63c210-vedangs-org-ddf9f8a5.app.nitrocloud.ai
Streamable MCP endpoint: https://nitrostack-hackathon-starter-6a63c210-vedangs-org-ddf9f8a5.app.nitrocloud.ai/mcp
NitroCloud app: https://cloud.nitrostack.ai/apps/6a63c210b7c23ca10dce7c5e
The service runs MCP protocol 2025-06-18. A live smoke test initializes the
server, lists both tools, and executes 5 + 3 = 8.
Related MCP server: NitroStack Calculator MCP Server
Ready on this laptop
Node.js 20.18.1 and npm 10.8.2
Git and GitHub CLI
VS Code
NitroStudio 1.4.14
Official NitroStack CLI 1.0.15 installed globally
Official
typescript-startertemplateRoot and widget dependencies installed
Local build, preflight checks, and GitHub Actions CI
Idea, build, security, submission, and three-minute demo templates
Start here
Complete the short account checklist.
Fill in the one-page idea brief with your team.
Replace the calculator example with the smallest end-to-end version of your chosen idea.
Run:
npm run devIn NitroStudio, choose Add Server → Nitro Project, select this folder, and open Studio App Canvas.
Before every push:
npm run checkProject map
src/
├── index.ts
├── app.module.ts
├── health/
├── modules/
│ └── calculator/ # Replace with your MVP module
└── widgets/
└── app/
docs/
├── IDEA.md
├── BUILD_PLAN.md
├── MANUAL_ACCOUNT_STEPS.md
├── PIZZA_REFERENCE_WORKFLOW.md
├── SUBMISSION_CHECKLIST.md
└── DEMO_SCRIPT.md
scripts/
└── preflight.mjsCommands
Command | Purpose |
| Start the MCP server and widget dev server |
| Build the production bundle |
| Build, exercise the MCP server, and run preflight checks |
| List and call MCP primitives through STDIO |
| Audit server and widget dependency trees |
| Run the built production server |
| Upgrade NitroStack packages |
Non-negotiable event rules
Use the official NitroStack TypeScript SDK throughout the project.
Align the idea with an organizer-approved track.
Keep
mainworking and deployable.Deploy early to NitroCloud and test the live service after major changes.
Never commit
.env, API keys, tokens, passwords, credentials, private keys,node_modules, or large binaries.Keep the repository public through judging.
Submit the live NitroCloud deployment, complete GitHub repository, and a demo video no longer than three minutes through the organizer-provided account.
See SUBMISSION_CHECKLIST.md for the full gate.
Official links
Available Tools
2 toolscalculateC
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention edge cases (e.g., division by zero), return format, or any side effects. The description is purely functional and lacks transparency about behavior beyond the operation itself.
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 with no wasted words. It is appropriately minimal for a simple tool, though it could have included behavioral details without harming conciseness.
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, but the description omits crucial context such as the return value and edge-case behavior. Since there is no output schema, the description should explain what the caller receives, and it does not. The absence of warnings about division by zero or other pitfalls makes it 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?
Schema description coverage is 100%, with all three parameters (a, b, operation) already described in the schema. The description adds no additional semantic meaning beyond what the schema provides, so 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 'Perform basic arithmetic calculations' clearly states the tool's function with a specific verb and resource. It implicitly distinguishes from sibling convert_temperature by focusing on arithmetic rather than conversion, though it does not explicitly name the 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 like convert_temperature. There are no explicit use cases, exclusions, or context hints beyond the tool name, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_temperatureB
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?
No annotations are provided, so the description must disclose behavioral traits. It does not disclose the return format, whether it modifies state, the relationship between file content and direct input, or any prerequisites. The phrase 'based on file content or direct input' is ambiguous without explaining precedence or requirements given the schema's required file parameters.
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, front-loads the primary action, and contains no redundant or filler content. Every phrase adds information about the tool's scope.
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 six parameters, no output schema, and no annotations. The description does not explain the required file parameters, how to invoke the tool correctly, or what the return value is, leaving significant gaps for a tool with 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?
Schema description coverage is 100%, so the baseline is 3. The description adds the concept of 'file content or direct input', which provides some context beyond the schema, but it does not clarify parameter combinations or precedence, so it does not meaningfully exceed the baseline.
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 'convert' and the resource 'temperature units', specifically supporting Celsius and Fahrenheit. It distinguishes from the sibling tool 'calculate' by specifying the domain of temperature conversion.
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 usage for temperature conversion but does not explicitly state when to use this tool over 'calculate' or provide exclusions. It mentions 'based on file content or direct input' as usage context but lacks explicit guidance on choosing between the two input modes or alternative tools.
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.
2 tool updates
v1.0.0- First observed
calculate - First observed
convert_temperature
TDQS
The two tools have clearly distinct purposes: one handles general arithmetic and the other handles temperature conversion. There is no overlap or ambiguity between them, so an agent can easily select the correct tool.
Both tool names follow a consistent verb_noun pattern: 'calculate' and 'convert_temperature'. Both use lowercase with underscores, maintaining a predictable naming convention across the set.
With only two tools, the server feels very thin for a 'Hackathon Starter' name, which suggests a broader utility toolkit. This makes the count borderline, though it is still functional for basic needs.
The server appears to aim at providing math utilities, but it only offers basic arithmetic and temperature conversion. There are significant gaps such as length/weight conversions, currency conversion, or more advanced math functions, leaving the surface severely incomplete for a general-purpose starter kit.
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
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceA minimal MCP server template for learning NitroStack fundamentals, featuring a calculator module with tools, resources, and prompts.-
- FlicenseCqualityCmaintenanceA minimal MCP server template for learning NitroStack fundamentals, featuring a calculator module with tools, resources, and prompts.9-
- AlicenseBqualityBmaintenanceA minimal MCP server template for learning NitroStack, providing calculator-focused tools, resources, and prompts with TypeScript and Zod validation.21ISC
- AlicenseNot gradedqualityCmaintenanceThis template enables learning NitroStack fundamentals with a calculator-focused MCP server that supports tools, resources, and prompts. It includes TypeScript and Zod validation for building MCP servers.2251MIT
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/vedangps/nitrostack-hackathon-starter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server