@ancientwhispers54/leafengines-mcp-server 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +181 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +286 -0
- package/dist/index.js.map +1 -0
- package/package.json +49 -0
package/README.md
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# LeafEngines MCP Server
|
|
2
|
+
|
|
3
|
+
[](https://registry.modelcontextprotocol.io/servers/io.github.QWarranto/leafengines)
|
|
4
|
+
[](https://www.npmjs.com/package/@modelcontextprotocol/server-leafengines)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
Agricultural intelligence MCP server with soil analysis, crop recommendations, weather forecasts, and environmental impact assessment.
|
|
8
|
+
|
|
9
|
+
## 🌱 Features
|
|
10
|
+
|
|
11
|
+
- **Soil Analysis** - USDA soil data, satellite intelligence, environmental factors
|
|
12
|
+
- **Crop Recommendations** - Optimal crop selection based on soil and climate
|
|
13
|
+
- **Weather Forecasts** - Agricultural weather data for planning
|
|
14
|
+
- **Environmental Impact** - Carbon footprint, water usage, sustainability analysis
|
|
15
|
+
- **TurboQuant Capabilities** - FREE hardware optimization check (no API key required)
|
|
16
|
+
|
|
17
|
+
## 🚀 Quick Start
|
|
18
|
+
|
|
19
|
+
### Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Install globally
|
|
23
|
+
npm install -g @modelcontextprotocol/server-leafengines
|
|
24
|
+
|
|
25
|
+
# Or use with npx
|
|
26
|
+
npx @modelcontextprotocol/server-leafengines
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Configuration
|
|
30
|
+
|
|
31
|
+
1. **Get API Key:** [https://app.soilsidekickpro.com/api-docs](https://app.soilsidekickpro.com/api-docs)
|
|
32
|
+
2. **Set Environment Variable:**
|
|
33
|
+
```bash
|
|
34
|
+
export LEAFENGINES_API_KEY="your_api_key_here"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Usage with Claude Desktop
|
|
38
|
+
|
|
39
|
+
Add to your Claude Desktop `mcp.json`:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"leafengines": {
|
|
45
|
+
"command": "npx",
|
|
46
|
+
"args": ["-y", "@modelcontextprotocol/server-leafengines"],
|
|
47
|
+
"env": {
|
|
48
|
+
"LEAFENGINES_API_KEY": "your_api_key_here"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 🛠️ Available Tools
|
|
56
|
+
|
|
57
|
+
### 1. `turbo_quant_capabilities` (FREE)
|
|
58
|
+
Check TurboQuant optimization status and hardware compatibility.
|
|
59
|
+
|
|
60
|
+
**No API key required!**
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"check_hardware": true,
|
|
65
|
+
"get_optimization_status": true
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 2. `soil_analysis`
|
|
70
|
+
Analyze soil composition and provide agricultural recommendations.
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"latitude": 33.7490,
|
|
75
|
+
"longitude": -84.3880,
|
|
76
|
+
"soil_type": "loam"
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 3. `weather_forecast`
|
|
81
|
+
Get weather forecast for agricultural planning.
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"latitude": 33.7490,
|
|
86
|
+
"longitude": -84.3880,
|
|
87
|
+
"days": 3
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 4. `crop_recommendation`
|
|
92
|
+
Recommend optimal crops based on soil and climate conditions.
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"latitude": 33.7490,
|
|
97
|
+
"longitude": -84.3880,
|
|
98
|
+
"season": "spring"
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 5. `environmental_impact`
|
|
103
|
+
Analyze environmental impact of agricultural practices.
|
|
104
|
+
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"latitude": 33.7490,
|
|
108
|
+
"longitude": -84.3880,
|
|
109
|
+
"crop_type": "corn",
|
|
110
|
+
"farming_practice": "organic"
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 💰 Pricing
|
|
115
|
+
|
|
116
|
+
- **FREE Tier:** `turbo_quant_capabilities` tool (no API key required)
|
|
117
|
+
- **Paid Tiers:** From $0.001/call for soil analysis, weather forecasts, etc.
|
|
118
|
+
- **Monthly Plans:** Save 30-70% with Starter ($149), Pro ($499), or Enterprise ($1,999) plans.
|
|
119
|
+
|
|
120
|
+
Get API key: [https://app.soilsidekickpro.com/api-docs](https://app.soilsidekickpro.com/api-docs)
|
|
121
|
+
|
|
122
|
+
## 🔧 Development
|
|
123
|
+
|
|
124
|
+
### Build from Source
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Clone repository
|
|
128
|
+
git clone https://github.com/QWarranto/leafengines-claude-mcp.git
|
|
129
|
+
cd leafengines-claude-mcp
|
|
130
|
+
|
|
131
|
+
# Install dependencies
|
|
132
|
+
npm install
|
|
133
|
+
|
|
134
|
+
# Build
|
|
135
|
+
npm run build
|
|
136
|
+
|
|
137
|
+
# Run development server
|
|
138
|
+
npm run dev
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Testing
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Test with sample data
|
|
145
|
+
LEAFENGINES_API_KEY="your_key" npm start
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## 📚 Documentation
|
|
149
|
+
|
|
150
|
+
- **API Documentation:** [https://app.soilsidekickpro.com/api-docs](https://app.soilsidekickpro.com/api-docs)
|
|
151
|
+
- **GitHub Repository:** [https://github.com/QWarranto/leafengines-claude-mcp](https://github.com/QWarranto/leafengines-claude-mcp)
|
|
152
|
+
- **MCP Registry:** [https://registry.modelcontextprotocol.io/servers/io.github.QWarranto/leafengines](https://registry.modelcontextprotocol.io/servers/io.github.QWarranto/leafengines)
|
|
153
|
+
|
|
154
|
+
## 🆓 Try It Free!
|
|
155
|
+
|
|
156
|
+
The `turbo_quant_capabilities` tool is completely free - no API key or payment required. Perfect for testing and demonstrations!
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Test the FREE tool
|
|
160
|
+
npx @modelcontextprotocol/server-leafengines
|
|
161
|
+
# Then ask Claude: "Check TurboQuant capabilities"
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## 🤝 Contributing
|
|
165
|
+
|
|
166
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
167
|
+
|
|
168
|
+
## 📄 License
|
|
169
|
+
|
|
170
|
+
Apache 2.0 - See [LICENSE](LICENSE) for details.
|
|
171
|
+
|
|
172
|
+
## 🔗 Links
|
|
173
|
+
|
|
174
|
+
- **Website:** [https://soilsidekickpro.com](https://soilsidekickpro.com)
|
|
175
|
+
- **API Docs:** [https://app.soilsidekickpro.com/api-docs](https://app.soilsidekickpro.com/api-docs)
|
|
176
|
+
- **GitHub:** [https://github.com/QWarranto/leafengines-claude-mcp](https://github.com/QWarranto/leafengines-claude-mcp)
|
|
177
|
+
- **MCP Registry:** [https://registry.modelcontextprotocol.io/servers/io.github.QWarranto/leafengines](https://registry.modelcontextprotocol.io/servers/io.github.QWarranto/leafengines)
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
🌱 **Happy farming with AI!**
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LeafEngines MCP Server
|
|
4
|
+
*
|
|
5
|
+
* Agricultural intelligence MCP server with soil analysis, crop recommendations,
|
|
6
|
+
* weather forecasts, and environmental impact assessment.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Soil analysis and recommendations
|
|
10
|
+
* - Crop suitability scoring
|
|
11
|
+
* - Weather forecasting for agriculture
|
|
12
|
+
* - Environmental impact assessment
|
|
13
|
+
* - TurboQuant capabilities checking (FREE)
|
|
14
|
+
*
|
|
15
|
+
* API Documentation: https://app.soilsidekickpro.com/api-docs
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* LeafEngines MCP Server
|
|
5
|
+
*
|
|
6
|
+
* Agricultural intelligence MCP server with soil analysis, crop recommendations,
|
|
7
|
+
* weather forecasts, and environmental impact assessment.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Soil analysis and recommendations
|
|
11
|
+
* - Crop suitability scoring
|
|
12
|
+
* - Weather forecasting for agriculture
|
|
13
|
+
* - Environmental impact assessment
|
|
14
|
+
* - TurboQuant capabilities checking (FREE)
|
|
15
|
+
*
|
|
16
|
+
* API Documentation: https://app.soilsidekickpro.com/api-docs
|
|
17
|
+
*/
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
23
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
24
|
+
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
25
|
+
const axios_1 = __importDefault(require("axios"));
|
|
26
|
+
// MCP Server implementation
|
|
27
|
+
const server = new index_js_1.Server({
|
|
28
|
+
name: "leafengines",
|
|
29
|
+
version: "1.1.0",
|
|
30
|
+
}, {
|
|
31
|
+
capabilities: {
|
|
32
|
+
tools: {},
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
// Configuration
|
|
36
|
+
const MCP_SERVER_URL = "https://wzgnxkoeqzvueypwzvyn.supabase.co/functions/v1/mcp-server-v2";
|
|
37
|
+
// Helper function to call LeafEngines API
|
|
38
|
+
async function callLeafEnginesAPI(toolName, arguments_, apiKey) {
|
|
39
|
+
try {
|
|
40
|
+
const headers = {
|
|
41
|
+
"Content-Type": "application/json",
|
|
42
|
+
};
|
|
43
|
+
if (apiKey) {
|
|
44
|
+
headers["x-api-key"] = apiKey;
|
|
45
|
+
}
|
|
46
|
+
const response = await axios_1.default.post(MCP_SERVER_URL, {
|
|
47
|
+
jsonrpc: "2.0",
|
|
48
|
+
method: "tools/call",
|
|
49
|
+
params: {
|
|
50
|
+
name: toolName,
|
|
51
|
+
arguments: arguments_,
|
|
52
|
+
},
|
|
53
|
+
id: 1,
|
|
54
|
+
}, {
|
|
55
|
+
headers,
|
|
56
|
+
timeout: 30000,
|
|
57
|
+
});
|
|
58
|
+
return response.data;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error(`LeafEngines API call failed: ${error.message}`);
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Tool: TurboQuant Capabilities (FREE - no API key required)
|
|
66
|
+
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
67
|
+
return {
|
|
68
|
+
tools: [
|
|
69
|
+
{
|
|
70
|
+
name: "turbo_quant_capabilities",
|
|
71
|
+
description: "Check TurboQuant optimization status and hardware compatibility. FREE tool - no API key required.",
|
|
72
|
+
inputSchema: {
|
|
73
|
+
type: "object",
|
|
74
|
+
properties: {
|
|
75
|
+
check_hardware: {
|
|
76
|
+
type: "boolean",
|
|
77
|
+
description: "Check if device can run Gemma 7B with TurboQuant optimization",
|
|
78
|
+
default: true,
|
|
79
|
+
},
|
|
80
|
+
get_optimization_status: {
|
|
81
|
+
type: "boolean",
|
|
82
|
+
description: "Get current TurboQuant optimization level",
|
|
83
|
+
default: true,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: "soil_analysis",
|
|
90
|
+
description: "Analyze soil composition and provide agricultural recommendations. Uses USDA soil data, satellite intelligence, and environmental factors.",
|
|
91
|
+
inputSchema: {
|
|
92
|
+
type: "object",
|
|
93
|
+
properties: {
|
|
94
|
+
latitude: {
|
|
95
|
+
type: "number",
|
|
96
|
+
description: "Latitude coordinate (decimal degrees)",
|
|
97
|
+
},
|
|
98
|
+
longitude: {
|
|
99
|
+
type: "number",
|
|
100
|
+
description: "Longitude coordinate (decimal degrees)",
|
|
101
|
+
},
|
|
102
|
+
soil_type: {
|
|
103
|
+
type: "string",
|
|
104
|
+
description: "Optional: Known soil type classification",
|
|
105
|
+
optional: true,
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
required: ["latitude", "longitude"],
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: "weather_forecast",
|
|
113
|
+
description: "Get weather forecast for agricultural planning. Provides temperature, precipitation, humidity, wind, and growing degree days.",
|
|
114
|
+
inputSchema: {
|
|
115
|
+
type: "object",
|
|
116
|
+
properties: {
|
|
117
|
+
latitude: {
|
|
118
|
+
type: "number",
|
|
119
|
+
description: "Latitude coordinate",
|
|
120
|
+
},
|
|
121
|
+
longitude: {
|
|
122
|
+
type: "number",
|
|
123
|
+
description: "Longitude coordinate",
|
|
124
|
+
},
|
|
125
|
+
days: {
|
|
126
|
+
type: "number",
|
|
127
|
+
description: "Number of forecast days (1-7)",
|
|
128
|
+
default: 3,
|
|
129
|
+
minimum: 1,
|
|
130
|
+
maximum: 7,
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
required: ["latitude", "longitude"],
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: "crop_recommendation",
|
|
138
|
+
description: "Recommend optimal crops based on soil and climate conditions. Analyzes soil composition, climate data, and market conditions.",
|
|
139
|
+
inputSchema: {
|
|
140
|
+
type: "object",
|
|
141
|
+
properties: {
|
|
142
|
+
latitude: {
|
|
143
|
+
type: "number",
|
|
144
|
+
description: "Latitude coordinate",
|
|
145
|
+
},
|
|
146
|
+
longitude: {
|
|
147
|
+
type: "number",
|
|
148
|
+
description: "Longitude coordinate",
|
|
149
|
+
},
|
|
150
|
+
season: {
|
|
151
|
+
type: "string",
|
|
152
|
+
description: "Optional: Planting season (spring, summer, fall, winter)",
|
|
153
|
+
optional: true,
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
required: ["latitude", "longitude"],
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: "environmental_impact",
|
|
161
|
+
description: "Analyze environmental impact of agricultural practices. Calculates carbon footprint, water usage, soil health impact.",
|
|
162
|
+
inputSchema: {
|
|
163
|
+
type: "object",
|
|
164
|
+
properties: {
|
|
165
|
+
latitude: {
|
|
166
|
+
type: "number",
|
|
167
|
+
description: "Latitude coordinate",
|
|
168
|
+
},
|
|
169
|
+
longitude: {
|
|
170
|
+
type: "number",
|
|
171
|
+
description: "Longitude coordinate",
|
|
172
|
+
},
|
|
173
|
+
crop_type: {
|
|
174
|
+
type: "string",
|
|
175
|
+
description: "Optional: Type of crop being analyzed",
|
|
176
|
+
optional: true,
|
|
177
|
+
},
|
|
178
|
+
farming_practice: {
|
|
179
|
+
type: "string",
|
|
180
|
+
description: "Optional: Farming practice (conventional, organic, etc.)",
|
|
181
|
+
optional: true,
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
required: ["latitude", "longitude"],
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
};
|
|
189
|
+
});
|
|
190
|
+
// Handle tool execution
|
|
191
|
+
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
192
|
+
const { name, arguments: args } = request.params;
|
|
193
|
+
// Get API key from environment variable
|
|
194
|
+
const apiKey = process.env.LEAFENGINES_API_KEY;
|
|
195
|
+
// Special handling for FREE tool (no API key required)
|
|
196
|
+
if (name === "turbo_quant_capabilities") {
|
|
197
|
+
try {
|
|
198
|
+
const result = await callLeafEnginesAPI(name, args);
|
|
199
|
+
return {
|
|
200
|
+
content: [
|
|
201
|
+
{
|
|
202
|
+
type: "text",
|
|
203
|
+
text: JSON.stringify(result, null, 2),
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
return {
|
|
210
|
+
content: [
|
|
211
|
+
{
|
|
212
|
+
type: "text",
|
|
213
|
+
text: `Error calling ${name}: ${error.message}`,
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
isError: true,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// For other tools, API key is required
|
|
221
|
+
if (!apiKey) {
|
|
222
|
+
return {
|
|
223
|
+
content: [
|
|
224
|
+
{
|
|
225
|
+
type: "text",
|
|
226
|
+
text: `API key required for ${name}. Please set LEAFENGINES_API_KEY environment variable. Get API key from: https://app.soilsidekickpro.com/api-docs`,
|
|
227
|
+
},
|
|
228
|
+
],
|
|
229
|
+
isError: true,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
try {
|
|
233
|
+
const result = await callLeafEnginesAPI(name, args, apiKey);
|
|
234
|
+
return {
|
|
235
|
+
content: [
|
|
236
|
+
{
|
|
237
|
+
type: "text",
|
|
238
|
+
text: JSON.stringify(result, null, 2),
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
// Check for specific error messages
|
|
245
|
+
if (error.response?.status === 401) {
|
|
246
|
+
return {
|
|
247
|
+
content: [
|
|
248
|
+
{
|
|
249
|
+
type: "text",
|
|
250
|
+
text: `Authentication failed for ${name}. Please check your API key. Get API key from: https://app.soilsidekickpro.com/api-docs`,
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
isError: true,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
return {
|
|
257
|
+
content: [
|
|
258
|
+
{
|
|
259
|
+
type: "text",
|
|
260
|
+
text: `Error calling ${name}: ${error.message}`,
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
isError: true,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
// Error handling
|
|
268
|
+
server.onerror = (error) => {
|
|
269
|
+
console.error("[MCP Server Error]", error);
|
|
270
|
+
};
|
|
271
|
+
// Connection handling
|
|
272
|
+
process.on("SIGINT", async () => {
|
|
273
|
+
await server.close();
|
|
274
|
+
process.exit(0);
|
|
275
|
+
});
|
|
276
|
+
// Start server
|
|
277
|
+
async function main() {
|
|
278
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
279
|
+
await server.connect(transport);
|
|
280
|
+
console.error("LeafEngines MCP server running on stdio");
|
|
281
|
+
}
|
|
282
|
+
main().catch((error) => {
|
|
283
|
+
console.error("Failed to start server:", error);
|
|
284
|
+
process.exit(1);
|
|
285
|
+
});
|
|
286
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ancientwhispers54/leafengines-mcp-server",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"mcpName": "io.github.QWarranto/leafengines",
|
|
5
|
+
"description": "Agricultural intelligence MCP server with soil analysis, crop recommendations, weather forecasts, and environmental impact assessment.",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"server-leafengines": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"start": "node dist/index.js",
|
|
13
|
+
"dev": "tsx src/index.ts",
|
|
14
|
+
"test": "echo \"No tests yet\" && exit 0"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/QWarranto/leafengines-claude-mcp.git"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"mcp",
|
|
22
|
+
"mcp-server",
|
|
23
|
+
"agriculture",
|
|
24
|
+
"soil-analysis",
|
|
25
|
+
"crop-recommendation",
|
|
26
|
+
"weather",
|
|
27
|
+
"environmental-impact",
|
|
28
|
+
"turboquant",
|
|
29
|
+
"leafengines"
|
|
30
|
+
],
|
|
31
|
+
"author": "QWarranto",
|
|
32
|
+
"license": "Apache-2.0",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@modelcontextprotocol/sdk": "^0.6.0",
|
|
35
|
+
"axios": "^1.6.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/node": "^20.0.0",
|
|
39
|
+
"typescript": "^5.0.0",
|
|
40
|
+
"tsx": "^4.0.0"
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=18.0.0"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist",
|
|
47
|
+
"README.md"
|
|
48
|
+
]
|
|
49
|
+
}
|