FastMCP Tools Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FastMCP Tools Serverrun a health check"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
You can use the following production-style README.md for your FastMCP server and client applications.
FastMCP Tools Server
A production-ready FastMCP server exposing the following tools:
health- Health check endpointsay_hello- Returns a greeting messagegenerate_uuid- Generates a random UUID
Project Structure
project/
│
├── app/
│ ├── __init__.py
│ └── server.py
│
├── client/
│ └── mcp_client.py
│
├── tests/
│ └── test_mcp_tools.py
│
├── requirements.txt
├── pyproject.toml
└── README.mdRelated MCP server: MCP Server Streamable
Prerequisites
Python 3.14+
pip
Verify installation:
python --versionExpected:
Python 3.14.xCreate Virtual Environment
Windows
python -m venv .venv
.venv\Scripts\activateLinux / macOS
python -m venv .venv
source .venv/bin/activateInstall Dependencies
pip install -r requirements.txtor
pip install fastmcp pytest pytest-asyncioStart MCP Server
Navigate to the project root folder.
Run:
python app/server.pyExpected output:
INFO: FastMCP server started
INFO: Listening on http://0.0.0.0:8000/mcpVerify Server
Open a new terminal and run:
curl http://localhost:8000/mcpor
fastmcp list http://localhost:8000/mcpExpected tools:
health
say_hello
generate_uuidRun Client Application
Example:
python client/mcp_client.pyExpected output:
Available Tools:
- health
- say_hello
- generate_uuid
Health Response:
{'status': 'healthy'}
Hello Response:
{'message': 'Hello Satheesh'}
UUID Response:
{'uuid': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}Example Client Code
import asyncio
from fastmcp import Client
async def main():
async with Client("http://localhost:8000/mcp") as client:
health = await client.call_tool("health")
print(health.data)
hello = await client.call_tool(
"say_hello",
{"name": "Satheesh"}
)
print(hello.data)
uuid_result = await client.call_tool(
"generate_uuid"
)
print(uuid_result.data)
if __name__ == "__main__":
asyncio.run(main())Run Tests
Execute:
pytest -vExpected:
tests/test_mcp_tools.py::test_health PASSED
tests/test_mcp_tools.py::test_say_hello PASSED
tests/test_mcp_tools.py::test_generate_uuid PASSEDAvailable Tools
health
Request:
await client.call_tool("health")Response:
{
"status": "healthy"
}say_hello
Request:
await client.call_tool(
"say_hello",
{
"name": "Satheesh"
}
)Response:
{
"message": "Hello Satheesh"
}generate_uuid
Request:
await client.call_tool(
"generate_uuid"
)Response:
{
"uuid": "550e8400-e29b-41d4-a716-446655440000"
}Troubleshooting
List Tools Works but Tool Returns None
Verify the server returns a dictionary:
@mcp.tool
def say_hello(name: str) -> dict:
return {
"message": f"Hello {name}"
}Avoid returning primitive values such as strings for production APIs.
Connection Refused
Ensure the MCP server is running:
python app/server.pyVerify port:
netstat -ano | findstr 8000Verify FastMCP Version
pip show fastmcpRecommended:
fastmcp >= 3.xProduction Recommendations
Run behind Nginx or API Gateway.
Enable HTTPS.
Add authentication and authorization.
Use structured responses (dict/Pydantic models).
Add logging and monitoring.
Deploy with Docker/Kubernetes.
Add retry and timeout handling in clients.
License
MIT License
This README should be sufficient for onboarding developers, running the server/client locally, and validating the MCP tools end-to-end.
This server cannot be deployed
Maintenance
Related MCP Connectors
A simple MCP server built with FastMCP and python
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA simple MCP server that generates multi-language greetings and provides server information using the FastMCP framework.MIT
- FlicenseNot gradedqualityDmaintenanceA demonstration MCP server that runs over HTTP with streamable transport, providing a simple greeting tool for testing MCP client-server communication. Built with FastMCP framework for educational purposes in learning MCP server development.-
- AlicenseNot gradedqualityDmaintenanceA minimal FastMCP server implementation that provides basic mathematical and greeting tools. Enables users to perform simple operations like adding numbers and greeting people by name through a lightweight MCP interface.MIT
- FlicenseNot gradedqualityDmaintenanceA minimal demonstration MCP server built with FastMCP that exposes a simple greeting tool, showcasing basic server setup and remote deployment capabilities.-