Local healthy food
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
git clone https://github.com/slookisen/lokal{
"mcpServers": {
"lokal": {
"command": "node",
"args": ["/path/to/lokal/dist/index.js"]
}
}
}MCP Servers overview
# 🥬 Rett fra Bonden — Local Food Agent Network for Norway
**Live:** https://rettfrabonden.com | **MCP Server:** https://rettfrabonden.com/mcp | **API Spec:** https://rettfrabonden.com/openapi.yaml
Rett fra Bonden is the discovery layer for local food in Norway. 1,371+ producers — farms, farm shops, REKO rings, farmers markets, and cooperatives — discoverable by AI agents and humans alike.
Not an app. Not a webshop. **Infrastructure** — the DNS for food agents.
## Use Rett fra Bonden
### From Claude (remote MCP via Claude Connectors)
The recommended setup for Claude.ai users: connect the remote MCP server directly, no local install required.
- **MCP Server URL:** `https://rettfrabonden.com/mcp`
- **Transport:** Streamable HTTP (MCP protocol 2025-06-18)
- **Authentication:** None required — the server is publicly accessible
Once connected, ask Claude things like:
- *"Finn økologiske grønnsaker nær Oslo som leverer hjem"*
- *"Which dairy farms in Rogaland sell raw milk directly to consumers?"*
- *"Compare three honey producers in Innlandet — who ships nationwide?"*
### From Claude Desktop (MCP stdio)
If you prefer a local install over remote:
```json
{
"mcpServers": {
"lokal": {
"command": "npx",
"args": ["lokal-mcp"]
}
}
}
```
### From ChatGPT (Developer Mode / Custom GPT)
**Developer Mode:** Add `https://rettfrabonden.com/mcp` as the MCP server URL.
**Custom GPT:** Create a GPT with Actions pointing to `https://rettfrabonden.com/openapi.yaml`. Instructions in [`custom-gpt-instructions.md`](custom-gpt-instructions.md).
### From your own agent (A2A / REST)
```bash
# Natural language search
curl "https://rettfrabonden.com/api/marketplace/search?q=organic+vegetables+near+Oslo"
# Structured discovery
curl -X POST https://rettfrabonden.com/api/marketplace/discover \
-H "Content-Type: application/json" \
-d '{"categories":["vegetables"],"tags":["organic"],"lat":59.91,"lng":10.75,"maxDistanceKm":30}'
# A2A JSON-RPC
curl -X POST https://rettfrabonden.com/a2a \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"message/send","params":{"message":{"role":"user","parts":[{"type":"text","text":"Find cheese near Bergen"}]}},"id":"1"}'
```
## MCP Tools & Resources
The remote MCP endpoint at `/mcp` exposes four tools and two resources.
| Tool | Purpose | Read/Write |
|------|---------|------------|
| `lokal_search` | Natural-language producer search (NO/EN). Auto-starts a conversation with top matches so sellers can respond. | Read + Write |
| `lokal_discover` | Structured filter — categories, tags, geo-radius. Auto-starts conversations. | Read + Write |
| `lokal_info` | Full producer profile — address, products, opening hours, certifications. | Read only |
| `lokal_stats` | Platform-level metrics — total agents, cities covered. | Read only |
| Resource URI | Mime | Description |
|--------------|------|-------------|
| `lokal://producers/overview` | `text/plain` | Aggregate view of producers by city |
| `lokal://producers/{agentId}` | `application/json` | Detailed info about a specific producer |
## HTTP API
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/mcp` | POST/GET/DELETE | MCP Streamable HTTP (remote MCP transport) |
| `/api/marketplace/search?q=...` | GET | Natural language search (NO/EN) |
| `/api/marketplace/discover` | POST | Structured filtering |
| `/api/marketplace/agents/:id/info` | GET | Producer details |
| `/api/stats` | GET | Platform statistics |
| `/a2a` | POST | A2A JSON-RPC 2.0 |
| `/.well-known/agent-card.json` | GET | A2A Agent Card |
| `/.well-known/mcp/server-card.json` | GET | MCP Server Card (human + machine-readable metadata) |
| `/openapi.yaml` | GET | OpenAPI 3.1 spec |
| `/llms.txt` | GET | AI-discovery index |
| `/privacy` | GET | Privacy policy (NO/EN) |
Full spec: https://rettfrabonden.com/openapi.yaml
## Architecture
- **TypeScript + Express** on Fly.io
- **SQLite** with WAL mode, persistent volume
- **MCP 2025-06-18** over Streamable HTTP + stdio (remote + local)
- **A2A v1.0.0** compliant (JSON-RPC 2.0 + Agent Card)
- **Value-based matching** — no ads, no pay-to-rank
- **1,386+ agents** across 374+ Norwegian cities
## For producers
Your farm/market might already be listed. Visit https://rettfrabonden.com to check, and claim your agent to update your info and respond to buyer queries.
## Troubleshooting
**"The connector can't reach the server"**
Check that your client is pointed at `https://rettfrabonden.com/mcp` (HTTPS, no trailing slash). The server uses the Streamable HTTP transport — stdio clients should use the `lokal-mcp` npm package instead.
**"CORS error in the browser"**
Browser-based MCP clients must send an `Origin` header. The server allow-lists `https://claude.ai`, `https://www.claude.ai`, `https://chatgpt.com`, and `https://chat.openai.com`. If you're hosting your own agent on a different origin, open an issue and we'll add it.
**"tools/list returns an empty array"**
Hit `POST /mcp` with a proper `initialize` request first and capture the `Mcp-Session-Id` response header. Subsequent calls must include that header — session IDs are sticky per connection.
**"Search returns no results for a Norwegian query"**
The server handles both NO and EN, but accents matter. Use `økologisk` rather than `okologisk` for best relevance. Try widening with `lokal_discover` — it accepts lat/lng + radius instead of free text.
**"I claimed my agent but the dashboard is empty"**
Claims are verified by email. Check spam for the verification code from `kontakt@rettfrabonden.com`. The token is valid for 24 hours.
**Rate limits**
Public endpoints allow 150 searches and 300 general API calls per 15-minute window. MCP `tools/call` counts against the search bucket. If your agent hits the limit, back off for 15 minutes — we don't block IPs, only throttle.
**Still stuck**
Open an issue at https://github.com/slookisen/lokal/issues with the request payload (redact anything sensitive) and the response status code.
## Privacy, Terms & Support
- **Privacy policy:** https://rettfrabonden.com/privacy
- **Terms of service:** https://rettfrabonden.com/terms
- **Issues / support:** https://github.com/slookisen/lokal/issues
## License
MIT
What people ask about lokal
What is slookisen/lokal?
+
slookisen/lokal is mcp servers for the Claude AI ecosystem. Local healthy food It has 1 GitHub stars and was last updated today.
How do I install lokal?
+
You can install lokal by cloning the repository (https://github.com/slookisen/lokal) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is slookisen/lokal safe to use?
+
Our security agent has analyzed slookisen/lokal and assigned a Trust Score of 74/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains slookisen/lokal?
+
slookisen/lokal is maintained by slookisen. The last recorded GitHub activity is from today, with 1 open issues.
Are there alternatives to lokal?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy lokal to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/slookisen-lokal)<a href="https://claudewave.com/repo/slookisen-lokal"><img src="https://claudewave.com/api/badge/slookisen-lokal" alt="Featured on ClaudeWave: slookisen/lokal" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!