Farm OS MCP Server
A Model Context Protocol (MCP) server for Farm OS using FastMCP, built with Python and managed with uv.
Features
This MCP server provides tools for managing farm data including:
Farm information and summaries
Field management and crop tracking
Livestock monitoring
Equipment tracking
Sensor readings
All data is currently static for testing purposes.
Setup
Prerequisites
Python 3.10 or higher
uvpackage manager (install from https://docs.astral.sh/uv/)
Installation
Install
uv(if not already installed):Windows (PowerShell):
irm https://astral.sh/uv/install.ps1 | iexmacOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shSync dependencies:
uv syncInstall the project:
uv pip install -e .
Usage
Run the MCP Server
Test the Tools
Run the test script to see all available tools in action:
Available Tools
get_farm_info(farm_id)- Get detailed information about a specific farmlist_all_farms()- List all available farmsget_field_info(field_id)- Get information about a specific fieldlist_fields_by_farm(farm_id)- List all fields for a farmget_livestock_info(livestock_id)- Get information about livestocklist_livestock_by_farm(farm_id)- List all livestock for a farmget_equipment_info(equipment_id)- Get information about equipmentlist_equipment_by_farm(farm_id)- List all equipment for a farmget_sensor_readings(field_id)- Get sensor readings for a fieldsearch_by_crop_type(crop_type)- Search fields by crop typeget_farm_summary(farm_id)- Get comprehensive farm summary with statistics
Project Structure
Static Test Data
The project includes static test data for:
3 farms
4 fields
3 livestock groups
3 equipment items
3 sensor devices
All data is defined in static_data.py and can be modified for testing purposes.