Skip to main content
Glama

India Agriculture MCP Server

A Python MCP server for Indian agriculture workflows, built with FastMCP for Claude Desktop and other MCP-compatible clients.

Overview

This project exposes practical agriculture tools through the Model Context Protocol (MCP), so an AI client can call real functions instead of relying only on built-in knowledge.

The current server is focused on three common agriculture workflows:

  • Farming weather lookup for Indian locations

  • Crop advisory for common crops

  • Mandi price reference lookup by crop and state

It is designed for local use with Claude Desktop through the stdio transport pattern supported by FastMCP.

Related MCP server: Maharashtra Transport MCP Server

Current tools

The server currently exposes these three MCP tools:

1. weather_for_farming(location: str)

Returns current weather conditions for a location and adds basic farming suitability guidance.

Example input

  • Nagpur

  • Pune,IN

  • Delhi

What it includes

  • Weather condition

  • Temperature

  • Feels-like temperature

  • Humidity

  • Wind speed

  • Rain status if available

  • Simple farming suitability notes

2. crop_advisory(crop: str, state: str = "")

Returns reference agronomy guidance for a crop.

Example input

  • crop="soybean", state="Maharashtra"

  • crop="cotton", state="Gujarat"

  • crop="wheat", state="Punjab"

What it includes

  • Season

  • Soil type

  • Water requirement

  • Fertilizer guidance

  • Common pests or diseases

  • Practical cultivation tips

3. mandi_prices(crop: str, state: str)

Returns reference mandi price information for a crop in a specific Indian state.

Example input

  • crop="soybean", state="Maharashtra"

  • crop="cotton", state="Maharashtra"

What it includes

  • Minimum price

  • Maximum price

  • Modal price

  • Example market names

Current behavior and limitations

This server currently mixes live and reference-style outputs.

  • Weather is a live current-weather snapshot.

  • Crop advisory is reference agronomy guidance, not a field-specific expert bulletin.

  • Mandi prices should be treated as reference market information unless explicitly connected to a verified live official source.

That means the project is useful for AI-assisted agriculture workflows, demos, and portfolio use, but important farm decisions should still be verified with local agronomy experts, soil tests, and official market data.

Tech stack

Layer

Technology

Purpose

Language

Python

Core implementation

MCP framework

FastMCP

Tool registration and MCP server runtime

Transport

stdio

Local MCP communication

HTTP client

httpx

External API requests

Configuration

python-dotenv

Load environment variables from .env

Client

Claude Desktop

Local MCP client integration

Project structure

mcp-india-server/
├── .env.example
├── .gitignore
├── README.md
├── requirements.txt
├── run_server.py
├── src/
│   ├── __init__.py
│   ├── server.py
│   └── tools/
│       ├── __init__.py
│       ├── crops.py
│       └── weather.py

Setup

1. Clone the repository

git clone https://github.com/Parikshit2005/-mcp-india-server.git
cd mcp-india-server

If your local folder name is different, use that folder name instead.

2. Create a virtual environment

python -m venv venv

3. Activate the virtual environment

Windows CMD

venv\Scripts\activate

If your project is on another drive, open CMD and run:

cd /d F:\mcp-india-server
venv\Scripts\activate

4. Install dependencies

pip install -r requirements.txt

5. Create the environment file

copy .env.example .env

Then add the required API keys and configuration values to .env.

6. Run the server

python run_server.py

Claude Desktop integration

Claude Desktop can connect to local MCP servers by launching them as subprocesses. FastMCP supports this pattern over stdio, which makes it a good fit for local tool usage.

Add an entry like this to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "india-mcp-server": {
      "command": "F:\\mcp-india-server\\venv\\Scripts\\python.exe",
      "args": ["F:\\mcp-india-server\\run_server.py"]
    }
  }
}

After saving the config:

  1. Fully close Claude Desktop.

  2. Reopen it.

  3. Test prompts that should trigger the server tools.

Example prompts

Try prompts like these inside Claude Desktop:

  • Give crop advisory for soybean in Maharashtra.

  • Show mandi price for soybean in Maharashtra.

  • Give farming weather for Nagpur,IN.

  • What is the weather in Pune for farming today?

  • Give crop advisory for cotton in Gujarat.

Implementation notes

The server is built with FastMCP and registers tools using the @mcp.tool() decorator. The current server code exposes:

  • weather_for_farming

  • crop_advisory

  • mandi_prices

The server runs locally with:

mcp.run(transport="stdio")

This keeps the setup simple for local MCP client use.

Security

  • Store secrets in .env, not in source files.

  • Keep .env out of version control.

  • Commit only .env.example with placeholder values.

  • Review logs and debug output before sharing screenshots or demos.

Roadmap

Planned improvements:

  • Add weather freshness display using API timestamp fields

  • Improve mandi pricing with clearer official-source support

  • Expand crop coverage and regional advisory detail

  • Add tests for tool handlers and edge cases

  • Add screenshots or demo recordings from Claude Desktop

  • Add hosted deployment instructions for remote MCP usage

Use cases

This project is a good fit for:

  • MCP learning and experimentation

  • Claude Desktop custom tool integration

  • Agriculture-focused assistant workflows

  • Student and portfolio projects around AI tooling

  • Rapid prototyping of India-specific utility assistants

Two tiny things to verify before using it:

If your repo folder is literally -mcp-india-server, keep that exact name in the clone and cd commands; otherwise use mcp-india-server.

If run_server.py actually imports src.server:mcp, your current wording is still fine, but the file path in Claude Desktop must exactly match your machine path.

License

Add a license before public release so reuse terms are clear.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Parikshit2005/mcp-india-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server