新鲜梨
](https://www.npmjs.com/package/fresh-pears)  
PairPulse --通过MCP(模型上下文协议)对AI原生加密工具进行实时DEX对发现和分析
fresh-pears 是一个MCP服务器,用于监控以太坊和Base上的去中心化交易所(DEX)对创建事件。它动态发现工厂合约,并为人工智能代理提供对新流动性池的实时访问,用于模因币跟踪、套利机会和链上分析。
特性
- 🔍 动态工厂发现 --通过Etherscan/BaseScan API自动发现活动的DEX工厂
- ⚡ 实时监控 --跟踪Uniswap V2和V3配对/池创建事件
- 🌐 多链支持 --以太坊主网和基础网络
- 🤖 MCP集成 --用于AI代理工具的本地模型上下文协议服务器
- 🛡️ 启发式分析 --为发现的配对提供内置安全评分
- 🚀 快速轻便 --使用Bun和TypeScript构建
安装
npm install fresh-pears
# or
bun add fresh-pears先决条件
- 包子 运行时(推荐)或Node.js 18+
- 以太坊主网RPC端点
- 基本主网RPC端点
- Etherscan API密钥(可选,用于工厂发现)
- Basescan API密钥(可选,用于工厂发现)
快速开始
1.安装依赖项
bun install2.设置环境变量
创建一个 .env 文件或导出变量:
# Required: RPC endpoints
export RPC_ETHEREUM=https://mainnet.infura.io/v3/YOUR_KEY
export RPC_BASE=https://base-mainnet.g.alchemy.com/v2/YOUR_KEY
# Optional: For dynamic factory discovery
export ETHERSCAN_API=your_etherscan_api_key
export BASESCAN_API=your_basescan_api_key3.运行MCP服务器
bun run dev服务器将于启动 http://localhost:4000/mcp
4.连接您的MCP客户端
配置MCP客户端以连接到服务器端点。Claude Desktop示例:
{
"mcpServers": {
"fresh-pears": {
"url": "http://localhost:4000/mcp"
}
}
}MCP工具
服务器为AI代理提供以下工具:
getLatestBlock
返回给定链的最新块号。
参数:
chain(字符串):"ethereum"或"base"
答复:
{
"chain": "ethereum",
"blockNumber": 21000000
}refreshFactories
自动发现并缓存最近的工厂合同。扫描最后约5000个区块 PairCreated 和 PoolCreated 事件。
参数:
chain(字符串):"ethereum"或"base"
答复:
{
"chain": "ethereum",
"factories": ["0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f", ...],
"count": 5
}getNewPairs
获取块范围内的所有新DEX对/池创建事件。如果为空,则自动刷新出厂列表。
参数:
chain(字符串):"ethereum"或"base"fromBlock(number):起始区块编号toBlock(number):结束区块编号
答复:
[
{
"kind": "v2",
"chain": "ethereum",
"factory": "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",
"token0": "0x...",
"token1": "0x...",
"pairOrPool": "0x...",
"blockNumber": 21000000,
"txHash": "0x..."
},
{
"kind": "v3",
"chain": "ethereum",
"factory": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
"token0": "0x...",
"token1": "0x...",
"pairOrPool": "0x...",
"fee": 3000,
"blockNumber": 21000001,
"txHash": "0x..."
}
]analyzePair
评估给定配对事件的基本安全启发式方法。
参数:
event(对象):APairEvent对象来自getNewPairs
答复:
{
"score": 50,
"warnings": ["Missing token addresses"]
}建筑
src/
├── chains/
│ ├── factories.ts # Hardcoded factory addresses
│ └── topics.ts # Event topic hashes
├── core/
│ ├── client.ts # Viem RPC clients
│ ├── decode.ts # Event decoding utilities
│ ├── discoverFactories.ts # Dynamic factory discovery
│ ├── events.ts # Event fetching and parsing
│ ├── heuristics.ts # Pair safety scoring
│ ├── logs.ts # Log utilities
│ └── rpc.ts # RPC helpers
├── mcp/
│ └── server.ts # MCP server implementation
├── types/
│ └── index.d.ts # TypeScript type definitions
└── index.ts # Entry point运作原理
- 工厂发现:在Etherscan/BaseScan上扫描最近的区块(最近约5000个)
PairCreated和PoolCreated发现有效工厂合同的事件。
- 事件监控:订阅工厂合约并获取指定块范围内的配对创建事件。
- 动态更新:需要时自动刷新出厂列表,确保覆盖新的或最近活动的DEX协议。
- 启发式分析:使用基本安全检查(令牌地址验证、费用健全性检查等)评估配对。
发展
# Install dependencies
bun install
# Run in development mode
bun run dev
# Build for production
bun run build
# Run tests
bun test项目状态
该项目正在积极开发中。API可能会在不同版本之间更改。
许可证
麻省理工学院
贡献
欢迎投稿!请打开问题或提交拉取请求。
支持
对于问题、疑问或功能请求,请在GitHub上打开问题。
