Skip to content

timescale/mcp-boilerplate-node

Repository files navigation

MCP Boilerplate for Node.js

This provides some common code for creating a Model Context Protocol (MCP) server in Node.js.

Setup

  1. Clone the repository:

    git clone <repository-url>
    cd mcp-boilerplate-node
  2. Install dependencies:

    npm install

Eslint Plugin

This project includes a custom ESLint plugin to guard against the problematic use of optional parameters for tool inputs. Doing so leads to tools that are incompatible with certain models, such as GPT-5.

Add to your eslint.config.mjs:

import boilerplatePlugin from '@tigerdata/mcp-boilerplate/eslintPlugin';
export default [
  // ... your existing config
  {
    plugins: {
      'mcp-boilerplate': boilerplatePlugin,
    },
    rules: {
      'mcp-boilerplate/no-optional-tool-params': 'error',
    },
  },
];

Development

Build

To build the TypeScript project:

npm run build

This compiles the TypeScript files from src/ to JavaScript in dist/.

Watch Mode

To run TypeScript compilation in watch mode (rebuilds on file changes):

npm run watch

Linting

This project uses ESLint for code linting with TypeScript support.

To run the linter:

npm run lint

To automatically fix linting issues where possible:

npm run lint:fix

Continuous Integration

The project includes GitHub Actions that automatically run linting checks on all pushes and pull requests to ensure code quality standards are maintained.