README.md•2.63 kB
# Test Remort Server
This small project demonstrates a simple MCP server built with `FastMCP`.
You are using the `uv` package manager, so the instructions below show how to install dependencies and run the server with `uv`.
## At a glance
- Main code file: `main.py`
- Lock file (pinned dependencies): `uv.lock`
- Package manager: `uv` (Astral's uv)
## Requirements
- Python >= 3.12 (see `pyproject.toml`)
- `uv` installed on your system — `uv` is a lightweight modern Python environment & package manager. Installation: https://docs.astral.sh/uv/getting-started/installation/
Note: If `uv` is not installed, follow the link above. `uv` typically manages both the virtual environment and package installation for the project.
## Install dependencies (using uv)
Run this from the project root (where `uv.lock` and `pyproject.toml` live):
```bash
uv sync
```
`uv sync` will read `uv.lock` and install the pinned dependency versions into the environment `uv` manages.
If you prefer not to use `uv`, you can create a normal Python virtual environment and use `pip` to install packages manually — however, using `uv.lock` via `uv` is recommended for reproducible installs.
## Run the server
From the project root you can run the server inside uv's environment like this:
```bash
uv run python main.py
```
This runs the project's `main.py` using the Python environment managed by `uv`.
By default `main.py` binds the server to:
- Host: `127.0.0.1`
- Port: `5000`
Open your browser or curl to:
```
http://127.0.0.1:5000
```
Check the terminal output from `uv run python main.py` for available routes or log messages.
## Useful uv commands (reference)
- `uv sync` — Install/sync dependencies from `uv.lock`
- `uv run <command>` — Run a command inside uv's managed environment (e.g. `uv run pytest`)
- `uv pip install <pkg>` — Run pip inside uv's environment to install a package (e.g. `uv pip install fastmcp`)
## Troubleshooting
- If `uv` is not found (command not found), make sure you've installed it and that it's on your PATH. Installation guide: https://docs.astral.sh/uv/getting-started/installation/
- If `uv sync` fails, check the terminal output; common causes are network / SSL issues or missing system build tools (e.g. `build-essential`, `python3-dev`, `libssl-dev` on Linux).
## Next steps (optional)
- If you'd like, I can expose a small ASGI `app` in `main.py` so you can also run the project via uvicorn, for example:
```bash
uv run uvicorn main:app --host 127.0.0.1 --port 5000
```
Tell me if you want that change and I will update `main.py` and add a couple of example curl requests.