Skip to main content
Glama

HelloWorld MCP Server

by gemyago
index.ts•2.44 kB
#!/usr/bin/env node import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { CallToolRequestSchema, ListToolsRequestSchema, CallToolRequest, } from '@modelcontextprotocol/sdk/types.js'; // Create the server instance const server = new Server( { name: 'hello-world-mcp', version: '1.0.0', }, { capabilities: { tools: {}, }, } ); // Define available tools server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ { name: 'hello', description: 'Say hello to someone', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'The name of the person to greet', default: 'World', }, }, }, }, { name: 'add', description: 'Add two numbers together', inputSchema: { type: 'object', properties: { a: { type: 'number', description: 'First number', }, b: { type: 'number', description: 'Second number', }, }, required: ['a', 'b'], }, }, ], }; }); // Handle tool calls server.setRequestHandler(CallToolRequestSchema, async (request: CallToolRequest) => { const { name, arguments: args } = request.params; switch (name) { case 'hello': { const targetName = (args as { name?: string }).name || 'World'; return { content: [ { type: 'text', text: `Hello, ${targetName}! šŸ‘‹ Welcome to the HelloWorld MCP server!`, }, ], }; } case 'add': { const { a, b } = args as { a: number; b: number }; const result = a + b; return { content: [ { type: 'text', text: `${a} + ${b} = ${result}`, }, ], }; } default: throw new Error(`Unknown tool: ${name}`); } }); // Start the server async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error('HelloWorld MCP server running on stdio'); } main().catch((error) => { console.error('Server error:', error); process.exit(1); });

Latest Blog Posts

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/gemyago/typescript-mcp-boilerplate'

If you have feedback or need assistance with the MCP directory API, please join our Discord server