Skip to main content
Glama
safayet9009

FastMCP Demo Server

by safayet9009

FastMCP Demo Server

A beginner-friendly Model Context Protocol (MCP) server built with FastMCP. This project demonstrates how to create custom MCP tools and connect them to AI clients such as Claude Desktop.

šŸš€ Features

This server currently provides two simple MCP tools:

  • add — Adds two numbers

  • multiply — Multiplies two numbers

The project is designed as a simple starting point for learning how MCP servers work.

Related MCP server: Calculator MCP Server

🧠 How It Works

The basic architecture is:

User
  ↓
AI Client (Claude Desktop)
  ↓
MCP Protocol
  ↓
FastMCP Server
  ↓
Custom Tools
  ↓
Python Functions

For example, when Claude needs to calculate 10 + 20, it can call the add MCP tool:

Claude
  ↓
add(10, 20)
  ↓
FastMCP Server
  ↓
Python function
  ↓
30

šŸ“ Project Structure

fastmcp-demo-server/
│
ā”œā”€ā”€ main.py
ā”œā”€ā”€ README.md
ā”œā”€ā”€ LICENSE
ā”œā”€ā”€ pyproject.toml
ā”œā”€ā”€ uv.lock
ā”œā”€ā”€ .python-version
└── .gitignore

šŸ› ļø Tools

1. add

Adds two numbers.

add(a, b)

Example:

add(10, 20)
→ 30

2. multiply

Multiplies two numbers.

multiply(a, b)

Example:

multiply(10, 20)
→ 200

āš™ļø Requirements

  • Python

  • uv

  • FastMCP

  • An MCP-compatible client such as Claude Desktop

šŸ“¦ Installation

Clone the repository:

git clone https://github.com/safayet9009/fastmcp-demo-server.git

Go to the project directory:

cd fastmcp-demo-server

Install the project dependencies:

uv sync

ā–¶ļø Run the Server

Run the MCP server with:

uv run fastmcp run main.py:mcp

The server uses stdio transport, so it can communicate directly with MCP clients such as Claude Desktop.

šŸ” Test with FastMCP Inspector

You can also inspect and test the server using FastMCP's development tools:

uv run fastmcp dev inspector main.py:mcp

This allows you to explore the available MCP tools and test them interactively.

šŸ¤– Connect with Claude Desktop

Add the following configuration to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "Demo Server": {
      "command": "/home/shafayet/.local/bin/uv",
      "args": [
        "run",
        "--directory",
        "/home/shafayet/Desktop/fastmcp-demo-server",
        "fastmcp",
        "run",
        "main.py:mcp"
      ],
      "env": {},
      "transport": "stdio"
    }
  }
}

Note: Update the paths according to your own system.

After adding the configuration, restart Claude Desktop.

Claude should then be able to discover the available tools:

add
multiply

You can test it by asking Claude:

Use the add tool to calculate 25 + 75.

or:

Use the multiply tool to calculate 12 Ɨ 8.

šŸŽÆ Learning Goals

This project helps demonstrate:

  • What an MCP server is

  • How FastMCP works

  • How to create MCP tools

  • How MCP clients discover and call tools

  • How Python functions can become MCP tools

  • How to connect a custom MCP server with Claude Desktop

  • How stdio transport works

šŸ”® Future Improvements

Possible future additions include:

  • Weather tool

  • Calculator tool

  • Web search tool

  • Database tools

  • File management tools

  • API integration

  • Custom AI-powered tools

  • Resources and prompts

  • Authentication

  • More advanced MCP workflows

šŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

šŸ‘Øā€šŸ’» Author

Safayet Hossain

GitHub: @safayet9009


⭐ If you find this project useful for learning MCP, consider giving it a star!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables basic arithmetic operations (addition, subtraction, multiplication, division) with 64-bit precision and matrix multiplication capabilities. Provides mathematical computation tools for AI assistants through the Model Context Protocol.
    5
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides basic arithmetic operations (add, multiply, divide) for AI assistants through the Model Context Protocol.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to perform mathematical calculations through natural language by integrating an AI model with calculator tools via the Model Context Protocol.
    32 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes add, subtract, multiply, and divide tools for performing arithmetic operations over stdio via the Model Context Protocol.
    20 npm
    MIT