Fibrous MCP Server
A server for Fibrous Finance, a DeFi aggregation platform.
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.
Related Servers
Polar MCP Server
MCP server for Polar AccessLink API to export data from Polar watches.
D&D MCP Server
A server for managing Dungeons & Dragons campaigns, storing all data in local JSON files.
OctoEverywhere For 3D Printing
A 3D Printing MCP server that allows for querying for live state, webcam snapshots, and 3D printer control.
Relay-gateway
Relay is a desktop application for managing Model Context Protocol (MCP) servers. It provides a user-friendly interface to configure, enable/disable, and export MCP servers for use with Claude Desktop and other AI applications.
MCP Simple Timeserver
Provides current local time, UTC time, and timezone information.
WattyEnergie MCP Server
Dutch energy comparison tools. Calculate costs, compare contracts, get dynamic EPEX prices.
Manifold Markets
Interact with Manifold Markets prediction markets, including market creation, trading, and liquidity management.
xcomet-mcp-server
Translation quality evaluation using xCOMET models. Provides quality scoring (0-1), error detection with severity levels, and optimized batch processing with 25x speedup.
MCP-Ambari-API
Automate Apache Ambari operations with AI/LLM: Natural language commands for Hadoop cluster management, service control, configuration monitoring, and real-time status tracking via Model Context Protocol (MCP) tools.
Poof
Background removal API - remove backgrounds from images with a simple API call. Supports PNG, JPEG, WebP output with transparency or custom backgrounds.