About Template Nodejs
Template Nodejs is an MCP server published by alpic-ai in the Developer Tools category: generated from alpic-ai/mcp-server-template-nodejs.
The repository has 8 stars and 7 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/alpic-ai/mcp-server-template-nodejsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Template Nodejs
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Alpic MCP Template
A TypeScript template for building MCP servers using Streamable HTTP transport.
Overview
This template provides a foundation for creating MCP servers that can communicate with AI assistants and other MCP clients. It includes a simple HTTP server implementation with example tools, resource & prompts to help you get started building your own MCP integrations.
Deploy
Use the following button to clone the repository and directly deploy the server to Alpic
Prerequisites
- Node.js 22+ (see
.nvmrcfor exact version)
Installation
- Clone the repository:
git clone <repository-url>
cd mcp-server-template
- Install dependencies:
npm install
- Create environment file:
cp .env.example .env
Usage
Development
Start the development server with hot-reload:
npm run dev
The server will start on http://localhost:3000 and automatically restart when you make changes to the source code.
Production Build
Build the project for production:
npm run build
The compiled JavaScript will be output to the dist/ directory.
Running the Inspector
Use the MCP inspector tool to test your server:
npm run inspector
API Endpoints
POST /mcp- Main MCP communication endpointGET /mcp- Returns "Method not allowed" (405)DELETE /mcp- Returns "Method not allowed" (405)
Development
Adding New Tools
To add a new tool, modify src/server.ts:
server.registerTool(
"tool-name",
{
title: "Tool Title",
description: "Tool description",
inputSchema: {
// Define your parameters using Zod schemas
param: z.string().describe("Parameter description"),
},
},
async ({ param }): Promise<CallToolResult> => {
// Your tool implementation
return {
content: [
{
type: "text",
text: `Result: ${param}`,
},
],
};
},
);
Adding New Prompts
To add a new prompt template, modify src/server.ts:
server.registerPrompt(
"prompt-name",
{
title: "Prompt Title",
description: "Prompt description",
argsSchema: {
// Define your parameters using Zod schemas
param: z.string().describe("Parameter description"),
},
},
async ({ param }): Promise<GetPromptResult> => {
return {
messages: [
{
role: "user",
content: {
type: "text",
text: `Your prompt content with ${param}`,
},
},
],
};
},
);
Adding New Resources
To add a new resource, modify src/server.ts:
server.registerResource(
"resource-name",
"https://example.com/resource-uri",
{ mimeType: "text/plain" },
async (): Promise<ReadResourceResult> => {
return {
contents: [
{
uri: "https://example.com/resource-uri",
text: "Resource content",
},
],
};
},
);
Resources
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.