MCP Project Setup
A starter project with setup instructions and example MCP servers, including a weather server.
MCP Project Setup
This document outlines the steps to set up the mcp
project environment.
1. Create Conda Environment
Create a new conda environment named mcp
with Python 3.12:
conda create -n mcp python=3.12 -y
2. Install uv
Install the uv
package manager using the following command:
curl -LsSf https://astral.sh/uv/install.sh | sh
3. Install fastmcp
Install the fastmcp
package using uv
in the mcp
environment:
conda run -n mcp uv pip install fastmcp
4. Verify Installation
Confirm the fastmcp
installation by running the following command:
conda run -n mcp fastmcp version
5. Running the Hello World Server
mcp_hello.py
is a "hello world" type mcp server. You can run the MCP inspector for it using the following command:
conda run -n mcp fastmcp dev mcp_hello.py:mcp
6. Connecting with Proxy Session Token
Copy the provided session token from CLI, click on the provided link, paste in Configuration -> Proxy Session Token, click connect.
7. Inspect hello_world tool
Click on Tools in the top menu bar. "hello_world" should be listed with a parameter "name". Input your name and click "Run Tool". The tool should succeed and return a greeting.
8. Running Resource Tests
mcp_resources.py
defines MCP resources. You can run tests for these resources using the --test
argument:
uv run mcp_resources.py --test
9. Weather Server
mcp_weather.py
exposes a tool to get current weather data from OpenWeatherMap.
Before running: Ensure you have set your OPENWEATHER_API_KEY
in the .env
file:
OPENWEATHER_API_KEY=YOUR_API_KEY_HERE
To run the weather server manually:
conda run -n mcp fastmcp dev mcp_weather.py:mcp
To run tests for the weather tool:
uv run mcp_weather.py --test
10. Integrating with Gemini CLI
To allow the Gemini CLI to automatically start and connect to your mcp_weather
server, you need to configure its settings.json
file.
-
Locate
settings.json
: Thesettings.json
file is typically located at:- Linux/macOS:
~/.gemini/settings.json
- Windows:
%APPDATA%\gemini\settings.json
If the file or directory does not exist, create them.
- Linux/macOS:
-
Add
mcpServers
entry: Add the following entry to themcpServers
section in yoursettings.json
file. Replace/mnt/d/Projects/_sandbox/mcp/
with the absolute path to yourmcp
project directory.{ "mcpServers": { "weather_server": { "command": "uv", "args": [ "run", "/mnt/d/Projects/_sandbox/mcp/mcp_weather.py" ], "cwd": "/mnt/d/Projects/_sandbox/mcp", "timeout": 10000 } } }
Once configured, when you run
gemini
, the CLI will automatically start yourmcp_weather.py
server and make itsget_current_weather
tool available to the Gemini model.
References
- Gemini CLI Configuration: https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md - For information on setting up MCP with the Gemini CLI.
- FastMCP: https://github.com/jlowin/fastmcp - The FastMCP library used for building MCP servers.
Related Servers
Stata-MCP
Perform regression analysis using Stata with the help of an LLM. Requires a local Stata installation and an external LLM API key.
ServeMyAPI
A personal server for securely storing and accessing API keys using the macOS Keychain.
Crypto_MCP
A server for cryptographic operations like encryption, decryption, and hashing.
Wazuh MCP Server
Integrates Wazuh security data with local LLM clients.
MCP WordPress Post Server
Manage WordPress posts and upload images directly from file paths.
MLflow MCP Server
Integrates with MLflow, enabling AI assistants to interact with experiments, runs, and registered models.
MCP Expr Lang
MCP Expr-Lang provides a seamless integration between Claude AI and the powerful expr-lang expression evaluation engine.
sep-mpc-server
A server for processing semantic embeddings, requiring external data files mounted via a Docker volume.
Cloudflare Remote MCP Server
A remote MCP server example deployable on Cloudflare Workers without authentication.
Tripo MCP Server
Generate 3D models with Tripo AI. Requires the external Tripo AI Blender Addon.