MCP API Bridge

Um servidor que faz a ponte entre as APIs do Google Sheets, Azure AI e MQTT.

Documentação

Servidor MCP API Bridge

Um servidor Model Context Protocol (MCP) para integrar Google Sheets API, Azure AI API e MQTT API.

Recursos

🗃️ Google Sheets API

  • Gera exemplos de código para adicionar dados a uma planilha
  • Gera exemplos de código para ler todos os dados de uma planilha
  • Gera exemplos de código para atualizar dados de uma linha específica
  • Gera exemplos de código para excluir dados de uma linha específica
  • Gera exemplos de código para sobrescrever toda a planilha

🤖 Azure AI API

  • Gera exemplos de código usando Azure AI (GPT-4o-mini)
  • Suporta exemplos de código nos modos síncrono e streaming
  • Exemplos de implementação de código WebSocket

📡 MQTT API

  • Cria conexões de dispositivos IoT
  • Publica mensagens MQTT (síncrono/assíncrono)
  • Assina tópicos MQTT
  • Registra manipuladores de mensagens
  • Suporta configuração de níveis de QoS

Instalação e Configuração

Pré-requisitos

  • Node.js 18.0.0 ou superior
  • npm ou yarn
  • Cursor IDE (se for usar no Cursor)

🚀 Instalação Rápida (Recomendado)

1. Instalação Global do MCP API Bridge

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

2. Configurar MCP no Cursor

Encontre e edite o arquivo de configuração MCP do Cursor:

macOS:

~/.cursor/mcp.json

Linux:

~/.config/cursor/mcp.json

Windows:

%APPDATA%\Cursor\mcp.json

Adicione a seguinte configuração ao arquivo:

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

3. Reinicie o Cursor

Reinicie o Cursor IDE para que a configuração tenha efeito.

🔄 Atualizar para a Versão Mais Recente

Quando uma nova versão for lançada, use o seguinte comando para atualizar:

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

🛠️ Instalação para Desenvolvedores (Desenvolvimento Local)

Se você deseja modificar ou desenvolver este projeto:

  1. Clone o projeto
git clone https://github.com/marty5499/mcp-api-bridge.git
cd mcp-api-bridge
  1. Instale as dependências
npm install
  1. Teste local
# 測試工具列表
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node mcp-api-bridge.js

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

Como Usar

✅ Verificar Instalação

Após a instalação, você verá o servidor MCP API Bridge conectado no Cursor e poderá usar as seguintes 11 ferramentas:

  • Google Sheets API (5 ferramentas): Gera exemplos de código para operações de API
  • Azure AI API (1 ferramenta): Gera exemplos de código para conversas de IA
  • MQTT API (5 ferramentas): Funcionalidades completas de gerenciamento de dispositivos IoT

Ferramentas Disponíveis

Ferramentas Google Sheets API

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

Ferramentas Azure AI API

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

Ferramentas MQTT API

  1. mqtt_device_create - Cria dispositivo
{
  "deviceId": "sensor001"
}
  1. mqtt_publish - Publica mensagem
{
  "deviceId": "sensor001",
  "topic": "server001.data",
  "payload": {
    "temperature": 25.5,
    "humidity": 60.2
  },
  "qos": 0
}
  1. mqtt_publish_sync - Publicação síncrona
{
  "deviceId": "client001",
  "topic": "server001.getConfig",
  "payload": {
    "configType": "network"
  },
  "timeout": 10000,
  "qos": 1
}
  1. mqtt_register_handler - Registra manipulador
{
  "deviceId": "server001",
  "action": "data",
  "handlerCode": "const { payload } = message; console.log('處理資料:', payload); return { status: 'ok' };"
}
  1. mqtt_subscribe - Assina tópico
{
  "deviceId": "monitor001",
  "topic": "alerts/+",
  "qos": 1
}

Informações dos Endpoints da API

Google Sheets API

  • URL Base: https://hshgpt.webduino.tw/api/sheets/
  • Operações Suportadas: append, get, update, del, save

Azure AI API

  • WebSocket URL: wss://hshgpt.webduino.tw
  • Protocolo: Comunicação de streaming via WebSocket

MQTT API

  • Broker URL: wss://mqtt-edu.webduino.io/mqtt
  • Autenticação: username: hsh2025, password: hsh2025

Exemplos de Aplicação Prática

1. Sistema de Coleta de Dados 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álise de Dados Assistida 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);

Tratamento de Erros

Todas as chamadas de ferramentas incluem mecanismos de tratamento de erros:

  • Google Sheets API: Verifica o formato da URL e as respostas da API
  • Azure AI API: Tratamento de erros de conexão WebSocket e timeouts
  • MQTT API: Verificação do status da conexão e gerenciamento de dispositivos

Estrutura do Projeto

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            # 專案說明

📦 Repositório GitHub

Guia de Desenvolvimento

Adicionar Ferramentas

  1. Defina o schema da ferramenta em setupToolHandlers()
  2. Implemente a função de tratamento correspondente
  3. Adicione à instrução switch em CallToolRequestSchema

Testes

# 執行範例
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

🔧 Solução de Problemas

Problema: Não consigo ver o servidor MCP no Cursor

  1. Verifique se o formato do arquivo de configuração ~/.cursor/mcp.json está correto
  2. Confirme que o Cursor IDE foi reiniciado
  3. Verifique se o comando mcp-api-bridge pode ser executado no terminal

Problema: Falha na chamada de ferramenta

  1. Verifique o status da conexão de rede
  2. Confirme que os endpoints da API estão acessíveis
  3. Verifique a saída de logs do servidor MCP

Problema: Funcionalidade anormal após atualização

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

Licença

MIT License

Contribuição

Sinta-se à vontade para enviar Issues e Pull Requests!

Histórico de Atualizações

v1.0.2 (2025-01-15)

  • 🔧 Corrigida a funcionalidade da ferramenta Google Sheets API - gera exemplos de código em vez de chamar a API diretamente
  • 🚀 Suporte para instalação global e configuração MCP no Cursor
  • 📖 Guia completo de instalação e configuração
  • 🛠️ Guia de solução de problemas e testes

v1.0.1 (2024-01-20)

  • 🔧 Corrigido o posicionamento da funcionalidade da ferramenta Azure AI API
  • 📖 Documentação e exemplos atualizados

v1.0.0 (2024-01-20)

  • Lançamento da versão inicial
  • Suporte para Google Sheets, Azure AI, MQTT API
  • Implementação completa das ferramentas MCP
  • Exemplos de uso e documentação fornecidos