MCP Server Starter Demo
Minimal TypeScript MCP teaching server with two bounded in-memory tools, Zod validation, official SDK protocol tests, CI, and no file, network, subprocess, or secret access.
Documentation
MCP Server Starter Demo
A free, deliberately small TypeScript MCP server from ThynkQ. It uses the current official SDK, runs over stdio, validates every input with Zod, and exposes two pure in-memory tools:
echo: returns validated text unchanged;text_stats: counts words and characters.
It does not read files, call the network, spawn subprocesses, or accept secrets.
Run it
Requires Node.js 22 or newer.
npm install
npm run check
npm start
Build first, then copy configs/claude-desktop.example.json and replace the placeholder with the absolute path to dist/index.js.
Why this repository is limited
This is a public teaching demo, not the paid production starter. It intentionally omits:
- streamable HTTP transport;
- bearer authentication and constant-time comparison;
- rate limiting and DNS rebinding protection;
- structured redacted logging;
- typed safe error handling;
- the 72-test transport and security suite;
- three production client configurations and saved scan proof.
Those hardening layers are part of MCP Server Starter Pro, which is in final storefront preparation. Follow ThynkQ's MCP work for the release.
If you need a human review of a production MCP deployment, see ThynkQ's MCP Risk Review.
Related free project
Before connecting a third-party MCP server, run the free MCP Security Review Preview. It is a limited Claude Code preflight that keeps raw scanner evidence outside model-facing output.
Security model
The client launches this process and communicates over stdin/stdout. All operational logging goes to stderr so stdout remains reserved for JSON-RPC. Both example tools are pure functions with bounded inputs.
License
MIT. See LICENSE.
Built by Abanoub Rodolf Boctor at ThynkQ.