Python MCP Server
This is a simple demonstration of a fastmcp
server and client.
Setup and Installation (with uv)
This project uses uv
for environment and dependency management.
Create the virtual environment:
uv venvActivate the virtual environment:
source .venv/bin/activateInstall the dependencies:
uv pip sync pyproject.toml
Usage (with uv)
Make sure your virtual environment is activated before running these commands.
Run the MCP server:
uv run python server.pyThe server will start on
localhost:8000
.
Usage for gemini
Configue Gemini CLI Add the following configuration on ~/.gemini/settings.json
{ "security": { "auth": { "selectedType": "oauth-personal" } }, "mcpServers": { "serverName": { "command": "/home/<USER>/.local/bin/uv", "args": [ "--directory", "/home/<USER>/code/python-mcp-server", "run", "server.py" ] } } }And yes, the home directory can't be summarized to just "~"
Th server does not need to be running simply run Gemini CLI:
geminiFrom there, you will be able to know if the MCP has been adopted by running the command /mcp list. You should see the tools listed there, similar to this:
ℹConfigured MCP servers: 🟢 serverName - Ready (2 tools) Tools: - addNumbers - greet 💡 Tips: • Use /mcp desc to show server and tool descriptions • Use /mcp schema to show tool parameter schemas • Use /mcp nodesc to hide descriptions • Use /mcp auth <server-name> to authenticate with OAuth-enabled servers • Press Ctrl+T to toggle tool descriptions on/offIn this example you will be able to ask Gemini to greet you or add numbers, as long as you provide enough context to fill in the arguments. If you do not provide arguments, Gemini will ask for more information.
Once all the arguments are provided, Gemini will ask for confirmation before the MCP is hit, and only then will it execute the logic.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
A demonstration MCP server built with fastmcp that provides basic utility tools including number addition and greeting functionality. Integrates with Gemini CLI to enable natural language interaction with simple mathematical and greeting operations.