SoftwareSavants/mcp-starter
Minimal MCP server starter template — TypeScript, dual transport (stdio + HTTP/OAuth), lean by design
Platform-specific configuration:
{
"mcpServers": {
"mcp-starter": {
"command": "npx",
"args": [
"-y",
"mcp-starter"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
A minimal, production-ready MCP server template built with TypeScript. Clone this, replace the example tools with your API, and your users can interact with your product through Claude, Cursor, or any MCP-compatible AI agent.
Built lean by design — exposes only what users need, with token-efficient tool descriptions and structured responses.
# Clone
git clone https://github.com/SoftwareSavants/mcp-starter.git
cd mcp-starter
# Install
npm install
# Configure (pre-filled with DummyJSON — works out of the box)
cp .env.example .env
# Build & run
npm run build
npm startThen add to your Claude Desktop config (~/Library/Application\ Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"my-product": {
"command": "node",
"args": [
"--env-file=path/to/mcp-starter/.env",
"path/to/mcp-starter/dist/index.js"
]
}
}
}This template supports two transport modes. Use whichever fits your deployment:
| | Stdio (default) | HTTP + OAuth | | ------------ | ------------------------- | ------------------------------ | | Auth | API key via env var | OAuth 2.1 (PKCE) | | Best for | Local dev, Claude Desktop | Production, multi-user, remote | | Run | npm start | npm run start:http |
The default. Set API_BASE_URL and API_KEY as environment variables — the server authenticates all API calls with the key.
Runs an Express server with full OAuth 2.1 support. The MCP server acts as a proxy — it delegates authentication to your upstream OAuth provider (e.g. your product's existing OAuth server).
# Required environment variables for OAuth mode
export API_BASE_URL="https://api.yourproduct.com"
export OAUTH_AUTHORIZATION_URL="https://auth.yourproduct.com/authorize"
export Loading reviews...