README.md•2.35 kB
# 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.
1. **Create the virtual environment:**
```bash
uv venv
```
2. **Activate the virtual environment:**
```bash
source .venv/bin/activate
```
3. **Install the dependencies:**
```bash
uv pip sync pyproject.toml
```
## Usage (with uv)
Make sure your virtual environment is activated before running these commands.
1. **Run the MCP server:**
```bash
uv run python server.py
```
The server will start on `localhost:8000`.
## Usage for gemini
1. **Configue Gemini CLI**
Add the following configuration on **~/.gemini/settings.json**
```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 _"~"_
2. Th server does not need to be running simply run Gemini CLI:
```bash
gemini
```
From 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/off
```
In 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.