Typescript starter for MCP server with resource, prompt and tool
Documentation
Hello World MCP Server
A simple Model Context Protocol (MCP) server implementation built with TypeScript. This server demonstrates basic MCP functionality including resources, prompts, and tools.
Features
- SSE and STDIO transport support
- Resource handling with static and dynamic resources
- Sample prompt implementation
- Example tool that echoes messages
- Debug tool for server introspection
Getting Started
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
Installation
npm installBuild
npm run buildRunning the Server
HTTP/SSE Transport (Web Browsers)
npm run start:httpThis starts the server on http://localhost:3000 with:
- SSE endpoint at
/sse - Message endpoint at
/messages
STDIO Transport (Command Line)
npm run startThis runs the server in stdio mode for command-line integrations.
Testing the Server
Testing with cURL
1. Start the HTTP server:
npm run start:http2. In a terminal window, connect to the SSE endpoint:
curl -N http://localhost:3000/sseYou should see a response like:
event: endpoint
data: /messages?sessionId=YOUR_SESSION_ID3. In another terminal window, send a request to invoke the echo tool:
curl -X POST \
"http://localhost:3000/messages?sessionId=YOUR_SESSION_ID" \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/invoke",
"params": {
"name": "echo",
"parameters": {
"message": "Testing the MCP server!"
}
}
}'4. You should see a response in the SSE terminal window:
event: message
data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"Hello Testing the MCP server!"}]}}5. Try the debug tool to see available server methods:
curl -X POST \
"http://localhost:3000/messages?sessionId=YOUR_SESSION_ID" \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/invoke",
"params": {
"name": "debug",
"parameters": {}
}
}'Testing with MCP Inspector
For a visual interface, you can use the MCP Inspector tool:
1. Connect to http://localhost:3000/sse in the MCP Inspector
2. Browse available resources and tools
3. Invoke tools interactively


Server API
Resources
hello://world- A static hello world resourcegreeting://{name}- A dynamic greeting with a name parameter
Tools
echo- Echoes back a message with "Hello" prefixdebug- Lists all available tools and methods
Prompts
helpful-assistant- A basic helpful assistant prompt
Troubleshooting
- If you get "Headers already sent" errors, make sure you're not manually setting headers
- Session ID handling is crucial for proper message routing
- Check the server console for debugging information
License
MIT
Similar MCP
Based on tags & features
Trending MCP
Most active this week