mcp-server-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., "@mcp-server-starterprocess the text 'Hello MCP'"
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-starter
Production-ready TypeScript template for building MCP (Model Context Protocol) servers. Works with Claude Code, Cursor, and any MCP client.
Quick Start
# Clone the template
git clone https://github.com/fix2015/mcp-server-starter.git my-mcp-server
cd my-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run the server
npm startRelated MCP server: MCP Server Boilerplate
Project Structure
src/
index.ts # Server entry point — registers tools, resources, and prompts
tools/
example-tool.ts # Example tool implementation (process_text)
resources/
example-resource.ts # Example resource implementation (server-info)How to Add a New Tool
Create a new file in src/tools/:
// src/tools/my-tool.ts
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
export function registerMyTool(server: McpServer): void {
server.tool(
"my_tool_name",
"Description of what the tool does",
{
input: z.string().describe("Input parameter description"),
},
async ({ input }) => {
// Your tool logic here
return {
content: [{ type: "text", text: `Result: ${input}` }],
};
}
);
}Then register it in src/index.ts:
import { registerMyTool } from "./tools/my-tool.js";
registerMyTool(server);How to Add a New Resource
Create a new file in src/resources/:
// src/resources/my-resource.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
export function registerMyResource(server: McpServer): void {
server.resource("my-resource", "custom://my-data", async (uri) => {
return {
contents: [
{
uri: uri.href,
mimeType: "application/json",
text: JSON.stringify({ key: "value" }),
},
],
};
});
}Then register it in src/index.ts:
import { registerMyResource } from "./resources/my-resource.js";
registerMyResource(server);Configuration
Claude Code
Add to your claude_desktop_config.json:
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["/absolute/path/to/my-mcp-server/dist/index.js"]
}
}
}With Environment Variables
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["/absolute/path/to/my-mcp-server/dist/index.js"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}Development
# Watch mode — recompiles on file changes
npm run dev
# Test with the MCP Inspector
npm run inspectIncluded Examples
Type | Name | Description |
Tool |
| Transforms text with uppercase and word counting |
Resource |
| Returns server metadata as JSON |
Prompt |
| Generates a summary prompt for a given topic |
Deployment
As a Local Server
Build and point your MCP client config to the built dist/index.js.
As an npm Package
Update
nameinpackage.jsonto your package nameRun
npm publishUsers can then run:
npx your-package-name
With Docker
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY dist/ ./dist/
ENTRYPOINT ["node", "dist/index.js"]docker build -t my-mcp-server .
docker run -i my-mcp-serverRequirements
Node.js >= 18
TypeScript >= 5.7
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/fix2015/mcp-server-starter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server