Fibrous MCP Server

Um servidor para Fibrous Finance, uma plataforma de agregação DeFi.

Documentação

Servidor MCP Fibrous

Node.js TypeScript License Fibrous SDK Test Coverage

Servidor MCP que fornece a agentes de IA ferramentas para operações DeFi em múltiplas cadeias usando o SDK Fibrous.

Recursos

10 Ferramentas Disponíveis:

  • get-supported-tokens - Listar tokens disponíveis
  • get-supported-protocols - Listar protocolos DEX
  • get-best-route - Encontrar rotas de swap ideais
  • get-best-route-batch - Encontrar rotas ideais para swaps em lote (somente Starknet)
  • build-transaction - Gerar dados de transação
  • build-batch-transaction - Gerar dados de transação em lote (somente Starknet)
  • format-token-amount - Converter entre formatos human e wei
  • get-token - Buscar detalhes de token por endereço
  • execute-swap - Executar swaps de tokens (requer configuração de carteira)
  • estimate-swap - Estimar custos de gás (requer configuração de carteira)

Redes Suportadas:

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

Início 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

Configuração

Variáveis de Ambiente

Configuração Principal:

NODE_ENV=development
DEFAULT_SLIPPAGE=1.0

Configuração de Rede:

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

Configurações Opcionais:

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

# API optimization
FIBROUS_API_KEY=your_api_key_here

Configuração do Cliente MCP

Adicione à configuração do seu cliente MCP:

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

Desenvolvimento

Pré-requisitos

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

Configuração

# 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

Qualidade de Código

# Type checking
pnpm typecheck

# Linting
pnpm lint
pnpm lint:fix

# Code formatting
pnpm format
pnpm format:check

Testes

Suíte de testes abrangente com 82,6% de cobertura em todos os 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 dos Testes:

  • 167/167 testes passando
  • 10 suítes de teste, ~3,1s de execução
  • BigInt nativo com router-sdk v0.6.0

Cobertura de Testes por Módulo

  • Endpoints de API: 17 testes
  • Configuração do servidor: 14 testes
  • Handlers de ferramentas: 14 testes
  • Utilitários: 122 testes (operações BigInt, configuração, respostas, lógica de swap, validação)

Detalhes de Cobertura

  • Declarações: 82,56%
  • Ramos: 73,46%
  • Funções: 75,71%
  • Linhas: 83,18%

Detalhes Técnicos

Integração BigInt Nativo

  • Router SDK v0.6.0: Compatibilidade com o SDK Fibrous mais recente
  • Bundle 50KB menor: Dependência BigNumber.js removida
  • Cálculos mais rápidos: Operações bigint nativas em JavaScript
  • Padrões modernos: Recursos ES2022+
// Example: Native BigInt usage
const amount = BigInt("1000000000000000000"); // 1 ETH
const route = await router.getBestRoute(amount, tokenIn, tokenOut, "base");

Arquitetura

  • Protocolo MCP: Conformidade com o Model Context Protocol
  • Segurança de Tipos: Implementação completa em TypeScript
  • Tratamento de Erros: Gerenciamento abrangente de erros
  • Segurança: Validação e mascaramento de variáveis de ambiente

Implantação em Produção

Configuração do Ambiente

# Production build
pnpm build:clean

# Production start
NODE_ENV=production pnpm start:prod

Considerações de Segurança

  • Armazene chaves privadas com segurança (use gerenciamento de segredos)
  • Configure endpoints RPC apropriados
  • Configure monitoramento e registro de logs
  • Use HTTPS para todas as conexões externas

Desempenho

  • BigInt Nativo: 2-3x mais rápido que BigNumber.js
  • Tamanho do Bundle: Redução de 50KB em comparação com v0.5.x
  • Uso de Memória: Otimizado para processos de longa duração
  • Limite de Taxa: 200 req/min (configurável)

Recursos

Endpoints de API:

Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Faça suas alterações
  4. Adicione testes para novas funcionalidades
  5. Garanta que todos os testes passem: pnpm test
  6. Envie um pull request

Diretrizes de Desenvolvimento

  • Siga as melhores práticas de TypeScript
  • Mantenha a cobertura de testes acima de 75%
  • Use mensagens de commit convencionais
  • Atualize a documentação para novos recursos

Licença

MIT - veja LICENSE


Aviso de Risco: Operações DeFi envolvem risco financeiro. Sempre verifique as transações e use testnet para desenvolvimento.

Status: Pronto para produção com cobertura abrangente de testes e suporte nativo a BigInt.