You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

lyra-registry

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lyra-registry

Central registry hub for Lyra ecosystem tools, agents, and plugins - the NPM for Crypto AI Tools

latest
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

🌙 Lyra Registry

The NPM for Crypto AI Tools - Central registry for the Lyra ecosystem

Lyra Registry is a standalone API service that catalogs, scores, and serves metadata for all tools in the Lyra ecosystem. It enables discovery, evaluation, and integration of 800+ crypto & DeFi MCP tools.

Between builds I am working on cleaning up the main Lyra repo with over 800+ blockchain and cryptocurrency tools. I hope to release it soon.

✨ Features

  • 📊 Trust Scoring - Every tool is scored using the SperaxOS algorithm
  • 🔍 Search & Filter - Full-text search with category, chain, and protocol filters
  • 📈 Trending - Track tool popularity and usage
  • 🔌 MCP Integration - Auto-seed from running Lyra MCP servers
  • 🚀 Vercel Ready - Deploy to Vercel/Railway in minutes

🏗️ Tech Stack

  • Framework: Next.js 14 (App Router)
  • Database: PostgreSQL (Neon/Supabase)
  • ORM: Drizzle
  • Language: TypeScript
  • Validation: Zod

🚀 Quick Start

1. Clone and Install

git clone https://github.com/nirholas/lyra-registry.git
cd lyra-registry
pnpm install

2. Set Up Database

Create a PostgreSQL database on Neon or Supabase (free tier works).

cp .env.example .env
# Edit .env with your DATABASE_URL

3. Run Migrations

pnpm db:push

4. Seed Database

If you have a running Lyra MCP server:

LYRA_MCP_URL=http://localhost:3001/mcp pnpm db:seed

Or seed with sample data:

pnpm db:seed

5. Start Development Server

pnpm dev

Visit http://localhost:3000 to see the landing page.

📡 API Reference

Tools

MethodEndpointDescription
GET/api/toolsList all tools with pagination
POST/api/toolsRegister a new tool
GET/api/tools/:idGet tool by ID
PATCH/api/tools/:idUpdate a tool
DELETE/api/tools/:idDelete a tool

Search & Discovery

MethodEndpointDescription
GET/api/search?q=Full-text search
GET/api/trendingGet trending tools
GET/api/categoriesList all categories
POST/api/discoverySubmit tool for review
GET/api/healthHealth check & stats

Query Parameters

/api/tools and /api/search

ParamTypeDescription
qstringSearch query
categorystringFilter by category slug
chainstringFilter by blockchain (bsc, ethereum, etc.)
protocolstringFilter by protocol (pancakeswap, aave, etc.)
gradea|b|fFilter by trust grade
requiresApiKeytrue|falseFilter by API key requirement
tagsstringComma-separated tags
pagenumberPage number (default: 1)
limitnumberItems per page (default: 20, max: 100)
sortBystringSort field: name, createdAt, totalScore, downloadCount
sortOrderasc|descSort direction (default: desc)

/api/trending

ParamTypeDescription
periodday|week|monthTime period (default: week)
limitnumberNumber of results (default: 10, max: 50)
categorystringFilter by category

Example Requests

# Search for DeFi tools
curl "http://localhost:3000/api/search?q=defi&category=defi"

# Get top 10 trending tools this week
curl "http://localhost:3000/api/trending?period=week&limit=10"

# Get all security tools
curl "http://localhost:3000/api/tools?category=security&sortBy=totalScore"

# Register a new tool
curl -X POST "http://localhost:3000/api/tools" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my_custom_tool",
    "description": "A custom DeFi tool",
    "category": "defi",
    "inputSchema": {
      "type": "object",
      "properties": {
        "address": { "type": "string" }
      },
      "required": ["address"]
    },
    "chains": ["ethereum", "bsc"],
    "tags": ["defi", "portfolio"]
  }'

⭐ Trust Score Algorithm

Every tool is scored using the SperaxOS trust algorithm. The score determines the tool's grade:

CriteriaWeightRequired
Validated20
Has Tools15
Deployment15
Documentation10
Auto Deploy12
License8
Prompts8
Resources8
Claimed4

Grades

GradeScoreDescription
A80%+All required items met, excellent tool
B60-79%All required items met, good tool
F<60%Missing required items or low score

📁 Project Structure

lyra-registry/
├── src/
│   ├── app/
│   │   ├── api/
│   │   │   ├── tools/
│   │   │   │   ├── route.ts        # GET/POST /api/tools
│   │   │   │   └── [id]/
│   │   │   │       └── route.ts    # GET/PATCH/DELETE /api/tools/:id
│   │   │   ├── search/
│   │   │   │   └── route.ts        # GET /api/search
│   │   │   ├── trending/
│   │   │   │   └── route.ts        # GET /api/trending
│   │   │   ├── categories/
│   │   │   │   └── route.ts        # GET/POST /api/categories
│   │   │   ├── discovery/
│   │   │   │   └── route.ts        # GET/POST /api/discovery
│   │   │   └── health/
│   │   │       └── route.ts        # GET /api/health
│   │   ├── globals.css
│   │   ├── layout.tsx
│   │   └── page.tsx                # Landing page
│   ├── db/
│   │   ├── index.ts                # Database connection
│   │   ├── schema.ts               # Drizzle schema
│   │   └── seed.ts                 # Seed script
│   ├── lib/
│   │   ├── calculateScore.ts       # Trust score algorithm (from SperaxOS)
│   │   └── validation.ts           # Zod schemas
│   └── types/
│       └── index.ts                # TypeScript types
├── drizzle.config.ts
├── next.config.ts
├── package.json
├── tsconfig.json
└── README.md

🚢 Deployment

Vercel

  • Push to GitHub
  • Import to Vercel
  • Add DATABASE_URL environment variable
  • Deploy

Railway

railway init
railway add
railway variables set DATABASE_URL=...
railway up

🤝 Integration with Lyra Ecosystem

Auto-Seeding from Lyra MCP Server

The registry can automatically import tools from a running Lyra MCP server:

# Start Lyra server
cd ../Lyra && bun run build && bun dist/cli.mjs --transport=http --port=3001

# Seed registry
cd ../lyra-registry
LYRA_MCP_URL=http://localhost:3001/mcp pnpm db:seed

Discovery Pipeline (via Lyra-Intel)

The lyra-intel project can automatically discover and submit new tools:

# In lyra-intel
from lyra_intel.discovery import RegistrySubmitter

submitter = RegistrySubmitter("https://lyra-registry.vercel.app/api/discovery")
await submitter.submit_tool(tool, security_result)

📜 License

MIT

FAQs

Package last updated on 07 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts