mcp-server-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-templateinitialize a new MCP server from the template"
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.
mcp-server-template
A template for building a TypeScript MCP
server. It ships a reusable carcass — typed fetch client (timeouts, retries,
backoff), rate limiting, TTL cache, OAuth token store, structured errors, leveled
logging, MCP tool-result helpers — plus build tooling, node:test setup, .mcpb
packaging and GitHub Actions CI/release.
The server speaks standard MCP over stdio, so it works with any MCP client (Claude Desktop/Code, Cursor, VS Code, Cline, …).
Use it
Click Use this template on GitHub (or copy this directory), then follow the
checklist in TEMPLATE.md. In short: rename, edit src/config.ts,
add your src/clients/ and src/tools/, and update the manifest and docs. The
included search tool is a placeholder to delete.
Related MCP server: MCP Server Template
Develop
npm install
npm run build # type-check + bundle to dist/index.js
npm test # node:test (mocked, offline)
npm run lint
npm run format
npm run check:api # live upstream health-check (add your endpoints)
npm run inspector # run under the MCP InspectorRuntime requires Node ≥ 20. Contributor/agent guidance lives in
AGENTS.md (the single source of truth; CLAUDE.md just links to it).
Updating
Document how users update your server (keep this section in the generated repo):
.mcpbbundle: download the new bundle from the releases page and reinstall.From source:
git pull && npm ci && npm run build.npx (if published): unpinned
npx -y <package>fetches the latest next run.
Tell users to Watch → Releases, and keep the CHANGELOG current.
License
MIT © Grinv
Available Tools
1 toolsearchSearchCRead-only
Example tool — search the upstream API by keyword. Replace with real tools.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, but the description adds no additional behavioral context (e.g., search scope, result limits, error behavior). It carries the burden of transparency but fails to deliver.
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 brief (one sentence) but it is under-specification rather than concise. It does not effectively front-load key 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?
Given the simple tool with one parameter and annotations, the description still fails to provide essential context like return format, pagination, or query syntax. It is incomplete for operational use.
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% for the single 'query' parameter. The description adds no new meaning beyond the schema's 'Search query.' Baseline score 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 it searches by keyword, which is a clear verb+resource. However, it is generic and noted as an example placeholder, lacking specificity for real use.
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 on when to use this tool, when not to, or any alternatives. The description is too brief to provide usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Only one tool exists, so there is zero ambiguity in tool selection.
With a single tool named 'search', naming is trivially consistent, though no pattern is established.
A single placeholder tool is far too few for any meaningful server purpose; it does not earn its place.
The tool set is a template with a single example tool, providing no real coverage of any domain.
Maintenance
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…
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
Kickstart development with a customizable TypeScript template featuring sample tools for greeting,…
Related MCP Servers
- AlicenseCqualityDmaintenanceA TypeScript-based template for building Model Context Protocol servers, featuring fast testing, automated version management, and a clean structure for MCP tool implementations.1894MIT
- AlicenseAqualityNot gradedmaintenanceA production-ready TypeScript template for building MCP servers with dual transport support (stdio/HTTP), OAuth 2.1 foundations, SQLite caching, observability, and security features including PII sanitization and rate limiting.422
- AlicenseNot gradedqualityDmaintenanceA TypeScript-based template for rapidly developing MCP servers with modular tool architecture, built-in validation using Zod schemas, and comprehensive error handling.13MIT
- AlicenseAqualityBmaintenanceA TypeScript starter template for MCP servers with CI/CD, OIDC npm publishing, and zero-secret setup.188MIT
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/Grinv/mcp-server-template'
If you have feedback or need assistance with the MCP directory API, please join our Discord server