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 devNote
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 startHowever, you can also interact with the server using the dev script.
npm run devThis 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 testIn 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 lintThis boilerplate uses Prettier, ESLint and TypeScript ESLint to lint the code.
Use npm run format to format the code.
npm run formatThis 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_TOKENto the repository secrets- Create a new automation token
- Add token as
NPM_TOKENenvironment 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")