Plottr integration
Plottr is a GPS planting tracker and land mapper for gardens, orchards, homesteads and forest plots. Read a property's pins (one per plant), zones, garden plots, plant catalog, events, tasks, soil samples and soil tests, equipment, inventory, harvests, spray and fertilizer applications and in-field sensors; create pins, zones, plants, events, tasks, soil samples, equipment, inventory items, harvests and applications; update or delete pins one by one or in bulk; register sensors and push their readings; and subscribe a URL to Plottr webhook events. Equipment, inventory, harvests, applications, sensors, task creation and webhooks need the Business plan, and webhook routes need the owner role. The webhook signing secret is not returned (rotate it in the Plottr web app to see it). Authentication is a personal API token minted in Plottr under Account, Developer, sent as a Bearer token; each token carries scopes (for example pins:read, events:write, read:all) and a per-token rate limit, 60 requests per minute by default.
Say what should happen.
The workflow builds itself.
What you can do with Plottr
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Pin, 5 operations
bulk_edit_pinsBulk edit pinsPOSTAgents: ask firstUpdates or permanently deletes up to 500 pins of a property in one call (action update or delete). Returns per-id results (applied, deleted, not_found); an update with an unknown plant_id or zone_id is refused whole.create_pinCreate pinPOSTAgents: ask firstDrops a pin (one plant at a GPS point) on a property. lat and lng are required; plant_id ties it to a plant catalog entry and zone_id to a zone.delete_pinDelete pinDELETEAgents: ask firstPermanently deletes one pin from a property. Plottr answers with no content.list_pinsList pinsGETAgents: ask firstLists every pin on a property (one pin per mapped plant): GPS position, status (alive, dead, removed, dormant, unknown), plant name and species, zone, planting date, notes, photo and the weather snapshot taken at planting.update_pinUpdate pinPUTAgents: ask firstUpdates a pin. Partial: send only the fields to change; leave the others out to keep them.
Webhook, 4 operations
create_webhookCreate webhookPOSTAgents: ask firstSubscribes a URL to Plottr events on a property (owner role, paid plan); Plottr then POSTs a signed delivery for each event. The signing secret is withheld here: rotate it in the Plottr web app to obtain one.delete_webhookDelete webhookDELETEAgents: ask firstUnsubscribes and deletes a webhook endpoint with its delivery log (owner role). Plottr answers with no content.list_webhooksList webhooksGETAgents: ask firstLists a property's webhook endpoints (url, event types, format, active, failure counts; never the signing secret) plus the event_types and formats you can subscribe with. Needs the webhooks:read scope.update_webhookUpdate webhookPUTAgents: ask firstUpdates a webhook endpoint (owner role, paid plan). Partial: send only the fields to change (url, description, event_types, format, active); leave the others out to keep them. The signing secret is not changed here.
Application, 2 operations
create_applicationCreate applicationPOSTAgents: ask firstLogs a spray, amendment or fertilizer application on a property (Business plan; needs product). It also marks the property's harvest tasks inside the phi_hours window as blocked and returns how many in _phi_tasks_blocked.list_applicationsList applicationsGETAgents: ask firstLists the spray, amendment and fertilizer applications logged on a property: product, type, when it was applied, rate and units, re-entry (rei_hours) and pre-harvest (phi_hours) intervals, and the zone, pin or plot treated.
Equipment, 2 operations
create_equipmentCreate equipmentPOSTAgents: ask firstAdds a piece of equipment (a durable asset such as a tractor or sprayer) to a property's equipment list (Business plan). Only name is required.list_equipmentList equipmentGETAgents: ask firstLists equipment on a property (Business plan): name, category, make, model, serial number, status, hours used, purchase and warranty dates, and maintenance counts. Filter with category, status or q; include_archived=1 adds archived rows.
Event, 2 operations
create_eventCreate eventPOSTAgents: ask firstLogs an event (something that happened, such as a watering) on a property, optionally tied to a pin, zone, plot or plot planting. Only event_type is required.list_eventsList eventsGETAgents: ask firstLists events logged on a property (watering, observations and the like), newest first. Pass at most one of pin_id, zone_id, plot_id or plot_plant_id; with no filter only the 100 most recent come back, a filtered list has no cap.
Harvest, 2 operations
create_harvestCreate harvestPOSTAgents: ask firstRecords one harvest pick on a property (Business plan) with weight or count, grade, lot code and destination. Every field is optional per Plottr; send at least what was picked. A lot code is generated when lot_code is left out.list_harvestsList harvestsGETAgents: ask firstLists the lot-tracked harvest log of a property (Business plan): weight or count, grade, lot code, destination, market value and who picked it. Filter by zone, pin, plot, planting, plant, exact lot_code, or a from/to time range.
Inventory item, 2 operations
create_inventory_itemCreate inventory itemPOSTAgents: ask firstAdds an item on hand (seed, amendment, fertilizer, spray, supply) to a property's inventory (Business plan). Only name is required; quantity units are free text (lb, kg, gal, packets).list_inventory_itemsList inventory itemsGETAgents: ask firstLists inventory on hand on a property (Business plan): seeds, amendments, fertilizers, sprays and supplies with quantity, lot, supplier, cost and expiry. Filter with category or q; expiring_soon=1 lists items expiring within within_days.
Plant, 2 operations
create_plantCreate plantPOSTAgents: ask firstAdds a plant catalog entry (a kind of plant, such as an apple variety) to a property. Only name is required.list_plantsList plantsGETAgents: ask firstLists the plant catalog of a property (the kinds of plant you grow): name, variety, category, species slug and notes. Pins and harvests point to these by plant_id.
Property, 2 operations
get_propertyGet propertyGETAgents: ask firstReturns one property by id: name, your role on it (viewer, editor or owner), owner user id, organization and creation date.list_propertiesList propertiesGETAgents: ask firstLists the properties (pieces of land) the token can access: id, name, your role (viewer, editor or owner), owner user id, organization and creation date. Every other tool takes one of these property ids.
Sensor, 2 operations
create_sensorCreate sensorPOSTAgents: ask firstRegisters an in-field sensor on a property (Business plan). name and external_id are required; external_id is the id your gateway will send readings under (a serial or topic it already knows).list_sensorsList sensorsGETAgents: ask firstLists the in-field sensors of a property (Business plan): name, kind, external_id, unit, the zone, pin or plot it is bound to, and its latest reading value and time.
Sensor reading, 2 operations
ingest_sensor_readingIngest sensor readingPOSTAgents: ask firstPushes one sensor reading, found by its external_id across the properties the token can edit. Add property_id when two properties share that external_id. Out-of-range values for the sensor kind are refused.ingest_sensor_readingsIngest sensor readingsPOSTAgents: ask firstPushes up to 500 sensor readings for a property in one call. Each reading names its sensor by external_id (see list_sensors). Returns accepted and rejected counts with a per-row result.
Soil sample, 2 operations
create_soil_sampleCreate soil samplePOSTAgents: ask firstLogs a soil sample taken at a GPS point on a property. lat and lng are required; the zone is filled from the property's zone shapes when zone_id is left out.list_soil_samplesList soil samplesGETAgents: ask firstLists the soil samples logged on a property: GPS position, depth in inches, label, when taken, zone and the soil test it was sent for. pending=true lists only samples not yet tied to a soil test.
Task, 2 operations
create_taskCreate taskPOSTAgents: ask firstCreates a task (work order) on a property (Business plan). Only title is required; it can carry a due date, priority, kind, assignee and the zone, pin or plot concerned.list_tasksList tasksGETAgents: ask firstLists tasks (work orders) on a property: title, kind, status, priority, due date, assignee, the zone, pin or plot concerned, and any spray-interval block. Filter by status, assigned_to_me or overdue.
Zone, 2 operations
create_zoneCreate zonePOSTAgents: ask firstCreates a zone (a named area drawn as a GeoJSON polygon) on a property. name and geometry are required.list_zonesList zonesGETAgents: ask firstLists the zones of a property (named areas such as an orchard or a bed) with their GeoJSON polygon, color, zone type and notes.
Plot, 1 operation
list_plotsList plotsGETAgents: ask firstLists the garden plots (raised beds and similar) of a property: name, width and height with their unit, position and how many plants each holds.
Soil test, 1 operation
list_soil_testsList soil testsGETAgents: ask firstLists the soil chemistry tests of a property: pH, organic matter percent, nitrogen, phosphorus and potassium values with their units (ppm or lb per acre), sampling date and zone. Filter by zone, pin or plot.
User, 1 operation
get_current_userGet current userGETAgents: ask firstReturns the Plottr user the API token belongs to (id, name and email: personal data), the scopes the token carries, and every property it can reach with your role and pin and zone counts. Use it to find property ids.
Webhook delivery, 1 operation
list_webhook_deliveriesList webhook deliveriesGETAgents: ask firstLists recent delivery attempts of one webhook endpoint, newest first: event type, status (pending, succeeded, exhausted), attempt count, last response code and error. limit defaults to 50, at most 200.
Use Plottr from Claude Code, Cursor or Codex
Connect Plottr in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Plottr operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Plottr
- Create your workspace
Sign up free. Nothing to install.
- Connect Plottr once
Add your Plottr connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Plottr integration FAQ
What can you do with the Plottr integration?
LiveContext exposes 37 operations on Plottr, covering pin, webhook, application and equipment.
