Lippy-Agent MCP Server
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 devAPI 키 없이 모의(mock) 모드로 완전히 실행됩니다. BrightDataClient와 ParallelClient는 모두 결정적 모의 응답으로 대체되므로, 생성 → 실행 → 위반 → 복구 → 검증 → 시맨틱 diff 루프를 별도 설정 없이 처음부터 끝까지 실행할 수 있습니다. 실제 API를 사용하려면 .env에 BRIGHTDATA_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명령어
명령어 | 설명 |
| 개발 서버 시작 |
| vitest 테스트 스위트 실행 |
|
|
| 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>/runHmm, let me reconsider a few things:
"semantic-diff" - I wrote "시맨틱 diff". That works. Or "의미론적 diff". I'll keep "시맨틱 diff".
"heal" - I translated as "복구" (recovery). In context of healing an API contract, "복구" is good.
"violate" - "위반" is fine.
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는 변하지 않아야 합니다."
"See" - "참조하세요" or "확인하세요". I'll use "참조하세요".
"Usage" heading translation: "Try it" → "사용해 보기" or "직접 해보기". I'll go with "사용해 보기".
"Run the vitest suite" - "vitest 스위트 실행" or "vitest 테스트 스위트 실행". Fine.
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 devAPI 키 없이 모의(mock) 모드로 완전히 실행됩니다. BrightDataClient와 ParallelClient는 모두 결정적 모의 응답으로 대체되므로, 생성 → 실행 → 위반 → 복구 → 검증 → 시맨틱 diff 루프를 별도 설정 없이 처음부터 끝까지 실행할 수 있습니다. 실제 API를 사용하려면 .env에 BRIGHTDATA_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명령어
명령어 | 설명 |
| 개발 서버 시작 |
| vitest 테스트 스위트 실행 |
|
|
| 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>/runThis server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceAPI-first website change detection with native MCP supportMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to monitor web documentation for changes, perform semantic search with RAG, and analyze breaking changes in APIs.9
- AlicenseNot gradedqualityDmaintenanceAn MCP server for monitoring website changes. Enables tracking URLs, detecting content changes, comparing snapshots, and extracting content with CSS selectors from an AI assistant.9MIT
- AlicenseNot gradedqualityDmaintenanceEnables tracking web page changes, detecting content modifications with structured diffs and snapshot history through MCP tools.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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