MCP Server Demo
Quick demo to show the local MCP client/server example.
Prerequisites
- Node.js (16+)
Install (if you haven't already):
npm install
Run the demo (spawns multiple clients):
npm run demo
Or run a single client with a custom name:
node client.js Stephen
What it does
server.jsis a minimal newline-delimited JSON tool server exposingsay_hello.client.jsspawnsserver.js, sends{ tool: 'say_hello', args: { name } }, and logs the response.demo.jsruns severalclient.jsinstances concurrently to showcase multiple requests and responses.
Web demo
- Start the web demo server and open the UI in your browser:
npm run web
# then open http://localhost:3000 in a browser
The web UI lets you type a name and click "Send say_hello" to demonstrate the MCP request/response flow over WebSocket.
Calling external APIs from the server
- You can make the server call an external HTTP API via the
call_apitool.
Usage (CLI/stdin): send a request like:
{ "id": 1, "tool": "call_api", "args": { "path": "/status" } }
If EXTERNAL_API_BASE is set in the environment the path will be resolved relative to that base. Example (PowerShell):
$env:EXTERNAL_API_BASE = 'https://api.example.com'
echo '{ "id": 1, "tool": "call_api", "args": { "path": "/status" } }' | node server.js
The server will return a JSON response containing status, headers, and body (parsed JSON when possible).
Want a web-based demo or a demo that uses the installed @modelcontextprotocol/sdk transport? I can implement that next.