Provides deployment platform for the MCP server with automatic CI/CD integration and health monitoring capabilities
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JobNimbus MCP Remote Servershow me my leads for this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
JobNimbus MCP Client
Connect Claude Desktop to your remote JobNimbus MCP server from any computer
This package provides an MCP (Model Context Protocol) client that connects Claude Desktop to a remote JobNimbus MCP server. No local installation or repository cloning required!
✨ Características
🔒 Zero Storage Security: API keys NUNCA almacenadas en el servidor
🌐 Multi-Cliente: Soporta múltiples clientes simultáneos
⚡ Stateless: Cada request es independiente
🚦 Rate Limiting: Protección automática por cliente
🛠️ Extensible: Agregar nuevas herramientas en ~10 minutos
🔄 CI/CD Automático: Deploy con
git push📊 Monitoreo: Health checks y logs sanitizados
🎯 Arquitectura
Claude Desktop (API Key) → Render.com Server → JobNimbus API
↓ ↓
Local Config Valida temporalmente
(Nunca sale) (Nunca almacena)Principio clave: El servidor es un proxy stateless. Las API keys vienen del cliente en cada request y se limpian de memoria inmediatamente después de usarlas.
📦 Instalación Rápida
1. Clonar e Instalar
cd jobnimbus-mcp-remote
npm install2. Configurar Entorno Local
cp .env.example .env3. Ejecutar Localmente
npm run devVisitar: http://localhost:3000/health
4. Desplegar a Render.com
Ver: docs/SETUP.md para guía completa de deployment.
🔧 Herramientas Disponibles (88 TOTAL - Optimizado)
Core CRUD (27 herramientas)
Validación:
validate_api_key- Validar API keyJobs (7):
get_jobs,search_jobs,search_jobs_enhanced,get_job,search_job_notes,get_job_tasksStatus Search (13):
search_jobs_by_status,get_leads,get_pending_approval,get_lost_jobs,get_in_progress,get_completed,get_paid_closed,get_estimating,get_signed_contracts,get_scheduled,get_appointments,get_invoiced,get_depositsContactos (3):
get_contacts,search_contacts,create_contactOtros (3):
get_estimates,get_activities,create_activity,get_calendar_activities,get_timeline_data
Analytics (35 herramientas)
Insurance & Retail (3):
analyze_insurance_pipeline,analyze_retail_pipeline,analyze_services_repair_pipelineFinancial (6):
get_sales_rep_performance,get_performance_metrics,get_automated_followup,get_revenue_report,get_margin_analysis,analyze_revenue_leakage,get_profitability_dashboardPerformance (2):
get_seasonal_trends,get_pipeline_forecastingTerritory (5):
get_job_summary,get_optimal_door_routes,get_territory_heat_maps,get_jobs_distribution,get_door_knocking_scripts_by_area,get_seasonal_door_timing,get_estimates_with_addressesProductivity (9):
get_activities_analytics,get_task_management_analytics,get_user_productivity_analytics,get_lead_scoring_analytics,get_communication_analytics,get_conversion_funnel_analytics,get_resource_allocation_analytics,get_customer_satisfaction_analytics,get_time_tracking_analyticsBusiness (8):
get_project_management_analytics,get_marketing_campaign_analytics,get_financial_forecasting_analytics,get_customer_segmentation_analytics,get_operational_efficiency_analytics,get_sales_velocity_analytics,get_competitive_analysis_analytics
Materials (11 herramientas)
Tracking:
get_estimate_materials,analyze_material_costs,get_material_usage_report,get_material_inventory_insightsCalculations:
calculate_roofing_materials,calculate_siding_materials,estimate_materials_from_job,calculate_waste_factors,optimize_material_orders,get_material_specifications,compare_material_alternatives
Attachments & Business Intelligence (6 herramientas)
Attachments (4):
get_attachments,get_file_by_id,analyze_job_attachments,get_job_attachments_distributionBusiness (1):
search_insurance_jobsInvoices (1):
get_invoices
System (2 herramientas)
get_tasks,get_users
📦 Herramientas Archivadas/Experimentales
Se removieron 14 herramientas obsoletas o no funcionales para optimizar rendimiento:
Ver
/src/tools/archived/- 11 herramientas sin valor operativoVer
/src/tools/experimental/- 7 herramientas con endpoints no verificados
Beneficios: ~40% reducción en uso de tokens, descubrimiento de herramientas más rápido. Agregar más: Ver docs/ADDING_TOOLS.md
💻 Configuración MCP
Opción 1: Claude Code (Recomendado)
Configurar variables de entorno:
cp .env.mcp.example .env.mcp
# Edita .env.mcp con tus API keysCargar variables (PowerShell):
Get-Content .env.mcp | ForEach-Object {
if ($_ -match '^([^=]+)=(.+)$') {
[Environment]::SetEnvironmentVariable($matches[1], $matches[2], 'Process')
}
}Verificar:
/mcpVer guía completa: MCP_SETUP.md
Opción 2: Claude Desktop
Ubicación: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"jobnimbus-stamford": {
"command": "node",
"args": ["C:/ruta/a/examples/mcp-client.js"],
"env": {
"MCP_SERVER_URL": "https://tu-servidor.onrender.com",
"JOBNIMBUS_API_KEY": "tu_api_key_stamford",
"JOBNIMBUS_INSTANCE": "stamford"
}
}
}
}Ver ejemplo completo: examples/claude-desktop-config.json
📚 Documentación
📖 Setup Guide - Instalación y deployment
🔌 MCP Setup - Configuración de MCP para Claude Code
🏗️ Arquitectura - Diseño técnico completo
🛠️ Agregar Herramientas - Cómo crear nuevas tools
🔐 Seguridad
✅ Lo que HACE el servidor:
Extrae API key del header
X-JobNimbus-Api-KeyValida formato del API key
Usa el API key para llamar a JobNimbus
Limpia el API key de memoria inmediatamente
❌ Lo que NO HACE el servidor:
Almacenar API keys en base de datos
Guardar API keys en archivos
Loggear API keys
Cachear API keys
Compartir API keys entre clientes
Verificación de Seguridad
# Buscar si hay API keys hardcodeados (debe retornar vacío)
grep -r "api[_-]key.*=" src/
# Audit de dependencias
npm audit
# Tests de seguridad en CI
npm run lint🚀 Deployment
Automático (Recomendado)
git add .
git commit -m "feat: nueva funcionalidad"
git push origin mainGitHub Actions despliega automáticamente a Render.com.
Manual
npm run build
npm run start:prod🧪 Testing
Health Check
curl https://tu-servidor.onrender.com/healthListar Herramientas
curl -X POST https://tu-servidor.onrender.com/mcp/tools/list \
-H "X-JobNimbus-Api-Key: tu_api_key" \
-H "Content-Type: application/json"Ejecutar Herramienta
curl -X POST https://tu-servidor.onrender.com/mcp/tools/call \
-H "X-JobNimbus-Api-Key: tu_api_key" \
-H "Content-Type: application/json" \
-d '{"name":"get_jobs","arguments":{"size":10}}'📊 Monitoreo
Health Check Endpoint
GET /health- Estado del servidor
Rate Limit Headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1234567890Logs
Todos los logs están sanitizados - no incluyen API keys ni información sensible.
🛠️ Desarrollo
Estructura del Proyecto
jobnimbus-mcp-remote/
├── src/
│ ├── server/ # Express server
│ ├── middleware/ # Auth, rate limiting
│ ├── tools/ # MCP tools
│ ├── services/ # JobNimbus client
│ ├── config/ # Configuración
│ ├── types/ # TypeScript types
│ └── utils/ # Logger, errors
├── .github/workflows/ # CI/CD
├── docs/ # Documentación
├── scripts/ # Scripts útiles
└── examples/ # Ejemplos de usoComandos Disponibles
npm run dev # Desarrollo con hot reload
npm run build # Compilar TypeScript
npm run start # Ejecutar producción
npm run lint # Linter
npm run type-check # Verificar tipos
npm test # Tests🤝 Contribuir
Fork el proyecto
Crea una rama:
git checkout -b feature/nueva-funcionalidadCommit:
git commit -m 'feat: agregar nueva funcionalidad'Push:
git push origin feature/nueva-funcionalidadAbre un Pull Request
📄 Licencia
MIT
🆘 Soporte
Documentación: Ver carpeta
docs/Issues: GitHub Issues
Logs: Render.com dashboard
✅ Estado del Proyecto
Estructura base
Servidor Express con MCP
Middleware de seguridad
JobNimbus API client
Sistema de tools extensible
88 herramientas CONSOLIDADAS ✅ (14 archivadas/experimentales)
GitHub Actions CI/CD
Render.com config
Documentación completa
Cliente para Claude Desktop
Factory pattern para extensibilidad
Redis cache integration para optimización
Consolidación de herramientas (enero 2025)
Tests unitarios (próximo)
Métricas y monitoring avanzado (opcional)
Hecho con ❤️ para acceso remoto seguro a JobNimbus desde Claude Desktop