A boilerplate for FastMCP.
This boilerplate is a good starting point for building an MCP server. It includes a basic setup for testing, linting, formatting, and publishing to NPM.
To get started, clone the repository and install the dependencies.
git clone https://github.com/punkpeye/fastmcp-boilerplate.git
cd fastmcp-boilerplate
npm install
npm run dev
Note
If you are starting a new project, you may want to fork fastmcp-boilerplate and start from there.
If you simply want to start the server, you can use the start
script.
npm run start
However, you can also interact with the server using the dev
script.
npm run dev
This will start the server and allow you to interact with it using CLI.
A good MCP server should have tests. However, you don't need to test the MCP server itself, but rather the tools you implement.
npm run test
In the case of this boilerplate, we only test the implementation of the add
tool.
Having a good linting setup reduces the friction for other developers to contribute to your project.
npm run lint
This boilerplate uses Prettier, ESLint and TypeScript ESLint to lint the code.
Use npm run format
to format the code.
npm run format
This repository has a GitHub Actions workflow that runs linting, formatting, tests, and publishes package updates to NPM using semantic-release.
In order to use this workflow, you need to:
- Add
NPM_TOKEN
to the repository secrets- Create a new automation token
- Add token as
NPM_TOKEN
environment secret (Settings → Secrets and Variables → Actions → "Manage environment secrets" → "release" → Add environment secret)
- Grant write access to the workflow (Settings → Actions → General → Workflow permissions → "Read and write permissions")