Flutter Package MCP Server

Un servidor del Protocolo de Contexto de Modelo (MCP) para paquetes de Flutter, diseñado para integrarse con asistentes de IA como Claude.

Documentación

Flutter Package MCP Server

🚀 Model Context Protocol (MCP) server para paquetes Flutter - ¡Úsalo integrado con Claude y otros asistentes de IA para el ecosistema de paquetes Flutter!

Trabaja integrado con la API de Pub.dev para ofrecer a tu asistente de IA la información actualizada, versiones y documentación de los paquetes Flutter.

✨ Características

  • 📦 Información de paquetes: Versión actual, descripción, dependencias e instrucciones de instalación
  • 🔍 Búsqueda inteligente: Búsqueda de paquetes Flutter por palabra clave
  • 📊 Gestión de versiones: Listar y comparar todas las versiones de paquetes
  • 📖 Documentación completa: README, documentación de API y documentación personalizada
  • Evaluación de paquetes: Popularidad, puntuaciones de calidad y me gusta de la comunidad
  • 🔥 Análisis de tendencias: Descubre los paquetes más populares y en tendencia
  • 🇹🇷 Soporte en turco: Interfaz y descripciones completamente en turco

🛠️ Instalación

Requisitos previos

  • Node.js v18 o superior (Descargar)
  • npm o yarn como gestor de paquetes
  • Claude Desktop o un cliente de IA compatible con MCP

1. Clonar el proyecto

git clone https://github.com/OrtakProje-1/flutter-package-mcp-server.git
cd flutter-package-mcp-server

2. Instalar dependencias

npm install

3. Compilar el proyecto

npm run build

4. Probar

npm run dev

Si el servidor se ejecuta correctamente, use Ctrl+C para salir de la terminal.

🔧 Configuración del cliente MCP

Uso con Claude Desktop

  1. Encuentra el archivo de configuración de Claude Desktop:

    macOS:

    ~/Library/Application Support/Claude/claude_desktop_config.json
    

    Windows:

    %APPDATA%\Claude\claude_desktop_config.json
    

    Linux:

    ~/.config/Claude/claude_desktop_config.json
    
  2. Edita el archivo de configuración:

    {
      "mcpServers": {
        "flutter-packages": {
          "command": "node",
          "args": ["/FULL/PATH/TO/flutter-package-mcp-server/dist/index.js"],
          "env": {}
        }
      }
    }
    

    ⚠️ Importante: Reemplace la parte /FULL/PATH/TO/flutter-package-mcp-server con la ruta absoluta real del proyecto.

  3. Reinicia Claude Desktop

Uso con Cursor IDE

  1. Abre la configuración de Cursor (Cmd/Ctrl + ,)

  2. Agrega la siguiente configuración a los ajustes de MCP:

    {
      "mcp": {
        "servers": {
          "flutter-packages": {
            "command": "node",
            "args": ["/FULL/PATH/TO/flutter-package-mcp-server/dist/index.js"]
          }
        }
      }
    }
    
  3. Reinicia Cursor

Otros clientes MCP

Este servidor se puede usar con cualquier cliente que admita el estándar MCP. El servidor se comunica a través de stdio.

🎯 Ejemplos de uso

Obtener información de un paquete

"http paketinin güncel bilgilerini ve kurulum talimatlarını getir"

Buscar paquetes

"state management için en iyi Flutter paketlerini ara"

Comparar versiones

"provider paketinin tüm versiyonlarını listele"

Documentación

"bloc paketinin detaylı dokümantasyonunu ve kullanım örneklerini getir"

Análisis de tendencias

"Bu ay trend olan Flutter paketlerini göster"

Evaluación de paquetes

"riverpod ve provider paketlerini karşılaştır, hangisi daha popüler?"

🛠️ Desarrollo

Preparar el entorno de desarrollo

# Repository'yi fork edin ve klonlayın
git clone https://github.com/OrtakProje-1/flutter-package-mcp-server.git
cd flutter-package-mcp-server

# Bağımlılıkları yükleyin
npm install

# Geliştirme modunda çalıştırın
npm run dev

Scripts disponibles

# TypeScript'i build et
npm run build

# Geliştirme modunda çalıştır (hot reload)
npm run dev

# Production modunda çalıştır
npm start

# Tip kontrolü
npm run type-check

Estructura del proyecto

flutter-package-mcp-server/
├── src/
│   └── index.ts          # Ana server kodu
├── dist/                 # Build edilmiş dosyalar
├── package.json
├── tsconfig.json
└── README.md

Agregar una nueva característica

  1. Agregue un nuevo método a la clase FlutterPackageMCPServer en el archivo src/index.ts
  2. Defina la nueva herramienta en el método setupToolHandlers()
  3. Agregue un nuevo caso en el manejador CallToolRequestSchema
  4. Compile y pruebe

📊 Herramientas de API disponibles

Nombre de la herramientaDescripciónParámetros
get_package_infoObtiene detalles del paquetepackage_name: string
search_packagesRealiza búsqueda de paquetesquery: string, page?: number
get_package_versionsLista todas las versionespackage_name: string
get_package_documentationObtiene documentaciónpackage_name: string, version?: string
get_package_scoreObtiene puntuaciones de paquetespackage_name: string
get_trending_packagesLista paquetes en tendenciapage?: number

⚡ Rendimiento y límites

Límites de la API de Pub.dev

  • Rate Limiting: 10 solicitudes por segundo, 600 por minuto
  • Límite diario: 36,000 solicitudes por hora
  • Timeout: 30 segundos

Consejos de optimización

  • Se planea el uso de caché para paquetes de uso frecuente
  • Las solicitudes por lotes se agregarán en la próxima versión

🐛 Solución de problemas

El servidor no funciona

# Node.js versiyonunu kontrol edin
node --version  # v18+ olmalı

# Bağımlılıkları yeniden yükleyin
rm -rf node_modules package-lock.json
npm install

# Build işlemini tekrarlayın
npm run build

Problema de conexión con Claude Desktop

  1. Verifique la ubicación del archivo de configuración
  2. Asegúrese de que la sintaxis JSON sea correcta
  3. Compruebe que la ruta del archivo sea una ruta absoluta
  4. Cierre y abra completamente Claude Desktop

Errores de API

# İnternet bağlantısını test edin
curl https://pub.dev/api/packages/http

# DNS sorunları için
nslookup pub.dev

# Proxy ayarlarınızı kontrol edin
echo $HTTP_PROXY
echo $HTTPS_PROXY

Modo de depuración

# Detaylı loglar için
DEBUG=* npm run dev

# Sadece MCP logları için
DEBUG=mcp:* npm run dev

🤝 Contribuciones

¡Agradecemos sus contribuciones!

Proceso de contribución

  1. Haga un fork
  2. Cree una rama de características (git checkout -b feature/amazing-feature)
  3. Haga commit de sus cambios (git commit -m 'Add amazing feature')
  4. Haga push de su rama (git push origin feature/amazing-feature)
  5. Cree un Pull Request

Reglas de desarrollo

  • Use el modo estricto de TypeScript
  • Escriba pruebas para cada nueva característica
  • Use el formato de commit convencional en los mensajes de commit
  • Mantenga el README actualizado

Características solicitadas

  • Sistema de caché de paquetes
  • Soporte de modo sin conexión
  • Solicitudes de API por lotes
  • Visualización del árbol de dependencias de paquetes
  • Verificación de vulnerabilidades
  • Control de compatibilidad de licencias

📄 Licencia

Este proyecto está licenciado bajo la licencia MIT. Para más detalles, consulte el archivo LICENSE.

🙏 Agradecimientos

📞 Soporte

Para preguntas o problemas:


¡No olvides dar una estrella si este proyecto te fue útil!

Hecho con ❤️ para la comunidad de Flutter