FieldClimate MCP by usefulapi
Read weather station data, sensors, farms, fields and crop zones in FieldClimate.
Should I use this
Quality & Safety
Findings (5)
- LOWin fieldclimate_list_sensor_catalog
- LOWin fieldclimate_list_station_sensors
- LOWin fieldclimate_get_station_data_range
- LOWin fieldclimate_get_last_station_data
- LOWin fieldclimate_get_station_data_period
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"fieldclimate": {
"url": "https://fieldclimate.usefulapi.io/mcp"
}
}
}Remote endpoints
https://fieldclimate.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (16)
🟢fieldclimate_get_user
The FieldClimate account of the API key: username, company, address and settings. GET /user.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_sensor_catalog
The FieldClimate sensor catalogue: sensor codes, names and units, for reading station sensor data. GET /system/sensors.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_crops
The crops known to FieldClimate, for crop zones. GET /system/crops.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_stations
All weather stations and devices linked to the account, with names, positions and rights. GET /user/stations.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_get_station(stationId)
One station: name, position, rights, configuration and dates. GET /station/{stationId}.
Input Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_.-]{0,63}$",
"description": "Device (station) ID from fieldclimate_list_stations, for example an 8-character device ID."
}
},
"required": [
"stationId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_station_sensors(stationId)
The sensors of one station, with names, units and calibration. GET /station/{stationId}/sensors.
Input Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_.-]{0,63}$",
"description": "Device (station) ID from fieldclimate_list_stations, for example an 8-character device ID."
}
},
"required": [
"stationId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_get_station_data_range(stationId)
The first and last dates with data for one station. Use it before a data read to see if new data arrived. GET /data/{stationId}.
Input Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_.-]{0,63}$",
"description": "Device (station) ID from fieldclimate_list_stations, for example an 8-character device ID."
}
},
"required": [
"stationId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_get_last_station_data(stationId, dataGroup, timePeriod)
Station measurements for the last period (for example 24h or 7d) in one data group. GET /data/{stationId}/{dataGroup}/last/{timePeriod}.
Input Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_.-]{0,63}$",
"description": "Device (station) ID from fieldclimate_list_stations, for example an 8-character device ID."
},
"dataGroup": {
"type": "string",
"enum": [
"raw",
"hourly",
"daily",
"monthly"
],
"description": "Data group: raw, hourly, daily or monthly."
},
"timePeriod": {
"type": "string",
"pattern": "^[1-9][0-9]{0,3}[hdwm]?$",
"description": "How far back to read from now: for example 24h, 7d, 2w or 3m."
}
},
"required": [
"stationId",
"dataGroup",
"timePeriod"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_get_station_data_period(stationId, dataGroup, from, to)
Station measurements between two unix timestamps (seconds) in one data group. The vendor tier limits the history. GET /data/{stationId}/{dataGroup}/from/{from}/to/{to}.
Input Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_.-]{0,63}$",
"description": "Device (station) ID from fieldclimate_list_stations, for example an 8-character device ID."
},
"dataGroup": {
"type": "string",
"enum": [
"raw",
"hourly",
"daily",
"monthly"
],
"description": "Data group: raw, hourly, daily or monthly."
},
"from": {
"type": "integer",
"minimum": 0,
"maximum": 4102444800,
"description": "Start of the period: unix timestamp in seconds (UTC)."
},
"to": {
"type": "integer",
"minimum": 0,
"maximum": 4102444800,
"description": "End of the period: unix timestamp in seconds (UTC)."
}
},
"required": [
"stationId",
"dataGroup",
"from",
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_farms
All farms of the account. GET /farms.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_get_farm(farmID)
One farm of the account. GET /farms/{farmID}.
Input Schema
{
"type": "object",
"properties": {
"farmID": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Farm ID (24 hex characters) from fieldclimate_list_farms."
}
},
"required": [
"farmID"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_farm_fields(farmID)
The fields of one farm. GET /farms/{farmID}/fields.
Input Schema
{
"type": "object",
"properties": {
"farmID": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Farm ID (24 hex characters) from fieldclimate_list_farms."
}
},
"required": [
"farmID"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_fields
All fields of the account, across farms. GET /fields.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_get_field(fieldID)
One field: name, farm and boundary data. GET /fields/{fieldID}.
Input Schema
{
"type": "object",
"properties": {
"fieldID": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Field ID (24 hex characters) from fieldclimate_list_fields or fieldclimate_list_farm_fields."
}
},
"required": [
"fieldID"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_list_crop_zones
All crop zones of the account: crops, sowing and harvest dates, and soil data. GET /crop-zones.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fieldclimate_get_crop_zone(cropzoneID)
One crop zone: crop, dates, boundary, soil and irrigation events. GET /crop-zones/{cropzoneID}.
Input Schema
{
"type": "object",
"properties": {
"cropzoneID": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Crop zone ID (24 hex characters) from fieldclimate_list_crop_zones."
}
},
"required": [
"cropzoneID"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence