Fibrous MCP Server

Un servidor para Fibrous Finance, una plataforma de agregación DeFi.

Documentación

Servidor MCP Fibrous

Node.js TypeScript License Fibrous SDK Test Coverage

Servidor MCP que proporciona a los agentes de IA herramientas para operaciones DeFi multicadena utilizando el SDK de Fibrous.

Características

10 herramientas disponibles:

  • get-supported-tokens - Listar tokens disponibles
  • get-supported-protocols - Listar protocolos DEX
  • get-best-route - Encontrar rutas de intercambio óptimas
  • get-best-route-batch - Encontrar rutas óptimas para intercambios por lotes (solo Starknet)
  • build-transaction - Generar datos de transacción
  • build-batch-transaction - Generar datos de transacción por lotes (solo Starknet)
  • format-token-amount - Convertir entre formatos human y wei
  • get-token - Obtener detalles de token por dirección
  • execute-swap - Ejecutar intercambios de tokens (requiere configuración de wallet)
  • estimate-swap - Estimar costos de gas (requiere configuración de wallet)

Redes compatibles:

  • Base - Uniswap V3, Aerodrome, SwapBased
  • Starknet - JediSwap, MySwap, 10kSwap, Ekubo
  • Scroll - Uniswap V3, SyncSwap, iZiSwap

Inicio rápido

# 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

Configuración

Variables de entorno

Configuración principal:

NODE_ENV=development
DEFAULT_SLIPPAGE=1.0

Configuración de red:

# 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...

Configuración opcional:

# Debug configuration
DEBUG=false
LOG_LEVEL=info
ENABLE_METRICS=false

# API optimization
FIBROUS_API_KEY=your_api_key_here

Configuración del cliente MCP

Añade a la configuración de tu cliente MCP:

{
	"mcpServers": {
		"fibrous-mcp": {
			"command": "node",
			"args": ["/path/to/fibrous-mcp/build/src/index.js"]
		}
	}
}

Desarrollo

Requisitos previos

  • Node.js 18+
  • pnpm (recomendado)
  • TypeScript 5.0+

Configuración

# 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

Calidad del código

# Type checking
pnpm typecheck

# Linting
pnpm lint
pnpm lint:fix

# Code formatting
pnpm format
pnpm format:check

Pruebas

Suite de pruebas integral con 82.6% de cobertura en todos los módulos:

# Run all tests
pnpm test

# Watch mode for development
pnpm test:watch

# Coverage report
pnpm test:coverage

# CI mode
pnpm test:ci

Resultados de las pruebas:

  • 167/167 pruebas superadas
  • 10 suites de pruebas, ~3.1s de ejecución
  • BigInt nativo con router-sdk v0.6.0

Cobertura de pruebas por módulo

  • Endpoints de API: 17 pruebas
  • Configuración del servidor: 14 pruebas
  • Manejadores de herramientas: 14 pruebas
  • Utilidades: 122 pruebas (operaciones BigInt, configuración, respuestas, lógica de intercambio, validación)

Detalles de cobertura

  • Sentencias: 82.56%
  • Ramas: 73.46%
  • Funciones: 75.71%
  • Líneas: 83.18%

Detalles técnicos

Integración nativa con BigInt

  • Router SDK v0.6.0: Compatibilidad con el último SDK de Fibrous
  • Bundle 50KB más pequeño: Se eliminó la dependencia de BigNumber.js
  • Cálculos más rápidos: Operaciones nativas de JavaScript bigint
  • Estándares modernos: Funciones ES2022+
// Example: Native BigInt usage
const amount = BigInt("1000000000000000000"); // 1 ETH
const route = await router.getBestRoute(amount, tokenIn, tokenOut, "base");

Arquitectura

  • Protocolo MCP: Cumplimiento del Model Context Protocol
  • Seguridad de tipos: Implementación completa en TypeScript
  • Manejo de errores: Gestión integral de errores
  • Seguridad: Validación y enmascaramiento de variables de entorno

Despliegue en producción

Configuración del entorno

# Production build
pnpm build:clean

# Production start
NODE_ENV=production pnpm start:prod

Consideraciones de seguridad

  • Almacena las claves privadas de forma segura (usa gestión de secretos)
  • Configura endpoints RPC apropiados
  • Configura monitoreo y registro de logs
  • Usa HTTPS para todas las conexiones externas

Rendimiento

  • BigInt nativo: 2-3 veces más rápido que BigNumber.js
  • Tamaño del bundle: Reducción de 50KB frente a v0.5.x
  • Uso de memoria: Optimizado para procesos de larga duración
  • Límite de peticiones: 200 req/min (configurable)

Recursos

Endpoints de API:

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de funcionalidad
  3. Realiza tus cambios
  4. Añade pruebas para la nueva funcionalidad
  5. Asegúrate de que todas las pruebas pasen: pnpm test
  6. Envía una solicitud de pull

Directrices de desarrollo

  • Sigue las mejores prácticas de TypeScript
  • Mantén la cobertura de pruebas por encima del 75%
  • Usa mensajes de commit convencionales
  • Actualiza la documentación para nuevas funcionalidades

Licencia

MIT - ver LICENCIA


Advertencia de riesgo: Las operaciones DeFi implican riesgo financiero. Verifica siempre las transacciones y usa testnet para desarrollo.

Estado: Listo para producción con cobertura integral de pruebas y soporte nativo de BigInt.