MCP Registry - Lyra
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, blockchain, DeFi, memecoin, NFT, metaverse, trading tools, MCP tools.
š 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
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tools | List all tools with pagination |
| POST | /api/tools | Register a new tool |
| GET | /api/tools/:id | Get tool by ID |
| PATCH | /api/tools/:id | Update a tool |
| DELETE | /api/tools/:id | Delete a tool |
Search & Discovery
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/search?q= | Full-text search |
| GET | /api/trending | Get trending tools |
| GET | /api/categories | List all categories |
| POST | /api/discovery | Submit tool for review |
| GET | /api/health | Health check & stats |
Query Parameters
/api/tools and /api/search
| Param | Type | Description |
|---|---|---|
q | string | Search query |
category | string | Filter by category slug |
chain | string | Filter by blockchain (bsc, ethereum, etc.) |
protocol | string | Filter by protocol (pancakeswap, aave, etc.) |
grade | a|b|f | Filter by trust grade |
requiresApiKey | true|false | Filter by API key requirement |
tags | string | Comma-separated tags |
page | number | Page number (default: 1) |
limit | number | Items per page (default: 20, max: 100) |
sortBy | string | Sort field: name, createdAt, totalScore, downloadCount |
sortOrder | asc|desc | Sort direction (default: desc) |
/api/trending
| Param | Type | Description |
|---|---|---|
period | day|week|month | Time period (default: week) |
limit | number | Number of results (default: 10, max: 50) |
category | string | Filter 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:
| Criteria | Weight | Required |
|---|---|---|
| Validated | 20 | ā |
| Has Tools | 15 | ā |
| Deployment | 15 | ā |
| Documentation | 10 | ā |
| Auto Deploy | 12 | |
| License | 8 | |
| Prompts | 8 | |
| Resources | 8 | |
| Claimed | 4 |
Grades
| Grade | Score | Description |
|---|---|---|
| A | 80%+ | All required items met, excellent tool |
| B | 60-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_URLenvironment 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
š Links
- Lyra MCP Server - The main MCP server with 280+ tools
- Lyra Intel - Auto-discovery and security scanning
- SperaxOS - The scoring algorithm source
- Sperax - Sperax ecosystem
Related Servers
ClickHouse
An MCP server for interacting with a ClickHouse database.
OpenCTI MCP Server
Integrates with the OpenCTI platform to query and retrieve threat intelligence data.
ChromaDB MCP
An MCP server for vector storage and retrieval using ChromaDB.
Mantora
Mantora is a local-first MCP observer: a lightweight UI + proxy for inspecting LLM data access (sessions, tool calls, results) with protective defaults.
Verodat
Interact with Verodat AI Ready Data platform
KOSPI/KOSDAQ Stock Server
Provides KOSPI/KOSDAQ stock data, including ticker lookup, OHLCV, market capitalization, and fundamental data.
Cloudera Iceberg MCP Server (via Impala)
Provides read-only access to Apache Iceberg tables using Apache Impala.
Canteen Data
Query employee canteen dining data, providing breakfast and lunch attendance statistics within a specified date range.
World Bank MCP Server
Interact with the open World Bank data API to list and analyze economic and development indicators for various countries.
Local Context Memory MCP
A production-ready persistent memory system for AI agents, offering searchable memory across sessions with semantic search and support for multiple database backends.