My MCP 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., "@My MCP Serverwhat's the weather in Tokyo?"
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.
My MCP Server
A lightweight Model Context Protocol (MCP) server built with FastMCP, exposing three tools that can be used by any MCP-compatible client (Claude Desktop, agents, etc.).
Tools
Tool | Description | Input |
| Adds two integers together |
|
| Returns the current date and time as an ISO string | none |
| Fetches a 3-day weather forecast for any city via wttr.in |
|
Related MCP server: mcp-server-demo
Demo
Weather forecast for Addis Ababa fetched live via the get_current_weather tool:

Tech Stack
Python 3.12
FastMCP — MCP server framework
wttr.in — free weather API (no key required)
uv — package and environment management
Getting Started
1. Clone the repo:
git clone https://github.com/aarongeb/mcp.git
cd mcp2. Create a virtual environment and install dependencies:
uv venv --python 3.12
source .venv/bin/activate
uv sync3. Set up environment variables:
.env
# set MCP_PORT in .env (default: 3000)4. Run the server:
./server.pyThe server starts on http://127.0.0.1:3000 (SSE transport).
Environment Variables
Variable | Description | Default |
| Port the server listens on |
|
Testing the Tools
With the FastMCP test client:
import asyncio
from fastmcp import Client
async def main():
async with Client("http://127.0.0.1:3000/sse") as client:
tools = await client.list_tools()
print("Tools:", [t.name for t in tools])
result = await client.call_tool("add", {"a": 5, "b": 3})
print("add(5,3):", result.content[0].text)
result = await client.call_tool("get_current_time", {})
print("time:", result.content[0].text)
result = await client.call_tool("get_current_weather", {"city": "Addis Ababa"})
print("weather:", result.content[0].text)
asyncio.run(main())uv run test_server.pyWith MCP Inspector (visual UI):
npx @modelcontextprotocol/inspector http://127.0.0.1:3000/sseConnecting to Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"my-mcp-server": {
"url": "http://127.0.0.1:3000/sse"
}
}
}The server must be running before you open Claude Desktop.
Project Structure
mcp/
├── server.py
├── test_server.py
├── assets/
│ └── weather_demo.png
├── .env
├── .gitignore
└── pyproject.tomlLicense
For personal use.
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server for weather information by @kulybaba
An MCP server for weather information by @kulybaba
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA basic educational MCP server that provides simple tools for mathematical calculations, text manipulation, and time retrieval. Designed for learning MCP implementation patterns and development purposes.-
- FlicenseCqualityDmaintenanceA demo MCP server with tools for getting weather via wttr.in and executing read-only SQLite queries.10-
- FlicenseBqualityDmaintenanceA simple MCP server that provides tools for adding numbers, creating text files, and logging entries.31-
- FlicenseNot gradedqualityDmaintenanceA minimal MCP server demo with tools for ping, addition, and fetching current UTC time.-