Skip to main content
Glama
kfrzr

FastMCP Boilerplate

by kfrzr

FastMCP Boilerplate

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.

Development

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 forkfastmcp-boilerplate and start from there.

Start the server

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.

Testing

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.

Linting

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.

Formatting

Use npm run format to format the code.

npm run format

GitHub Actions

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:

  1. Add NPM_TOKEN to the repository secrets

    1. Create a new automation token

    2. Add token as NPM_TOKEN environment secret (Settings → Secrets and Variables → Actions → "Manage environment secrets" → "release" → Add environment secret)

  2. Grant write access to the workflow (Settings → Actions → General → Workflow permissions → "Read and write permissions")

Available Tools

1 tool

TDQS

B3.3/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, making disambiguation perfect. The tool's purpose is clearly defined as searching for real estate properties, leaving no room for confusion.

Naming Consistency5/5

A single tool inherently exhibits perfect naming consistency, as there are no other tools to compare against. The name 'property_search' follows a clear verb_noun pattern, which is consistent in isolation.

Tool Count2/5

A single tool is generally too few for a server's purpose, as it limits functionality and suggests an incomplete or overly narrow scope. For real estate, one search tool lacks essential operations like creating, updating, or deleting properties, making it insufficient for typical workflows.

Completeness1/5

The tool set is severely incomplete for a real estate domain, as it only provides search functionality without any CRUD operations (create, read, update, delete) or lifecycle management. This gap will likely cause agent failures when attempting to perform basic tasks beyond searching.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kfrzr/realtor_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server