Nexis dApps目录
面向开发人员、研究人员、内部产品和人工智能代理的机器可读Web3-dApp目录。此回购提供生成的目录、本地web体验、只读HTTP API和用于代理工作流的MCP服务器。
当前生成的快照包括:
- 4232个去中心化应用程序
- 430链条
- 92个类别
特性
- 稳定的只读dApp目录
id和slug查找 - 跨名称、描述、类别和链的自由文本搜索
- 按链和类别进行精确过滤
- 聚合链和类别摘要
- 用于浏览目录和文档的本地web UI
- 具有生成的OpenAPI文档的HTTP API
- 配备AI代理工具和资源的MCP服务器
- 通过本地化目录响应
lang查询参数 - 编写可重用JSON工件的目录生成管道
存储库内容
apps/web:Next.js web应用程序和文档网站src/http:Fastify HTTP APIsrc/mcp:FastMCP服务器src/cli:scratch和OpenAPI生成命令data/generated:应用程序和API使用的生成目录工件data/manual:覆盖、分类和稳定的ID映射openapi/openapi.json:生成的OpenAPI文档
需求
- Node.js
22+ pnpm10.15.0+
快速开始
pnpm install运行web应用程序:
pnpm web:dev运行HTTP API:
pnpm dev:http运行已编译的HTTP API:
pnpm build
pnpm start:http通过stdio运行MCP服务器:
pnpm dev:mcp通过HTTP运行MCP服务器:
MCP_TRANSPORT=http pnpm dev:mcp通过HTTP运行编译的MCP服务器:
pnpm build
pnpm start:mcp:http默认本地终结点:
- Web应用程序:
http://localhost:3000(或下一个可用端口) - HTTP API:
http://localhost:8787 - OpenAPI:
http://localhost:8787/openapi.json - MCP HTTP端点:
http://localhost:8788/mcp
使用指南
1.浏览网络变体
web应用程序是最简单的本地入口点。它直接读取生成的JSON工件,因此您可以浏览目录和文档体验,而无需首先启动HTTP API。
pnpm web:dev打开Next.js显示的本地URL。应用程序重定向到本地化路线,例如 /en.
2.查询HTTP API
HTTP服务器公开了用于搜索、查找、链、类别、健康和OpenAPI合约的只读端点。
pnpm dev:http3.将MCP服务器与代理客户端一起使用
对于本地CLI风格的客户端,请在stdio上运行MCP:
pnpm dev:mcp对于具有远程功能的客户端或基于浏览器的工具,通过HTTP公开MCP:
MCP_TRANSPORT=http MCP_HOST=0.0.0.0 MCP_PORT=8788 pnpm dev:mcp对于Railway或其他生产环境,编译的HTTP入口点 将荣誉 PORT 自动当 MCP_PORT 未设置:
pnpm build
pnpm start:mcp:http4.重新生成目录
刮擦管道获取源记录,构建规范化目录,写入生成的工件,并刷新 openapi/openapi.json.
pnpm scrape有用的变体:
pnpm scrape --limit=100
pnpm scrape --sources=defillama
pnpm scrape --sources=alchemy,rayo,moralis,defillama --concurrency=8示例用法
HTTP API示例
健康检查:
curl http://localhost:8787/health在Base上搜索DeFi dApps:
curl "http://localhost:8787/v1/dapps?chain=Base&category=DeFi&limit=5"按自由文本搜索:
curl "http://localhost:8787/v1/dapps?q=prediction%20market&limit=5"通过slug获取单个dApp:
curl "http://localhost:8787/v1/dapps/uniswap"列出支持的链:
curl "http://localhost:8787/v1/chains"列出支持的类别:
curl "http://localhost:8787/v1/categories"获取本地化结果:
curl "http://localhost:8787/v1/dapps?q=lending&lang=es&limit=3"JavaScript示例:
const response = await fetch(
"http://localhost:8787/v1/dapps?chain=Base&category=DeFi&limit=5",
);
const payload = await response.json();
console.log(payload.data.items);
console.log(payload.meta);MCP示例
可用的MCP工具:
dapps_searchdapps_getdapps_list_chainsdapps_list_categories
样品 dapps_search 论据:
{
"q": "lending",
"chain": "Base",
"category": "DeFi",
"limit": 5
}样品 dapps_get 论据:
{
"id": "uniswap"
}可用MCP资源:
catalog://dapps/indexcatalog://dapps/chainscatalog://dapps/categoriescatalog://dapps/{id}
用例
- 使用标准化的dApp数据集为web或移动目录UI供电
- 通过MCP为AI代理提供结构化搜索、精确查找和资源访问
- 构建用于研究、BD、生态系统映射或竞争分析的内部发现工具
- 通过链和类别摘要丰富分析工作流程
- 为API和MCP集成提供本地文档和游乐场环境
- 为下游服务或计划作业生成可重用的JSON目录
API终点
基础URL
http://localhost:8787
响应形状
大多数成功的API响应都遵循以下信封:
{
"success": true,
"data": {},
"meta": {}
}未找到的响应使用:
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "dApp not found"
}
}端点引用
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 服务健康检查 |
/openapi.json | GET | 生成OpenAPI 3.1文档 |
/v1/dapps | GET | 搜索和分页dApps |
/v1/dapps/:id | GET | 通过稳定获得一个dApp id 或 slug |
/v1/chains | GET | 列表链计数 |
/v1/categories | GET | 列出类别计数 |
/v1/dapps 查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
q | string | 跨名称、描述、类别和链的自由文本搜索 |
chain | string | 精确链式过滤器,不区分大小写 |
category | string | 精确的类别过滤器,不区分大小写 |
page | integer | 页码,默认值 1 |
limit | integer | 页面大小,默认值 50,最大值 250 |
lang | string | 翻译后的人类可读字段的可选区域设置 |
支持的区域设置: en, es, zh, hi, pt, nl, de, ar, ja, id, fr, bn
目录项形状
{
"id": "dapp_000001",
"slug": "chainlink-requests",
"name": "Chainlink Requests",
"logoUrl": "https://icons.llama.fi/chainlink-requests.jpg",
"webUrl": "https://chain.link/",
"mobileUrl": null,
"socials": {
"twitter": "https://x.com/chainlink"
},
"categories": ["Oracle"],
"chains": [],
"shortDescription": "...",
"longDescription": "...",
"sourceUrls": [
"https://defillama.com/protocol/chainlink-keepers"
],
"updatedAt": "2026-03-10T23:58:17.953Z"
}脚本
| 命令 | 目的 |
|---|---|
pnpm web:dev | 在本地运行Next.js web应用程序 |
pnpm web:build | 构建web应用程序 |
pnpm web:typecheck | 键入检查web应用程序 |
pnpm dev:http | 运行本地HTTP API |
pnpm dev:mcp | 运行本地MCP服务器 |
pnpm start:http | 运行已编译的HTTP API |
pnpm start:mcp:http | 通过HTTP运行编译的MCP服务器 |
pnpm scrape | 获取源数据并重建生成的工件 |
pnpm openapi:generate | 重新生成 openapi/openapi.json |
pnpm test | 运行Vitest |
备注
- web应用程序可以自行运行,因为它读取
data/generated/*.json. - 当HTTP API和MCP HTTP服务器也在运行时,文档播放场是最有用的。
- HTTP API和MCP服务器在设计上是只读的。
