MCP.so
Sign In
Servers

MCP TypeScript Server Starter

@ralf-boltshauser

Overview

What is MCP TypeScript Server Starter?

A starter project for building Model Context Protocol (MCP) servers in TypeScript. It provides a simple echo server implementation that demonstrates core MCP features such as tools, resources, and prompts.

How to use MCP TypeScript Server Starter?

Clone the repository, install dependencies with pnpm install, then run pnpm dev to start the development server and inspector. To switch between STDIO and SSE modes, comment or uncomment the corresponding code blocks in src/index.ts. For STDIO mode, build with pnpm build and run node dist/index.cjs; for SSE mode, deploy using Docker or platforms like Coolify and connect via npx -y mcp-remote https://your-domain.com/sse.

Key features of MCP TypeScript Server Starter

  • Simple echo server with tool, resource, and prompt examples
  • TypeScript support with hot reloading in development
  • Built‑in inspector for testing and debugging
  • Supports both STDIO and SSE communication modes
  • Ready for local development and production deployment
  • Starter code to add custom tools, resources, and prompts

Use cases of MCP TypeScript Server Starter

  • Rapid prototyping of MCP servers with an example echo server
  • Local testing of MCP capabilities using the inspector
  • Deploying a scalable remote MCP server via SSE
  • Integrating with MCP clients like Claude Desktop or Cursor

FAQ from MCP TypeScript Server Starter

What are the prerequisites?

Node.js v16 or later and pnpm (recommended) are required.

Which communication modes are available and when should I use them?

STDIO mode is ideal for local development and direct process communication with tools like Claude Desktop. SSE mode is better for production deployments requiring remote access and is used with HTTP/SSE endpoints.

How do I deploy the server to production?

You can deploy using Docker or platforms like Coolify. In Coolify’s advanced settings, disable GZIP compression (required for SSE) and expose port 3001 by setting the domain as https://your-domain.com:3001. The server listens on all interfaces by default.

How can I debug my server during development?

Use the built‑in inspector at http://localhost:6274. You can also send debug messages from your code with server.server.sendLoggingMessage, which appears in the inspector.

Where do I set environment variables for the server?

Use a .env file for local development (add it to .gitignore) or set them in your deployment platform (e.g., Coolify). Access them in code via process.env. Docker Compose loads .env automatically.

More from Developer Tools