Skip to main content
In addition to tools (which the AI calls in response to prompts), the Bhumi MCP server exposes two resources — read-only data objects that an AI assistant can read and include in its context at any time.

Tools vs resources

ToolsResources
Triggered byAI decision in response to a promptAI or client at any point
ParametersAccept input argumentsIdentified by a URI
Use caseQueries, searches, analysisBackground context, reference data
ExecutionOn-demandOn-demand or pre-loaded
Tools are best for answering specific questions (“find farms near Portland”). Resources are best for providing background context the AI can reason about without a specific prompt — like platform-wide statistics or a specific farm’s full profile. When a client connects to the Bhumi MCP server, it can read these resources and include them in the model’s context window alongside your conversation.

Available resources

bhumi://stats

Live platform statistics for the entire Bhumi network. Returns the same data as get_stats and the REST GET /v1/stats endpoint, but accessible as a resource rather than a tool call. An AI assistant can use this resource to answer questions about Bhumi’s coverage without needing to invoke a tool — for example, to provide context about how many farms are in the database before answering a search query. Resource URI
bhumi://stats
Contents
total_farms
number
Total number of farms in the Bhumi database.
states_covered
number
Number of US states with at least one listed farm.
delivery_enabled_farms
number
Number of farms that offer delivery.
place_types
object
Breakdown of farm count by place type (farm, market, CSA, etc.).
top_products
object[]
Top 10 products by farm count, each with name and farm_count.
Example response
{
  "total_farms": 13689,
  "states_covered": 50,
  "delivery_enabled_farms": 2401,
  "place_types": {
    "farm": 11204,
    "market": 1342,
    "csa": 891,
    "other": 252
  },
  "top_products": [
    { "name": "pastured eggs", "farm_count": 4231 },
    { "name": "vegetables", "farm_count": 3847 },
    { "name": "honey", "farm_count": 2912 }
  ]
}

bhumi://farm/{id}

Full farm profile for a specific farm, identified by UUID. This is a resource template — replace {id} with the farm’s UUID to access its profile. An AI assistant can use this resource to load a farm’s complete profile into context at the start of a conversation — for example, if a farmer is using an AI assistant integrated with their own Bhumi account. The profile is then available throughout the session without repeated tool calls. Resource URI template
bhumi://farm/{id}
Replace {id} with the farm’s UUID, e.g. bhumi://farm/abc-123-def-456. Contents The resource returns the same complete farm object as get_farm, including:
id
string
Farm UUID.
name
string
Farm name.
city
string
City.
state
string
US state abbreviation.
products
string[]
List of product names the farm carries.
certifications
string[]
List of certifications held by the farm.
practices
string[]
List of farming practices used.
google_rating
number
Google rating, if available.
hours_json
object
Raw operating hours data.
product_listings
object[]

How an AI assistant uses resources

When you start a conversation with an AI client that supports MCP resources, the client can proactively read available resources and include their contents in the model context. The AI then has that data available throughout the session. For example, if a farmer’s AI assistant loads bhumi://farm/{their-farm-id} at session start, the AI already knows the farm’s full product list, hours, and certifications — and can answer questions about them immediately without making additional tool calls.
Resources are most useful for AI clients that support proactive resource reading. Check your client’s MCP documentation to see whether it loads resources automatically or requires explicit resource reads.