Fibrous MCP Server
MCP server providing AI agents with tools for multi-chain DeFi operations using the Fibrous SDK.
Features
10 Available Tools:
get-supported-tokens- List available tokensget-supported-protocols- List DEX protocolsget-best-route- Find optimal swap routesget-best-route-batch- Find optimal routes for batch swaps (Starknet only)build-transaction- Generate transaction databuild-batch-transaction- Generate batch transaction data (Starknet only)format-token-amount- Convert between human and wei formatsget-token- Fetch token details by addressexecute-swap- Execute token swaps (requires wallet config)estimate-swap- Estimate gas costs (requires wallet config)
Supported Networks:
- Base - Uniswap V3, Aerodrome, SwapBased
- Starknet - JediSwap, MySwap, 10kSwap, Ekubo
- Scroll - Uniswap V3, SyncSwap, iZiSwap
Quick Start
# Install dependencies
pnpm install
# Configure environment
cp .env.example .env
# Edit .env with your RPC URLs and private keys
# Build the project
pnpm build
# Start server
pnpm start
Configuration
Environment Variables
Core Configuration:
NODE_ENV=development
DEFAULT_SLIPPAGE=1.0
Network Configuration:
# Base Network
BASE_RPC_URL=https://mainnet.base.org
BASE_PRIVATE_KEY=0x...
# Starknet Network
STARKNET_RPC_URL=https://starknet-mainnet.public.blastapi.io
STARKNET_PRIVATE_KEY=0x...
STARKNET_PUBLIC_KEY=0x...
# Scroll Network
SCROLL_RPC_URL=https://rpc.scroll.io
SCROLL_PRIVATE_KEY=0x...
Optional Settings:
# Debug configuration
DEBUG=false
LOG_LEVEL=info
ENABLE_METRICS=false
# API optimization
FIBROUS_API_KEY=your_api_key_here
MCP Client Setup
Add to your MCP client configuration:
{
"mcpServers": {
"fibrous-mcp": {
"command": "node",
"args": ["/path/to/fibrous-mcp/build/src/index.js"]
}
}
}
Development
Prerequisites
- Node.js 18+
- pnpm (recommended)
- TypeScript 5.0+
Setup
# Clone repository
git clone <repository-url>
cd fibrous-mcp
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Watch mode with auto-reload
pnpm dev:watch
Code Quality
# Type checking
pnpm typecheck
# Linting
pnpm lint
pnpm lint:fix
# Code formatting
pnpm format
pnpm format:check
Testing
Comprehensive test suite with 82.6% coverage across all modules:
# Run all tests
pnpm test
# Watch mode for development
pnpm test:watch
# Coverage report
pnpm test:coverage
# CI mode
pnpm test:ci
Test Results:
- 167/167 tests passing
- 10 test suites, ~3.1s execution
- Native BigInt with router-sdk v0.6.0
Test Coverage by Module
- API endpoints: 17 tests
- Server configuration: 14 tests
- Tool handlers: 14 tests
- Utilities: 122 tests (BigInt operations, configuration, responses, swap logic, validation)
Coverage Details
- Statements: 82.56%
- Branches: 73.46%
- Functions: 75.71%
- Lines: 83.18%
Technical Details
Native BigInt Integration
- Router SDK v0.6.0: Latest Fibrous SDK compatibility
- 50KB smaller bundle: Removed BigNumber.js dependency
- Faster calculations: Native JavaScript
bigintoperations - Modern standards: ES2022+ features
// Example: Native BigInt usage
const amount = BigInt("1000000000000000000"); // 1 ETH
const route = await router.getBestRoute(amount, tokenIn, tokenOut, "base");
Architecture
- MCP Protocol: Model Context Protocol compliance
- Type Safety: Full TypeScript implementation
- Error Handling: Comprehensive error management
- Security: Environment variable validation and masking
Production Deployment
Environment Setup
# Production build
pnpm build:clean
# Production start
NODE_ENV=production pnpm start:prod
Security Considerations
- Store private keys securely (use secrets management)
- Configure appropriate RPC endpoints
- Set up monitoring and logging
- Use HTTPS for all external connections
Performance
- Native BigInt: 2-3x faster than BigNumber.js
- Bundle Size: 50KB reduction vs v0.5.x
- Memory Usage: Optimized for long-running processes
- Rate Limiting: 200 req/min (configurable)
Resources
- Fibrous Finance - Main website
- Documentation - API docs
- MCP Protocol - MCP specifications
- Router SDK v0.6.0 - Local SDK documentation
API Endpoints:
- https://api.fibrous.finance (200 req/min)
- https://graph.fibrous.finance
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass:
pnpm test - Submit a pull request
Development Guidelines
- Follow TypeScript best practices
- Maintain test coverage above 75%
- Use conventional commit messages
- Update documentation for new features
License
MIT - see LICENSE
Risk Warning: DeFi operations involve financial risk. Always verify transactions and use testnet for development.
Status: Production ready with comprehensive test coverage and native BigInt support.
