MCP Server Starter Template
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., "@MCP Server Starter Templategreet John"
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.
MCPRepo — NextFlows Academy Starter
Part of NextFlows Academy — the free cohort program Building an MCP for an AI Engine.
Clone this repo to build your Model Context Protocol (MCP) server in TypeScript. By Demo Day you will ship a public GitHub repo with real tools, Zod validation, docs, and a live demo — the same path used in the free NextFlows Academy cohort.
Program hub: nextflows.ai/academy
Full program page (in this repo): docs/PROGRAM.md
Apply: Cohort application
About NextFlows Academy
NextFlows Academy runs structured, cohort-based programs with live sessions, mentor support, and a real project you ship by the end.
This repository belongs to:
Program | Building an MCP for an AI Engine |
Audience | 4th & 5th year CS / CE students |
Duration | 6 weeks |
Format | Cohort + project |
Price | Free |
Level | Intermediate |
Outcome | Shipped MCP server on GitHub |
Schedule | Wed & Sat online 1:30–3:30 PM + Monday on-site workshop days |
You go from “what’s an MCP?” to a working MCP server connected to an AI engine (for example Claude), fully documented, and live on GitHub.
See docs/PROGRAM.md for outcomes, weekly plan, starter projects, and who it’s for.
Related MCP server: Notes Manager
What you get
Path | Purpose |
| MCP server + stdio transport |
| One register helper per tool |
| Zod input contracts (with |
| Sample JSON args for Inspector |
| Full NextFlows Academy program page |
| Full Week 2 step-by-step plan |
| 6-week overview |
| Week 2 project choice template |
| Week 2 design doc template |
Week 1 is already wired: a working greet tool so you can open Inspector on day one.
Week 2 examples included: stub tools for Notes & FAQ Search (search_notes, list_notes, add_note). Enable them when you pick that starter (or copy the pattern for your own idea).
Prerequisites
Node.js 20+ (
node -v)npm (
npm -v)Git + a GitHub account
Cursor or VS Code
Quick start
git clone <YOUR_FORK_OR_ORG_URL>/MCPRepo.git
cd MCPRepo
npm install
npm run inspectIn the Inspector browser tab:
Click Connect
Open Tools
Select
greetand putAlexin the name field (seeexamples/greet.jsonfor the full args shape)Try invalid input (empty name) and confirm Zod rejects it
To run the server alone (waits on stdin):
npm run devImportant: log only with
console.error. Never useconsole.log— stdout is reserved for the MCP protocol.
Week 2
Week 2 is design-first. Follow docs/WEEK-2.md.
Useful scripts:
Script | What it does |
| Start the MCP server on stdio (stays alive; stop with Ctrl+C) |
| Same as |
| Open MCP Inspector against this server |
Stack
TypeScript via
tsx(no build step early on)Official MCP TypeScript SDK (
@modelcontextprotocol/server)Zod for tool
inputSchemaMCP Inspector for local testing
stdio transport for Claude Desktop / Cursor demos
Six-week journey
Week | Focus |
1 | Set up & first MCP tool ( |
2 | Design your own tools → see |
3 | Connect tools to real data |
4 | Make it safe & reliable |
5 | Test & write docs people can follow |
6 | Ship on GitHub & Demo Day |
Full program details: docs/PROGRAM.md
Starter project options (pick in Week 2)
Notes & FAQ Search — fully offline (example stubs included)
Personal Expense Tracker — summarize spending from a spreadsheet
To-Do List — create / list / complete tasks
Weather Briefing — free API (e.g. Open-Meteo), no paid keys
Quote of the Day — simple offline or public API
Advanced ideas (repo health, course planner, job tracker) need mentor approval before you expand scope.
Repo layout after Week 2
MCPRepo/
├── docs/
│ ├── PROGRAM.md
│ ├── CURRICULUM.md
│ ├── WEEK-2.md
│ ├── project-choice.md
│ └── design.md
├── examples/
│ └── <tool_name>.json
├── src/
│ ├── index.ts
│ ├── schemas/
│ └── tools/
├── package.json
└── README.mdRules that matter
One job per tool; use
verb_nounnames (search_notes,add_expense)Write descriptions for the model, not only for humans
Every Zod field needs
.describe(...)Prefer small focused tools over one mega-tool with an
actionenumAvoid paid APIs / OAuth-heavy projects in Weeks 1–2
Links
License
MIT — built for NextFlows Academy students.
Available Tools
1 toolgreetA
Return a short greeting for a person. Use this to verify the MCP server is running.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The person's first name or preferred name to greet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states 'return a greeting' implying read-only, but does not explicitly mention side effects, auth, or rate limits. Adequate for a trivial tool.
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?
Two concise sentences with no fluff. Front-loaded with core purpose, then usage context.
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 parameter and no output schema, the description covers purpose and usage completely. No gaps remain.
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 coverage is 100%, and description adds minimal value beyond schema's 'name' parameter description. 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?
Description clearly states the tool returns a short greeting for a person, using specific verb 'return' and resource 'greeting'. It also mentions use for server verification, distinguishing its purpose.
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?
Explicitly says to use for verifying MCP server is running, providing clear context. No when-not-to-use given, but for a simple tool it's adequate.
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.
1 tool update
v0.1.0- First observed
greet
TDQS
With only one tool, there is no possibility of confusion between tools. The purpose is clear and singular.
There is only one tool, so there is no inconsistency. The name 'greet' follows a simple verb pattern.
Tool count is 1, which is too few for a meaningful server. Even as a starter template, it lacks the typical minimal set (e.g., a few related operations).
The server has only a single greeting tool, which does not cover any functional domain. There are obvious gaps like any actual operations or data management.
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
Kickstart development with a customizable TypeScript template featuring sample tools for greeting,…
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA starter template for building MCP servers with TypeScript support, example tools, and automated installation scripts for Claude Desktop, Cursor, and other MCP-compatible AI assistants. Provides a foundation for creating custom tools, resource providers, and prompt templates.20-
- FlicenseBqualityDmaintenanceA TypeScript-based MCP server that enables AI assistants to create, search, list, and delete notes with tags. Serves as a starter template for building custom MCP servers with tools and resources.1-
- AlicenseBqualityDmaintenanceA TypeScript starter template for building MCP servers with example tools (echo, math operations, time, flight status) and resources (server info, greetings). Provides a modular architecture for easily extending with custom tools and resources.44ISC
- FlicenseAqualityDmaintenanceA starter template for building custom MCP servers with example implementations of tools, resources, and prompts. Includes TypeScript support and installation scripts for Claude Desktop, Cursor, and other MCP-compatible clients.26-
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/mohammad-jaradat/MCPServerStarterTemplate'
If you have feedback or need assistance with the MCP directory API, please join our Discord server