Skip to main content
Glama
EncHawk
by EncHawk

Lippy Agent

Websites change. Your API shouldn't. See SPEC.md for the full architecture, judging-criteria mapping, and demo script.

Setup

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

Runs fully in mock mode with zero API keys — BrightDataClient and ParallelClient both fall back to deterministic mock responses so the create → run → violate → heal → verify → semantic-diff loop is runnable end to end out of the box. Set BRIGHTDATA_API_KEY / PARALLEL_API_KEY in .env to hit the real APIs.

Related MCP server: Doc Monitor MCP

Project layout

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

Commands

Command

What it does

npm run dev

Start the dev server

npm test

Run the vitest suite

npm run typecheck

tsc --noEmit

npm run db:studio

Browse the SQLite DB visually

Try it

# 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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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