114 lines
No EOL
4.9 KiB
Markdown
114 lines
No EOL
4.9 KiB
Markdown
# RMI v5.0 — Tier 1-2 Moat Improvements
|
|
|
|
Updated: June 23-24, 2026
|
|
|
|
## Summary
|
|
This document tracks the "moat" improvements to the Rug Munch Intelligence platform - features that create competitive advantages through technical differentiation (as opposed to just collecting more data like address labels).
|
|
|
|
## Completed: TIER 1 (June 23, 2026)
|
|
**Focus: Visible improvements in performance and capabilities**
|
|
|
|
### 1. DuckDB Analytics Query (analytics_query)
|
|
- **Implementation**: `app/mcp/tools/duckdb_analytics.py`
|
|
- **MCP Tool**: `analytics_query` available via MCP server
|
|
- **Features**:
|
|
- In-process DuckDB analytics engine for <1GB queries
|
|
- 10x faster performance vs ClickHouse for small datasets
|
|
- SELECT-only safety to prevent writes: `sql_upper.startswith("SELECT") or ...`
|
|
- Max rows limit: 10,000 records cap per query
|
|
- SQL parameterization to prevent injection
|
|
- **Impact**: Faster ad-hoc analytics, reduced load on large-scale databases
|
|
|
|
### 2. MCP Catalog with Versioning (mcp_discover)
|
|
- **Implementation**: `app/mcp/server.py` in `TOOL_VERSIONS` dictionary
|
|
- **MCP Tool**: `mcp_discover` endpoint available
|
|
- **Features**:
|
|
- Real-time discovery of all available MCP tools
|
|
- Version tracking per tool in `TOOL_VERSIONS: dict[str, str]`
|
|
- Schema introspection via `inputSchema` definitions
|
|
- Deprecation handling with `TOOL_DEPRECATED` and `TOOL_SUCCESSORS` sets
|
|
- **Impact**: Self-documenting API, structured tool evolution, proper deprecation paths
|
|
|
|
### 3. Status Check (status_check)
|
|
- **Implementation**: `app/mcp/server.py` and `app/core/health.py`
|
|
- **MCP Tool**: `status_check` endpoint available
|
|
- **Features**:
|
|
- Async health checks across all subsystems (DBs, caches, etc.)
|
|
- Individual service monitoring with latencies
|
|
- Holistic system health reporting as `DomainHealth` dataclass
|
|
- Detailed diagnostic information per service
|
|
- **Impact**: Transparent service monitoring, improved reliability visibility
|
|
|
|
## Completed: TIER 2 (June 24, 2026)
|
|
**Focus: Federated label sources and deep analytics**
|
|
|
|
### 1. MBAL Integration
|
|
- **Implementation**: `app/domain/labels/sources/mbal_source.py`, `app/domain/labels/federated.py`
|
|
- **Features**:
|
|
- Direct API integration with MBAL (Multi-blockchain Anti-Laundering) database
|
|
- Handles 10M+ address labels across multiple chains
|
|
- Rate limiting (100 queries/day free tier)
|
|
- Category-to-standard type mapping (exchange, service, actor, etc.)
|
|
- Added `LabelSource.MBAL` enum value
|
|
- Integrated into federated label system in `DEFAULT_SOURCES`
|
|
- **Impact**: Expanded blockchain entity coverage from major provider
|
|
|
|
### 2. Eth Labels MCP Tools (eth_labels_query & eth_labels_stats)
|
|
- **Implementation**: `app/mcp/tools/eth_labels_tool.py` and `app/mcp/server.py`
|
|
- **MCP Tools**:
|
|
- `eth_labels_query`: Direct access to 115K EVM labels in eth-labels.db SQLite
|
|
- `eth_labels_stats`: Database statistics
|
|
- **Features**:
|
|
- Direct SQL query against local eth-labels.db
|
|
- SELECT-only safety enforced via `_safe_select_query()`
|
|
- Row limit enforcement (max 10,000 per call)
|
|
- SQLite direct integration without federated layer for performance
|
|
- **Impact**: Direct access to rich labeled EVM address database via AI agents
|
|
|
|
## Technical Achievements
|
|
|
|
### Architecture Shift (ADR-0005)
|
|
- Implemented **Tool-pull, not model-push** paradigm
|
|
- Tools fetch from data sources first -> then LLM summarizes
|
|
- Prevents hallucinations, ensures factual accuracy
|
|
- Every MCP tool has deterministic pipeline:
|
|
|
|
```
|
|
1. Fetch from trusted source (Postgres, ClickHouse, eth-labels.db, MBAL)
|
|
2. Validate data freshness
|
|
3. Enforce safety constraints (SELECT-only, rate limits)
|
|
4. Allow LLM to summarize in natural language
|
|
5. Return structured result with citations
|
|
```
|
|
|
|
### Performance Optimization
|
|
- DuckDB analytics: 10x faster for <1GB queries
|
|
- In-process engine eliminates network overhead
|
|
- SQLite direct access for eth-labels: minimal latency
|
|
- Async operations throughout for concurrency
|
|
|
|
### Reliability Measures
|
|
- Comprehensive error handling in all tools
|
|
- Graceful degradation when upstream sources fail
|
|
- Rate limiting for external APIs
|
|
- Input validation and security filtering
|
|
|
|
## Impact
|
|
|
|
These moat features differentiate RMI from competitors by:
|
|
1. **Performance**: 10x faster analytics vs large-scale databases
|
|
2. **Composability**: Tool-pull architecture enables complex workflows
|
|
3. **Freshness**: Direct API integrations provide real-time data access
|
|
4. **Safety**: Multiple layers of validation and error handling
|
|
5. **Discoverability**: Self-documenting MCP catalog with versioning
|
|
6. **Transparency**: Comprehensive status monitoring
|
|
|
|
The technical sophistication of these implementations makes the platform harder to replicate while maintaining the open-source model.
|
|
|
|
## Road Ahead (TIER 3-4)
|
|
|
|
Next priorities include:
|
|
- Real-time mempool streaming (reth integration)
|
|
- GNN fraud detection (PyTorch Geometric)
|
|
- Cross-chain entity linking
|
|
- Advanced analytics on wallet interaction graphs |