Skip to main content
Glama
MCP Server TS Starter
by opikdev

MCP server TS starter

A production-ready Model Context Protocol server in TypeScript, ready to customize with coding agents. It runs over stdio for local clients and Streamable HTTP for remote ones, with OAuth, tests through real MCP clients, and a release pipeline.

CI License: MIT

Features

  • Current protocol: built on the official MCP SDK v2, for the 2026-07-28 spec, while still serving older clients.

  • Two transports: stdio for Claude Code, Claude Desktop, and Cursor, plus stateless Streamable HTTP that scales horizontally.

  • Secure HTTP: OAuth per the MCP authorization spec, or static tokens. It won't start without an auth mode, and it blocks DNS rebinding.

  • Sample tools: get_time, search_docs, and whoami, with input and output schemas, annotations, and readable errors, plus docs:// resources.

  • Backend integration: list_notes and create_note call a REST API with timeouts, validated responses, and errors the model can act on. See Connect a backend API.

  • Real tests: every tool is tested through a real MCP client over HTTP and stdio, on both protocol eras.

  • Publishing: releases to npm, the MCP Registry, and GHCR, with a test that keeps server.json and package.json in step.

  • Agent-ready: AGENTS.md, skills, and checks that run on every commit.

Related MCP server: MCP TypeScript Template

Quick start

You need Node 26 or later and pnpm:

git clone https://github.com/opikdev/mcp-server-ts-starter
cd mcp-server-ts-starter
pnpm install
pnpm inspect

The MCP Inspector opens in your browser. Connect, list the tools, and call get_time.

To run it over HTTP in Docker instead:

docker compose up --build --wait mcp

The server is now at http://localhost:3000/mcp, with the dev token dev-token-change-me-0123.

Usage

Task

Command

Try the tools in the MCP Inspector

pnpm inspect

Serve over HTTP on your machine

cp .env.example .env, then pnpm dev

Run lint, types, tests, and repo checks

pnpm verify

Test the built package and Docker image

pnpm test:e2e

Build the npm package

pnpm build

To use the server from Claude Code, Claude Desktop, Cursor, or VS Code, see Connect a client. Before you serve over HTTP outside your machine, read Configure HTTP auth. To ship a release, see Publish a release.

To add a tool, create a file in src/tools/ like src/tools/time.ts, register it in src/server.ts, and add tests to test/integration/tools.test.ts.

Project structure

Path

Purpose

src/tools/

One file per tool

src/resources/

Resources and their data

src/upstream/

Clients for backend APIs the tools call

src/http/

The HTTP app, auth gate, and server startup

src/auth/

OAuth and static token verifiers

test/

Unit, integration, and end-to-end tests

docs/

Architecture, guides, and decisions

Contributing

Read CONTRIBUTING.md before opening a pull request, and follow the code of conduct.

Security

Report vulnerabilities privately, as described in SECURITY.md.

License

Released under the MIT License.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A production-ready TypeScript MCP server providing basic tools (add, echo, timestamp), resources (server info, greetings, data access), and prompt templates (analyze, code-review, summarize). Serves as a foundation for building custom MCP servers with extensible architecture.
    523 npm
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A production-grade TypeScript template for building Model Context Protocol (MCP) servers with declarative tools/resources, authentication, storage abstraction, and support for both local and edge deployment. Provides example echo tools and resources to demonstrate MCP server development patterns.
    348 npm
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    A TypeScript starter template for building MCP servers with example tools (echo, math operations, time, flight status) and resources (server info, greetings). Provides a modular architecture for easily extending with custom tools and resources.
    4
    21 npm
    ISC