{
  "markdown": "# 🌙 Lyra Registry \n\n> The NPM for Crypto AI Tools - Central registry for the Lyra ecosystem\n \nLyra 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.\n\nBetween builds I am working on cleaning up the main Lyra repo with over 800+ blockchain and cryptocurrency tools. I hope to release it soon.\n\n## ✨ Features\n\n- **📊 Trust Scoring** - Every tool is scored using the SperaxOS algorithm \n- **🔍 Search & Filter** - Full-text search with category, chain, and protocol filters\n- **📈 Trending** - Track tool popularity and usage\n- **🔌 MCP Integration** - Auto-seed from running Lyra MCP servers\n- **🚀 Deploy Anywhere** - Deploy to any Node host in minutes\n\nThe public demo deployment is offline while hosting is being migrated. Run it locally with the Quick Start below, or read the source at [github.com/nirholas/lyra-registry](https://github.com/nirholas/lyra-registry).\n\n## 🏗️ Tech Stack\n\n- **Framework**: Next.js 14 (App Router)\n- **Database**: PostgreSQL (Neon/Supabase)\n- **ORM**: Drizzle\n- **Language**: TypeScript\n- **Validation**: Zod\n\n## 🚀 Quick Start\n\n### 1. Clone and Install\n\n```bash\ngit clone https://github.com/nirholas/lyra-registry.git\ncd lyra-registry\nnpm install\n```\n\n### 2. Set Up Database\n\nCreate a PostgreSQL database on [Neon](https://neon.tech) or [Supabase](https://supabase.com) (free tier works).\n\n```bash\ncp .env.example .env\n# Edit .env with your DATABASE_URL\n```\n\n### 3. Run Migrations\n\n```bash\nnpm run db:push\n```\n\n### 4. Seed Database\n\nIf you have a running Lyra MCP server:\n\n```bash\nLYRA_MCP_URL=http://localhost:3001/mcp npm run db:seed\n```\n\nOr seed with sample data:\n\n```bash\nnpm run db:seed\n```\n\n### 5. Start Development Server\n\n```bash\nnpm run dev\n```\n\nVisit http://localhost:3000 to see the landing page.\n\n## 📡 API Reference\n\n### Tools\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/api/tools` | List all tools with pagination |\n| POST | `/api/tools` | Register a new tool |\n| GET | `/api/tools/:id` | Get tool by ID |\n| PATCH | `/api/tools/:id` | Update a tool |\n| DELETE | `/api/tools/:id` | Delete a tool |\n\n### Search & Discovery\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/api/search?q=` | Full-text search |\n| GET | `/api/trending` | Get trending tools |\n| GET | `/api/categories` | List all categories |\n| POST | `/api/discovery` | Submit tool for review |\n| GET | `/api/health` | Health check & stats |\n\n### Query Parameters\n\n#### `/api/tools` and `/api/search`\n\n| Param | Type | Description |\n|-------|------|-------------|\n| `q` | string | Search query |\n| `category` | string | Filter by category slug |\n| `chain` | string | Filter by blockchain (bsc, ethereum, etc.) |\n| `protocol` | string | Filter by protocol (pancakeswap, aave, etc.) |\n| `grade` | a\\|b\\|f | Filter by trust grade |\n| `requiresApiKey` | true\\|false | Filter by API key requirement |\n| `tags` | string | Comma-separated tags |\n| `page` | number | Page number (default: 1) |\n| `limit` | number | Items per page (default: 20, max: 100) |\n| `sortBy` | string | Sort field: name, createdAt, totalScore, downloadCount |\n| `sortOrder` | asc\\|desc | Sort direction (default: desc) |\n\n#### `/api/trending`\n\n| Param | Type | Description |\n|-------|------|-------------|\n| `period` | day\\|week\\|month | Time period (default: week) |\n| `limit` | number | Number of results (default: 10, max: 50) |\n| `category` | string | Filter by category |\n\n### Example Requests\n\n```bash\n# Search for DeFi tools\ncurl \"http://localhost:3000/api/search?q=defi&category=defi\"\n\n# Get top 10 trending tools this week\ncurl \"http://localhost:3000/api/trending?period=week&limit=10\"\n\n# Get all security tools\ncurl \"http://localhost:3000/api/tools?category=security&sortBy=totalScore\"\n\n# Register a new tool\ncurl -X POST \"http://localhost:3000/api/tools\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"my_custom_tool\",\n    \"description\": \"A custom DeFi tool\",\n    \"category\": \"defi\",\n    \"inputSchema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"address\": { \"type\": \"string\" }\n      },\n      \"required\": [\"address\"]\n    },\n    \"chains\": [\"ethereum\", \"bsc\"],\n    \"tags\": [\"defi\", \"portfolio\"]\n  }'\n```\n\n## ⭐ Trust Score Algorithm\n\nEvery tool is scored using the SperaxOS trust algorithm. The score determines the tool's grade:\n\n| Criteria | Weight | Required |\n|----------|--------|----------|\n| Validated | 20 | ✅ |\n| Has Tools | 15 | ✅ |\n| Deployment | 15 | ✅ |\n| Documentation | 10 | ✅ |\n| Auto Deploy | 12 | |\n| License | 8 | |\n| Prompts | 8 | |\n| Resources | 8 | |\n| Claimed | 4 | |\n\n### Grades\n\n| Grade | Score | Description |\n|-------|-------|-------------|\n| **A** | 80%+ | All required items met, excellent tool |\n| **B** | 60-79% | All required items met, good tool |\n| **F** | <60% | Missing required items or low score |\n\n## 📁 Project Structure\n\n```\nlyra-registry/\n├── src/\n│   ├── app/\n│   │   ├── api/\n│   │   │   ├── tools/\n│   │   │   │   ├── route.ts        # GET/POST /api/tools\n│   │   │   │   └── [id]/\n│   │   │   │       └── route.ts    # GET/PATCH/DELETE /api/tools/:id\n│   │   │   ├── search/\n│   │   │   │   └── route.ts        # GET /api/search\n│   │   │   ├── trending/\n│   │   │   │   └── route.ts        # GET /api/trending\n│   │   │   ├── categories/\n│   │   │   │   └── route.ts        # GET/POST /api/categories\n│   │   │   ├── discovery/\n│   │   │   │   └── route.ts        # GET/POST /api/discovery\n│   │   │   └── health/\n│   │   │       └── route.ts        # GET /api/health\n│   │   ├── globals.css\n│   │   ├── layout.tsx\n│   │   └── page.tsx                # Landing page\n│   ├── db/\n│   │   ├── index.ts                # Database connection\n│   │   ├── schema.ts               # Drizzle schema\n│   │   └── seed.ts                 # Seed script\n│   ├── lib/\n│   │   ├── calculateScore.ts       # Trust score algorithm (from SperaxOS)\n│   │   └── validation.ts           # Zod schemas\n│   └── types/\n│       └── index.ts                # TypeScript types\n├── drizzle.config.ts\n├── next.config.ts\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n## 🚢 Deployment\n\n### Vercel\n\n1. Push to GitHub\n2. Import to Vercel\n3. Add `DATABASE_URL` environment variable\n4. Deploy\n\n### Railway\n\n```bash\nrailway init\nrailway add\nrailway variables set DATABASE_URL=...\nrailway up\n```\n\n## 🤝 Integration with Lyra Ecosystem\n\n### Auto-Seeding from Lyra MCP Server\n\nThe registry can automatically import tools from a running Lyra MCP server:\n\n```bash\n# Start Lyra server\ncd ../Lyra && bun run build && bun dist/cli.mjs --transport=http --port=3001\n\n# Seed registry\ncd ../lyra-registry\nLYRA_MCP_URL=http://localhost:3001/mcp npm run db:seed\n```\n\n### Discovery Pipeline (via Lyra-Intel)\n\nThe lyra-intel project can automatically discover and submit new tools:\n\n```python\n# In lyra-intel\nfrom lyra_intel.discovery import RegistrySubmitter\n\nsubmitter = RegistrySubmitter(\"http://localhost:3000/api/discovery\")\nawait submitter.submit_tool(tool, security_result)\n```\n\n## 📜 License\n\nAll rights reserved. See [LICENSE](LICENSE).\n\n## 🔗 Links\n\n- [Lyra MCP Server](https://github.com/nirholas/Lyra) - The main MCP server with 280+ tools\n- [Lyra Intel](https://github.com/nirholas/lyra-intel) - Auto-discovery and security scanning\n- [SperaxOS](https://github.com/nirholas/SperaxOS) - The scoring algorithm source\n- [Sperax](https://sperax.io) - Sperax ecosystem\n\n\n---\n\n## 🌐 Live HTTP Deployment\n\n**Lyra Registry** is deployed and accessible over HTTP via [MCP Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) transport — no local installation required.\n\n**Endpoint:**\n```\nhttps://modelcontextprotocol.name/mcp/lyra-registry\n```\n\n### Connect from any MCP Client\n\nAdd to your MCP client configuration (Claude Desktop, Cursor, SperaxOS, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"lyra-registry\": {\n      \"type\": \"http\",\n      \"url\": \"https://modelcontextprotocol.name/mcp/lyra-registry\"\n    }\n  }\n}\n```\n\n### Available Tools (3)\n\n| Tool | Description |\n|------|-------------|\n| `search_mcp_ecosystem` | Search MCP ecosystem |\n| `get_popular_mcp_servers` | Popular MCP servers |\n| `get_sperax_mcp_servers` | All Sperax MCP servers |\n\n### Example Requests\n\n**Search MCP ecosystem:**\n```bash\ncurl -X POST https://modelcontextprotocol.name/mcp/lyra-registry \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"search_mcp_ecosystem\",\"arguments\":{\"query\":\"crypto defi\"}}}'\n```\n\n**Popular MCP servers:**\n```bash\ncurl -X POST https://modelcontextprotocol.name/mcp/lyra-registry \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"get_popular_mcp_servers\",\"arguments\":{\"category\":\"crypto\"}}}'\n```\n\n**All Sperax MCP servers:**\n```bash\ncurl -X POST https://modelcontextprotocol.name/mcp/lyra-registry \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"get_sperax_mcp_servers\",\"arguments\":{}}}'\n```\n\n### List All Tools\n\n```bash\ncurl -X POST https://modelcontextprotocol.name/mcp/lyra-registry \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}'\n```\n\n### Also Available On\n\n- **[SperaxOS](https://github.com/nirholas/SperaxOS)** - source for the MCP marketplace. The hosted marketplace is offline while hosting is being migrated.\n- **All 27 MCP servers** — See the full catalog at [modelcontextprotocol.name](https://modelcontextprotocol.name)\n\n> Powered by [modelcontextprotocol.name](https://modelcontextprotocol.name) — the open MCP HTTP gateway\n\n## Documentation\n\nFull documentation site: **https://nirholas.github.io/lyra-registry/**\n\n- [Getting started](docs/getting-started.md) covers install and first run.\n- [Examples](docs/examples.md) has copy-paste snippets.\n",
  "bytes": 9988,
  "sha": "d019af488fc9f9e1c4fb9beffd3a676c9eb639a3fc917af80d2f91e45d430b47",
  "repo_slug": "nirholas/lyra-registry",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_nirholas_crypto_tools_registry_e08fe46c/readme"
}