Skip to main content
Glama
c41m4n

farmos-mcp

by c41m4n

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FARMOS_URLYesBase URL of the farmOS instance, e.g. https://farm.example.com
FARMOS_SCOPENoOAuth scope (farm_manager, farm_worker, farm_viewer, ...)farm_manager
FARMOS_TIMEOUTNoRequest timeout, seconds30
FARMOS_PASSWORDNofarmOS password for the password grant (if set, it takes precedence over the client credentials grant)
FARMOS_USERNAMENofarmOS username for the password grant
FARMOS_CLIENT_IDNoOAuth client idfarm
FARMOS_TOKEN_PATHNoToken endpoint path/oauth/token
FARMOS_ALLOW_DELETENoEnable delete_record (also needs writes)false
FARMOS_ALLOW_WRITESNoEnable create/update/archive/status toolsfalse
FARMOS_INSECURE_TLSNoSkip TLS verification (not recommended)false
FARMOS_CLIENT_SECRETNoOAuth client secret (client credentials grant)
FARMOS_ALLOW_INSECURE_HTTPNoAllow http:// to a non-local hostfalse

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
farm_infoA

Show the farmOS server name, version, the authenticated user, which resource types exist, and whether this MCP server currently allows writes and deletes. Call this first when unsure what the instance supports.

list_resource_typesA

List entity types and their bundles (e.g. asset: land, plant, animal; log: activity, harvest, ...). Which bundles exist depends on the farmOS modules that are enabled.

query_recordsA

Query one bundle of records with filtering, sorting and paging. This is the general read tool; search_assets, list_logs and list_plans cover the common cases.

get_recordB

Fetch a single record by UUID.

search_assetsA

Find assets across bundles (land, plants, animals, equipment, structures, ...) by name, optionally restricted to active or archived assets.

list_logsA

List logs across bundles, newest first by default, filtered by status, asset, text or date range.

list_plansA

List plans (e.g. crop or grazing plans). Plan types only exist when the matching farmOS modules are installed.

list_termsA

List taxonomy terms in one vocabulary. Use the returned UUIDs when linking logs and assets to categories, units, seasons and plant types.

create_recordA

Create any record. Prefer create_log for logs with quantities. Requires writes to be enabled. Names are not unique in farmOS, so search first to avoid duplicates.

update_recordA

Update fields on an existing record (PATCH). Only the fields you pass change. Requires writes to be enabled.

delete_recordA

Permanently delete a record. This cannot be undone and may leave other records with dangling references. For assets and plans, set_archived is almost always what is wanted. Requires FARMOS_ALLOW_DELETE=true; confirm with the user first.

set_archivedA

Archive or restore an asset or plan. In farmOS 4 this sets the 'archived' boolean (assets no longer have a status). On farmOS 3 it falls back to the status field. Requires writes to be enabled.

set_log_statusA

Mark a log pending, done, or abandoned (never going to happen, kept for history). Requires writes to be enabled.

create_logA

Create a log, optionally with locations, categories and quantities. Quantities are created first and then linked; if the log fails to save, the new quantities are removed again. Requires writes to be enabled.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 14 tools

Disambiguation5/5

The tools are highly differentiated by their scope and action. General record operations are distinct from specific asset, log, and plan operations, making selection intuitive.

Naming Consistency4/5

The majority of tools follow the 'verb_noun' convention (e.g., list_logs, create_record). While there are variations like 'set_archived', these follow a predictable pattern for state modification.

Tool Count5/5

With 14 tools, the set is perfectly scoped. It covers the entire lifecycle and metadata needs of a complex system without being overly granular or sparse.

Completeness4/5

The set provides solid CRUD and state management coverage for its core entities (records, logs, assets). While highly complete, advanced relational query logic might require chaining multiple tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues