FastMCP Quickstart for Smithery
A simple example of creating an MCP server using FastMCP and Python, designed to work with Smithery.
What This Does
This server provides a single tool called greet that takes a name and returns a friendly greeting message. You'll test it using the Smithery Playground for interactive development.
Prerequisites
Python 3.12 or higher
uv package manager
Node.js and npx (optional, for Smithery CLI and playground)
Quick Start
Clone the repository:
git clone https://github.com/smithery-ai/smithery-cookbook.git cd smithery-cookbook/servers/python/quickstartInstall Smithery CLI (optional, for playground testing):
npm install -g @smithery/cliInstall dependencies:
uv syncRun the server:
uv run python main.pyTest it's working: The server will start on
http://localhost:8081Launch Smithery Playground: In a new terminal, launch the interactive Smithery playground:
smithery playground --port 8081This will open a web interface where you can:
Interact with your MCP server in real-time
Test the
greettool with different inputsSee the complete request/response flow
Debug and iterate on your MCP tools quickly
Add Smithery session configuration (optional):
This step has three parts to add session-based configuration handling:
Part A: Add config validation function
Part B: Update the tool to use config validation
Part C: Test with configuration
Skip to step 8 if you don't need session configuration.
Deploy to Smithery: To deploy your MCP server:
Push your code to GitHub (make sure to include the
smithery.yamlandDockerfile)Connect your repository at https://smithery.ai/new
Your server will be available over HTTP and ready to use with any MCP-compatible client!
Stopping the Server
Press Ctrl+C in the terminal to stop the server.
This server cannot be installed