ClaudeCodeMod

All shelves / Marketplaces

p18a/mcp-ruoka

p18a/mcp-ruoka · 6 stars · 1 plugin

Marketplace

Install

In Claude Code
/plugin marketplace add p18a/mcp-ruoka

Run inside Claude Code, then install plugins from it. Check the repo's README before you run it.

Open the repo

Plugins 1

After adding the marketplace, install one with /plugin install <name>@ruoka.

  1. 1ruokaSearch Finnish grocery and alcohol products across k-ruoka.fi, s-kaupat.fi, and alko.fi via MCP/plugin install ruoka@ruokav0.2.0

Files

README.md

mcp-ruoka

Unofficial MCP server for searching Finnish grocery and alcohol products across K-Ruoka, S-Kaupat, and Alko.

  • K-Ruoka — Playwright browser with stealth plugin (Cloudflare Turnstile bypass)
  • S-Kaupat — Direct HTTP with persisted GraphQL query hashes (extracted via Playwright)
  • Alko — Direct HTTP with NextAuth guest session (no browser needed)

Tools

  • search_products — Search products by query. Supports all three chains. storeId required for K-Ruoka/S-Kaupat, optional for Alko (national catalog).
  • get_stores — List stores, optionally filtered by city and/or chain.

Install as Claude Code plugin

Requires Bun installed.

/plugin marketplace add p18a/mcp-ruoka
/plugin install ruoka@ruoka

Dependencies and Playwright browser are installed automatically on first load.

Deploy to Fly.io

# Clone and enter the repo
git clone https://github.com/p18a/mcp-ruoka.git
cd mcp-ruoka

# Create fly.toml from example (pick your own app name)
cp fly.example.toml fly.toml
fly launch --no-deploy

# Set OAuth credentials
fly secrets set \
  OAUTH_CLIENT_ID=$(openssl rand -hex 32) \
  OAUTH_CLIENT_SECRET=$(openssl rand -hex 32)

# Deploy
fly deploy

Note the client ID and secret — you'll need them to connect.

Connect via stdio

Runs the server as a subprocess — simplest option for local use.

git clone https://github.com/p18a/mcp-ruoka.git
cd mcp-ruoka
bun install

Then add to your MCP client config:

{
  "mcpServers": {
    "ruoka": {
      "command": "bun",
      "args": ["run", "/path/to/mcp-ruoka/src/index.ts", "--stdio"]
    }
  }
}

Connect via Streamable HTTP

For remote deployments. Deploy first (see above), then point your MCP client at it:

{
  "mcpServers": {
    "ruoka": {
      "type": "streamable-http",
      "url": "https://<your-app>.fly.dev/mcp",
      "headers": {
        "Authorization": "Bearer <MCP_AUTH_TOKEN>"
      }
    }
  }
}

For direct bearer token auth, set MCP_AUTH_TOKEN as a Fly secret and use it in the header above. For OAuth, configure OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET on both the server and your MCP client.

Local development

bun install
cp .env.example .env
bun run dev

The server runs on http://localhost:3001/mcp by default (Streamable HTTP). Pass --stdio for stdio transport.

Environment variables

Variable Description
OAUTH_CLIENT_ID OAuth client ID (required for claude.ai)
OAUTH_CLIENT_SECRET OAuth client secret (required for claude.ai)
MCP_AUTH_TOKEN Static bearer token (alternative to OAuth)
PORT Server port (default: 3001)
LOG_LEVEL pino log level (default: info)
BROWSER_DATA_DIR Persistent browser data directory (default: .browser-data/)

Usage examples

Example: comparing butter prices between Citymarket and Prisma in Lempäälä

Example: finding the best price-to-alcohol ratio for fortified wines at Alko

Disclaimer

This project is unofficial and not affiliated with K Group, K-Ruoka, S Group, S-Kaupat, or Alko. It accesses publicly available data through their websites. Use responsibly.

Facts

Kind
Marketplace
Repo
p18a/mcp-ruoka
Group
Uncategorized
Stars
6
Marketplace name
ruoka
Owner
p18a
Language
TypeScript
Created
2026-04-14
Last push
2026-04-15
Forks
5
Topics
finland, grocery, k-ruoka, mcp, mcp-server, playwright, s-kaupat, alko
Plugins
1

More on this shelf

  1. 1obra/superpowersobra/superpowersAn agentic skills framework & software development methodology that works.297.9k
  2. 2affaan-m/everything-claude-codeaffaan-m/ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.277.5k
  3. 3anthropics/skillsanthropics/skillsPublic repository for Agent Skills180.6k
  4. 4f/prompts.chatf/prompts.chatf.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.172.7k
  5. 5anthropics/claude-codeanthropics/claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.150.3k
  6. 6nextlevelbuilder/ui-ux-pro-max-skillnextlevelbuilder/ui-ux-pro-max-skillAn AI skill that provides design intelligence for building professional UI/UX across multiple platforms.135k