I built my first MCP server last week and it was way simpler than I expected. Here is exactly how, no fluff.
Prerequisites
- Node.js 20+
- 10 minutes
Step 1: Scaffold
npx create-mcp-server my-first-server
cd my-first-server
npm install
This generates a complete TypeScript project with one example tool.
Step 2: Add your tool
Open src/index.ts. Replace the hello tool with whatever you want:
server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { name, arguments: args } = request.params;
if (name === 'current_time') {
return {
content: [{ type: 'text', text: new Date().toISOString() }]
};
}
throw new Error(`Unknown tool: ${name}`);
});
Step 3: Build and connect
npm run build
npm start
Add to Claude Desktop config and you are done.
The whole thing took me 8 minutes. Most of that was reading the docs.
What I learned
- The MCP SDK handles all the transport layer — you just define tools
-
StdioServerTransportmeans your server runs as a subprocess. No HTTP, no port conflicts - Error handling is important. If your tool crashes, the whole MCP connection breaks
Want to try it?
npm install -g mcp-hub
mcp-hub search mcp
Built with mcp-hub. If this helps, buy me a coffee.
Top comments (0)