MCP API Bridge

Un servidor que conecta las APIs de Google Sheets, Azure AI y MQTT.

Documentación

Servidor MCP API Bridge

Un servidor Model Context Protocol (MCP) para conectar Google Sheets API, Azure AI API y MQTT API.

Características

🗃️ Google Sheets API

  • Generar ejemplos de código para agregar datos a una hoja de cálculo
  • Generar ejemplos de código para leer todos los datos de una hoja de cálculo
  • Generar ejemplos de código para actualizar datos de una fila específica
  • Generar ejemplos de código para eliminar datos de una fila específica
  • Generar ejemplos de código para sobrescribir toda la hoja de cálculo

🤖 Azure AI API

  • Generar ejemplos de código usando Azure AI (GPT-4o-mini)
  • Soporte de ejemplos de código en modo síncrono y streaming
  • Ejemplos de implementación de código WebSocket

📡 MQTT API

  • Establecer conexión de dispositivos IoT
  • Publicar mensajes MQTT (síncrono/asíncrono)
  • Suscribirse a temas MQTT
  • Registrar manejadores de mensajes
  • Soporte de configuración de nivel QoS

Instalación y configuración

Requisitos previos

  • Node.js 18.0.0 o superior
  • npm o yarn
  • Cursor IDE (si se usa en Cursor)

🚀 Instalación rápida (recomendada)

1. Instalación global de MCP API Bridge

npm install -g https://github.com/marty5499/mcp-api-bridge.git

2. Configurar MCP en Cursor

Encuentre y edite el archivo de configuración MCP de Cursor:

macOS:

~/.cursor/mcp.json

Linux:

~/.config/cursor/mcp.json

Windows:

%APPDATA%\Cursor\mcp.json

Agregue la siguiente configuración al archivo:

{
  "mcpServers": {
    "api-bridge": {
      "command": "mcp-api-bridge",
      "env": {}
    }
  }
}

3. Reiniciar Cursor

Reinicie Cursor IDE para que la configuración surta efecto.

🔄 Actualizar a la última versión

Cuando se publique una nueva versión, use el siguiente comando para actualizar:

npm update -g https://github.com/marty5499/mcp-api-bridge.git

🛠️ Instalación para desarrolladores (desarrollo local)

Si desea modificar o desarrollar este proyecto:

  1. Clonar el proyecto
git clone https://github.com/marty5499/mcp-api-bridge.git
cd mcp-api-bridge
  1. Instalar dependencias
npm install
  1. Prueba local
# 測試工具列表
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node mcp-api-bridge.js

# 啟動開發模式(檔案監控)
npm run dev

Uso

✅ Verificar instalación

Después de la instalación, puede ver el servidor MCP API Bridge conectado en Cursor y usar las siguientes 11 herramientas:

  • Google Sheets API (5 herramientas): Generar ejemplos de código para operaciones de API
  • Azure AI API (1 herramienta): Generar ejemplos de código para conversaciones de IA
  • MQTT API (5 herramientas): Funcionalidad completa de gestión de dispositivos IoT

Herramientas disponibles

Herramientas de Google Sheets API

  1. google_sheet_append - Generar ejemplo de código para agregar datos
{
  "url": "https://docs.google.com/spreadsheets/d/your-sheet-id/edit",
  "values": ["張三", "25", "工程師", "2024-01-15"]
}
  1. google_sheet_get - Generar ejemplo de código para leer datos
{
  "url": "https://docs.google.com/spreadsheets/d/your-sheet-id/edit"
}
  1. google_sheet_update - Generar ejemplo de código para actualizar datos
{
  "url": "https://docs.google.com/spreadsheets/d/your-sheet-id/edit",
  "rowIdx": 2,
  "cols": ["李四", "30", "設計師", "2024-01-16"]
}
  1. google_sheet_delete - Generar ejemplo de código para eliminar datos
{
  "url": "https://docs.google.com/spreadsheets/d/your-sheet-id/edit",
  "rowIdx": 3
}
  1. google_sheet_save - Generar ejemplo de código para sobrescribir datos
{
  "url": "https://docs.google.com/spreadsheets/d/your-sheet-id/edit",
  "rows": [
    ["姓名", "年齡", "職業", "日期"],
    ["王五", "28", "產品經理", "2024-01-17"]
  ]
}

Herramientas de Azure AI API

  1. azure_ai_chat - Generar ejemplo de código de Azure AI
{
  "prompt": "我需要一個聊天機器人的程式碼範例",
  "streaming": false
}

Herramientas de MQTT API

  1. mqtt_device_create - Crear dispositivo
{
  "deviceId": "sensor001"
}
  1. mqtt_publish - Publicar mensaje
{
  "deviceId": "sensor001",
  "topic": "server001.data",
  "payload": {
    "temperature": 25.5,
    "humidity": 60.2
  },
  "qos": 0
}
  1. mqtt_publish_sync - Publicación síncrona
{
  "deviceId": "client001",
  "topic": "server001.getConfig",
  "payload": {
    "configType": "network"
  },
  "timeout": 10000,
  "qos": 1
}
  1. mqtt_register_handler - Registrar manejador
{
  "deviceId": "server001",
  "action": "data",
  "handlerCode": "const { payload } = message; console.log('處理資料:', payload); return { status: 'ok' };"
}
  1. mqtt_subscribe - Suscribirse a tema
{
  "deviceId": "monitor001",
  "topic": "alerts/+",
  "qos": 1
}

Información de endpoints de API

Google Sheets API

  • URL base: https://hshgpt.webduino.tw/api/sheets/
  • Operaciones soportadas: append, get, update, del, save

Azure AI API

  • URL WebSocket: wss://hshgpt.webduino.tw
  • Protocolo: Comunicación por streaming WebSocket

MQTT API

  • URL del broker: wss://mqtt-edu.webduino.io/mqtt
  • Autenticación: username: hsh2025, password: hsh2025

Ejemplos de aplicación práctica

1. Sistema de recopilación de datos IoT

// 步驟 1: 建立感測器裝置
await mcp.call('mqtt_device_create', { deviceId: 'temperature_sensor' });

// 步驟 2: 建立資料伺服器
await mcp.call('mqtt_device_create', { deviceId: 'data_server' });

// 步驟 3: 註冊處理器,將資料記錄到 Google Sheets
await mcp.call('mqtt_register_handler', {
  deviceId: 'data_server',
  action: 'logData',
  handlerCode: `
    const { payload } = message;
    // 這裡可以調用 Google Sheets API 記錄資料
    console.log('記錄資料:', payload);
    return { status: 'logged' };
  `
});

// 步驟 4: 感測器發送資料
await mcp.call('mqtt_publish', {
  deviceId: 'temperature_sensor',
  topic: 'data_server.logData',
  payload: {
    temperature: 23.5,
    location: '會議室A',
    timestamp: new Date().toISOString()
  }
});

2. Análisis de datos asistido por IA

// 步驟 1: 讀取試算表資料
const data = await mcp.call('google_sheet_get', {
  url: 'https://docs.google.com/spreadsheets/d/sales-data/edit'
});

// 步驟 2: 產生 Azure AI 分析程式碼
const aiCodeExample = await mcp.call('azure_ai_chat', {
  prompt: '我需要一個分析銷售資料的 AI 程式碼範例',
  streaming: false
});

// 步驟 3: 根據產生的程式碼範例,實作 AI 分析功能
// (這裡需要開發者根據範例程式碼進行實作)
console.log('產生的 AI 程式碼範例:', aiCodeExample.content[0].text);

Manejo de errores

Todas las llamadas a herramientas incluyen mecanismos de manejo de errores:

  • Google Sheets API: Verificar formato de URL y respuesta de API
  • Azure AI API: Manejo de errores de conexión WebSocket y tiempos de espera
  • MQTT API: Verificación de estado de conexión y gestión de dispositivos

Estructura del proyecto

mcp-api-bridge/
├── mcp-api-bridge.js     # 主要 MCP 伺服器檔案
├── lib/
│   └── iotDevice.js      # MQTT IoT 裝置類別
├── examples/
│   └── usage-examples.js # 使用範例
├── docs/
│   └── changelog.md      # 變更日誌
├── package.json          # 專案設定
├── .gitignore           # Git 忽略設定
└── README.md            # 專案說明

📦 Repositorio de GitHub

Guía de desarrollo

Agregar herramientas

  1. Definir el esquema de la herramienta en setupToolHandlers()
  2. Implementar la función de manejo correspondiente
  3. Agregar a la declaración switch de CallToolRequestSchema

Pruebas

# 執行範例
node examples/usage-examples.js

# 測試 MCP 伺服器連線
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node mcp-api-bridge.js

# 測試特定工具 (Google Sheets)
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "google_sheet_get", "arguments": {"url": "https://docs.google.com/spreadsheets/d/test/edit"}}}' | node mcp-api-bridge.js

# 測試全域安裝版本
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | mcp-api-bridge

🔧 Solución de problemas

Problema: No se ve el servidor MCP en Cursor

  1. Verificar que el formato del archivo de configuración ~/.cursor/mcp.json sea correcto
  2. Confirmar que se reinició Cursor IDE
  3. Verificar si se puede ejecutar el comando mcp-api-bridge en la terminal

Problema: Fallo en la llamada a herramientas

  1. Verificar el estado de la conexión de red
  2. Confirmar que los endpoints de API sean accesibles
  3. Revisar la salida de registros del servidor MCP

Problema: Funcionamiento anormal después de actualizar

# 清除 npm 快取並重新安裝
npm cache clean --force
npm uninstall -g mcp-api-bridge
npm install -g https://github.com/marty5499/mcp-api-bridge.git

Licencia

MIT License

Contribuciones

¡Bienvenidos Issues y Pull Requests!

Registro de cambios

v1.0.2 (2025-01-15)

  • 🔧 Corregida la funcionalidad de las herramientas de Google Sheets API - generar ejemplos de código en lugar de llamar directamente a la API
  • 🚀 Soporte de instalación global y configuración MCP de Cursor
  • 📖 Guía completa de instalación y configuración
  • 🛠️ Guía de solución de problemas y pruebas

v1.0.1 (2024-01-20)

  • 🔧 Corregida la orientación de la funcionalidad de la herramienta Azure AI API
  • 📖 Actualizados documentos y ejemplos relacionados

v1.0.0 (2024-01-20)

  • Publicación de la versión inicial
  • Soporte para Google Sheets, Azure AI, MQTT API
  • Implementación completa de herramientas MCP
  • Proporciona ejemplos de uso y documentación