Skip to main content
Glama
EncHawk
by EncHawk

Lippy Agent

웹사이트는 변합니다. 당신의 API는 변하지 않아야 합니다. 전체 아키텍처, 심사 기준 매핑, 데모 스크립트는 SPEC.md를 참조하세요.

설정

npm install
cp .env.example .env      # works out of the box in mock mode, no keys needed
npm run db:generate
npm run db:migrate
npm run dev

API 키 없이 모의(mock) 모드로 완전히 실행됩니다. BrightDataClientParallelClient는 모두 결정적 모의 응답으로 대체되므로, 생성 → 실행 → 위반 → 복구 → 검증 → 시맨틱 diff 루프를 별도 설정 없이 처음부터 끝까지 실행할 수 있습니다. 실제 API를 사용하려면 .envBRIGHTDATA_API_KEY / PARALLEL_API_KEY를 설정하세요.

Related MCP server: Doc Monitor MCP

프로젝트 구조

src/
  app/                    Next.js App Router — routes are thin adapters only
    api/contracts/        REST surface (create, get, run, live event stream)
    api/mcp/              MCP server over Streamable HTTP
  lib/
    contracts/            schema (Zod), validator, service layer
    brightdata/           typed client (create/run/heal/approve), mock-capable
    parallel/              semantic-diff client, mock-capable
    selfheal/              the orchestrator state machine
    events/                typed event union + pub/sub bus
    env.ts errors.ts logger.ts db.ts
  mcp/server.ts            tool definitions (create_contract, watch_contract, get_data)
  tests/                   vitest unit tests
prisma/schema.prisma       Contract / Run / ContractEvent models

명령어

명령어

설명

npm run dev

개발 서버 시작

npm test

vitest 테스트 스위트 실행

npm run typecheck

tsc --noEmit

npm run db:studio

SQLite DB를 시각적으로 탐색

사용해 보기

# create a contract
curl -X POST localhost:3000/api/contracts -H 'content-type: application/json' -d '{
  "url": "https://example.com/product",
  "fields": [
    { "key": "product", "type": "string", "required": true },
    { "key": "price", "type": "number", "required": true },
    { "key": "stock", "type": "boolean", "required": false }
  ]
}'

# trigger a run (mock mode breaks the extraction every 3rd call, so re-run
# a few times to see contract.violated -> contract.healing -> contract.healed)
curl -X POST localhost:3000/api/contracts/<id>/run

Hmm, let me reconsider a few things:

  1. "semantic-diff" - I wrote "시맨틱 diff". That works. Or "의미론적 diff". I'll keep "시맨틱 diff".

  2. "heal" - I translated as "복구" (recovery). In context of healing an API contract, "복구" is good.

  3. "violate" - "위반" is fine.

  4. The tagline "Websites change. Your API shouldn't." - "웹사이트는 변합니다. 당신의 API는 변하지 않아야 합니다." Or maybe more punchy: "웹사이트는 바뀌어도, API는 바뀌면 안 됩니다." That's more natural. Let me use: "웹사이트는 변합니다. 그러나 당신의 API는 변하지 않아야 합니다." Hmm. Both fine. I'll go with "웹사이트는 변합니다. 당신의 API는 변하지 않아야 합니다."

  5. "See" - "참조하세요" or "확인하세요". I'll use "참조하세요".

  6. "Usage" heading translation: "Try it" → "사용해 보기" or "직접 해보기". I'll go with "사용해 보기".

  7. "Run the vitest suite" - "vitest 스위트 실행" or "vitest 테스트 스위트 실행". Fine.

  8. Table header alignment - keep pipe separators. The row separator line "-" can stay same width.

Let me double check that I've preserved all structure. Yes.

One thing: "out of the box" - I translated as "별도 설정 없이" which captures it well.

The heading "## 프로젝트 구조" - good.

Let me finalize. The header alignment of the table rows - I don't need to keep exact spacing, just the structure (same number of pipes, same rows). That's fine.

Actually, I used "설정" for "Setup" heading and in body "별도 설정 없이" for "out of the box". That's fine.

Let me also reconsider: "사용해 보기" vs "시도해 보기" for "Try it". I think "직접 실행해 보기" might be better, but "사용해 보기" is concise. I'll go with "사용해 보기".

Final check: all code identifiers preserved: SPEC.md, GXP1, GXP2, GXP3, BrightDataClient, ParallelClient, .env, BRIGHTDATA_API_KEY, PARALLEL_API_KEY, npm run dev, npm test, npm run typecheck, tsc --noEmit, npm run db:studio, SQLite. Yes, all kept.

The link [SPEC.md](./SPEC.md) - the URL is preserved, the text "SPEC.md" preserved (it's file name). Good.

Final output ready.# Lippy Agent

웹사이트는 변합니다. 당신의 API는 변하지 않아야 합니다. 전체 아키텍처, 심사 기준 매핑, 데모 스크립트는 SPEC.md를 참조하세요.

설정

npm install
cp .env.example .env      # works out of the box in mock mode, no keys needed
npm run db:generate
npm run db:migrate
npm run dev

API 키 없이 모의(mock) 모드로 완전히 실행됩니다. BrightDataClientParallelClient는 모두 결정적 모의 응답으로 대체되므로, 생성 → 실행 → 위반 → 복구 → 검증 → 시맨틱 diff 루프를 별도 설정 없이 처음부터 끝까지 실행할 수 있습니다. 실제 API를 사용하려면 .envBRIGHTDATA_API_KEY / PARALLEL_API_KEY를 설정하세요.

프로젝트 구조

src/
  app/                    Next.js App Router — routes are thin adapters only
    api/contracts/        REST surface (create, get, run, live event stream)
    api/mcp/              MCP server over Streamable HTTP
  lib/
    contracts/            schema (Zod), validator, service layer
    brightdata/           typed client (create/run/heal/approve), mock-capable
    parallel/              semantic-diff client, mock-capable
    selfheal/              the orchestrator state machine
    events/                typed event union + pub/sub bus
    env.ts errors.ts logger.ts db.ts
  mcp/server.ts            tool definitions (create_contract, watch_contract, get_data)
  tests/                   vitest unit tests
prisma/schema.prisma       Contract / Run / ContractEvent models

명령어

명령어

설명

npm run dev

개발 서버 시작

npm test

vitest 테스트 스위트 실행

npm run typecheck

tsc --noEmit

npm run db:studio

SQLite DB를 시각적으로 탐색

사용해 보기

# create a contract
curl -X POST localhost:3000/api/contracts -H 'content-type: application/json' -d '{
  "url": "https://example.com/product",
  "fields": [
    { "key": "product", "type": "string", "required": true },
    { "key": "price", "type": "number", "required": true },
    { "key": "stock", "type": "boolean", "required": false }
  ]
}'

# trigger a run (mock mode breaks the extraction every 3rd call, so re-run
# a few times to see contract.violated -> contract.healing -> contract.healed)
curl -X POST localhost:3000/api/contracts/<id>/run
F
license - not found
Not graded
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.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI-powered website change monitoring - manage monitors and alerts via MCP.

  • Track competitors from your AI assistant: change feed, page snapshots, labels and alerts.

  • Track price drops, stock-outs, restocks, and new/removed products across Shopify stores.

View all MCP Connectors

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/EncHawk/Lippy-Agent'

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