iCrop MCP Server
by Jambathor
README.md
# iCrop MCP Server
Connect your iCrop account to Claude Desktop. Ask questions about your farms, crops, and fields - Claude will fetch the data automatically.
## Setup
### Step 1: Get Docker
Download and install [Docker Desktop](https://www.docker.com/products/docker-desktop). Make sure it's running.
### Step 2: Build the Docker Image
```bash
# In the project folder, build the image
docker build -t icrop-mcp-server:latest .
```
### Step 3: Configure Claude Desktop
Find your Claude Desktop config file:
- **Mac**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
Add this to the file (replace with your iCrop credentials):
```json
{
"mcpServers": {
"icrop-mcp-server": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--env", "ICROP_USERNAME=your_email@example.com",
"--env", "ICROP_PASSWORD=your_password",
"--env", "TRANSPORT=stdio",
"icrop-mcp-server:latest"
]
}
}
}
```
### Step 4: Restart Claude Desktop
Quit and restart Claude Desktop. You should see the MCP icon in your chats.
## Available Tools
The server provides 9 tools:
**Farm Management:**
- `icrop_list_farms` - List farms with filtering options (year, hidden fields, etc.)
- `icrop_list_all_farms` - Get all farms without filters
**Crop Management:**
- `icrop_list_crops` - Get all available crop types
- `icrop_get_crop_details` - Get detailed crop information including varieties
- `icrop_get_crop_varieties` - Get varieties for a specific crop
**Field Management:**
- `icrop_list_crop_fields` - List all crop fields
**Data Lists:**
- `icrop_get_soil_types` - Get available soil types
- `icrop_get_cultivation_types` - Get cultivation methods (soil, hydroponic, etc.)
- `icrop_get_coverage` - Get coverage options (open, covered)
## Usage Examples
Ask Claude:
- "Show me all my farms for 2025"
- "What crops are available?"
- "List potato varieties"
- "Show my crop fields"
- "What soil types can I use?"
## Project Structure
```
src/
├── icrop_mcp_server.py # Main MCP server
└── schemas.py # Data validation
```This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues