Skip to main content
Glama
dudqks0319-cpu

Goreudam MCP Server

Goreudam / 고르담

English · 한국어 · 简体中文 · 日本語

A local-first Naver Shopping comparison extension with a local MCP server. Save products while browsing, compare price and shipping, and let an MCP client read comparisons or update notes. MIT licensed.

Early release: 0.3.0. The interface supports Korean, English, Simplified Chinese and Japanese. Product content and notes stay in their original language. Independent project; not affiliated with Naver or OpenAI.

Features

  • Add supported Naver product cards/pages to a five-product comparison.

  • Compare displayed price, shipping, specifications, personal pros/cons and notes.

  • Keep unknown shipping unknown; no fabricated free shipping or review summaries.

  • Open a full comparison tab, show differences, and sort known totals.

  • Connect the extension to local SQLite via Native Messaging and expose seven MCP tools.

  • AI note edits stream back to the browser. Revision checks reject conflicting edits.

  • No cloud backend, API keys, network listener or runtime npm dependencies.

Related MCP server: Coconuts MCP Server

Install

Requirements: Chrome 116+ or Aside. The included native bridge installer needs macOS and Node.js 22.13+ (24+ recommended). Use a stdio MCP client such as Codex. No npm install is needed.

git clone https://github.com/dudqks0319-cpu/goreudam.git
cd goreudam
node --version
  1. Open the extension manager: chrome://extensions in Chrome, or Extensions settings in Aside.

  2. Enable Developer mode → Load unpacked.

  3. Select the repository's extension directory, not the repository root.

  4. Copy the 32-character extension ID. It may change if you move the folder.

  5. Refresh any Naver pages already open.

Replace YOUR_EXTENSION_ID below with that actual ID. Choose one browser:

node scripts/install-native.cjs aside YOUR_EXTENSION_ID

Or for Chrome:

node scripts/install-native.cjs chrome YOUR_EXTENSION_ID

The installer registers only that extension ID. It creates a launcher/configuration in ~/Library/Application Support/Goreudam and a manifest in the selected browser's NativeMessagingHosts directory. Existing installer files are backed up. Re-run it if you move the repository or Node executable.

From this repository directory, connect Codex:

codex mcp add goreudam -- "$(command -v node)" "$PWD/mcp/server.cjs"
codex mcp get goreudam

Reload Goreudam in the extension manager, open its comparison page, and click MCP 연결 (Connect MCP). Wait for MCP 연결됨 (MCP connected). First connection imports existing products; reconnection does not overwrite an already imported comparison with an old cache. Start a new Codex task or reload its MCP connections to discover the tools.

Other stdio clients: set command to the absolute Node executable and args to a one-element array containing the absolute mcp/server.cjs path. Do not use native.cjs as an MCP server; its binary framing is browser-specific.

Usage

Korean control

Action

+ 비교 담기 / 이 상품 담기

Add from supported search cards / product pages

비교표 열기

Open an ordinary comparison tab; recommended in Aside

직접 추가

Manually enter a product name, Naver URL and information

정보·메모 수정

Edit price, shipping, option, specs, pros/cons and notes

나란히 비교

Compare side by side

다른 항목만 보기

Show only differences

합계 낮은 순

Sort by known total ascending

Enter specs as one key: value per line. Enter 0 for confirmed free shipping; leave unverified shipping blank. Notes and pros/cons are user-authored, not automatic review summaries.

Example AI requests:

List my Goreudam comparisons and products.

Compare products under KRW 120,000 including shipping. List unknown shipping separately.

Save “Check installation availability” in this product's note.

There is currently one comparison of up to five products per browser profile. At 5/5, manual add is disabled. Removing a candidate removes its current note from that comparison. Named collections, unlimited saved products and multiple options per product are not implemented.

MCP tools

Tool

Purpose

list_comparisons

List connected comparisons and counts

list_products

Read products, provenance, notes and revision

compare_products

Filter by max_total or product_ids and compare totals

update_product_notes

Update only note/pros/cons with expected_revision

get_comparison_link

Get the configured extension comparison URL

open_comparison

Request opening the URL in the configured macOS browser

get_product_image

Return a saved public product image as an MCP image block

Opening reports an OS launch request, not proof of foreground visibility. No tool purchases products, logs into Naver, solves CAPTCHAs or invokes a paid AI provider.

Data, privacy and limitations

Browser-only mode uses chrome.storage.local. In MCP mode, ~/Library/Application Support/Goreudam/state.sqlite becomes authoritative and the browser retains a cache. The private directory/database hold up to 50 historical snapshots per comparison; recovery currently requires developer assistance. Host disconnection makes MCP-mode writes fail rather than silently diverge. Keep the host installed while using MCP mode.

An AI client can receive product information and personal notes through MCP. Its model/data policies apply. Local storage does not promise that requested tool output never reaches an AI provider. Never commit personal databases, logs, screenshots or configuration backups. See SECURITY.md.

Prices are saved snapshots, not checkout guarantees. Options, regional freight, assembly fees, coupons and points require confirmation. OCR, automatic review summarization, background price tracking, all Naver layouts, and Windows/Linux native installers are not supported. Naver may require login or a security check. Some advertising links cannot be captured. Aside's native side panel did not open in the tested environment; use the comparison tab.

To remove only the Codex connection:

codex mcp remove goreudam

This does not erase browser data or the local database.

Development

npm test
npm run check

Tests use Node's built-in runner and temporary databases. Browser tests need an already installed Playwright and Chromium, without downloads:

PLAYWRIGHT_MODULE=/absolute/path/to/playwright/package.json \
CHROMIUM_EXECUTABLE=/absolute/path/to/chromium \
node tests/browser.cjs

Live Native Messaging was verified in Aside on macOS. Automated extension tests use isolated Chromium and synthetic product pages. See CONTRIBUTING.md. MIT licensing permits reuse; it does not imply sponsorship, program acceptance or a free AI subscription.

International products and images (0.3)

Use the language menu to switch UI language. Existing Naver products always use KRW, preserving their saved prices, shipping and notes. Manual URLs support Amazon (US, Japan, UK, Germany, France), eBay (US, UK, Germany), Walmart US and AliExpress. Automatic capture remains Naver-only in this first international phase. Choose the currency actually shown by the seller; even Amazon.com can display a converted currency based on account settings.

Supported currencies: KRW, USD, JPY, CNY, EUR, GBP. KRW/JPY use whole units; the other currencies allow two decimal places. Totals and cheapest-price highlights are separated by currency. A mixed-currency MCP budget requires an explicit currency. No exchange-rate, sales-tax or import-duty conversion is performed.

Naver capture saves the main thumbnail URL when available. Re-adding an existing product can fill a missing image without overwriting its price or notes. For overseas manual products, enter a supported image CDN URL. Enable Show product images to request images from their original servers; the preference defaults to off. Only image links are stored, and source images are not included in this repository. Original product text is not automatically translated.

AI clients with image/vision support can call get_product_image using comparison_id and product_id. The tool fetches from the saved, allowlisted CDN URL with no cookies or authorization headers; it rejects redirects and private IPv4 destinations, pins a validated public IPv4 address, limits time and bytes (1.5 MiB), and validates PNG/JPEG/WebP signatures and dimensions (8192 per axis, 25 MP total). It returns binary image content plus source metadata. The image is sent to the calling AI client under its data policies; it is not an automatic visual recommendation or OCR result.

See extension/core.js IMAGE_HOSTS for supported image CDNs. Failed or unsupported images remain optional. Next phase: a separate Amazon US automatic-capture adapter, verified against actual displayed currency, shipping and options without modifying the Naver extractor.

Related MCP Connectors

Related MCP Servers