Rongcloud Native MCP

Serviço de IM Rongcloud baseado no Protocolo MCP, atuando como um Wrapper do SDK Rust.

Documentação

Rongcloud Native MCP

Serviço IM da Rongcloud baseado no protocolo MCP (envolvendo o Rust SDK)

Documentação em inglês

Como usar

Pré-requisito -- Instalar a ferramenta de gerenciamento de pacotes UV

 pip install uv 

UV é uma ferramenta de instalação de pacotes Python e gerenciamento de dependências escrita em Rust, oferecendo uma experiência mais rápida e eficiente do que ferramentas tradicionais (como pip). Ela se concentra em dois objetivos principais:

Velocidade: UV é otimizado para instalação de pacotes, resolução de dependências e criação de ambientes virtuais, com melhorias significativas de velocidade. Eficiência: UV reduz o consumo de recursos, especialmente em projetos grandes.

Posteriormente, usaremos o comando UVX, cuja função é "se não estiver disponível localmente, baixe primeiro. Depois execute", e sempre em um ambiente virtual separado, sendo muito adequado para cenários de modelos grandes/agentes.

Uso no Cursor (semelhante para Cline / Claude)

Caminho de configuração: Cursor -> Preferências -> Configurações do Cursor -> MCP -> Adicionar novo servidor MCP global Conteúdo da configuração:

{
  "mcpServers": {
    "rongcloud-native-mcp-python": {
      "name": "rongcloud-native-mcp-python",
      "type": "stdio",
      "command": "uvx",
      "args": [
        "rongcloud-native-mcp-python"
      ],
      "env": {
          "APP_KEY": "融云 App Key",
          "TOKEN": "应用 SDK Token (从 Server API 获取)",
          "AREA_CODE": "数据中心区域码(北京 = 1,新加坡 = 2,北美 = 3,新加坡B = 4,沙特 = 5),非公有云客户不设置",
          "NAVI_URL": "导航地址(非公有云客户)",
          "STATS_URL": "数据统计地址(非公有云客户)"
      }
    }
  }
}

Explicação das variáveis de ambiente

  • APP_KEY: (obrigatório) Sua chave de aplicativo Rongcloud
  • TOKEN: (obrigatório) Token SDK do aplicativo, obtido da API do servidor
  • AREA_CODE: (opcional) Código da região do data center:
    • 1: Pequim
    • 2: Singapura
    • 3: América do Norte
    • 4: Singapura B
    • 5: Arábia Saudita
    • Observação: clientes que não usam nuvem pública não devem definir
  • NAVI_URL: (opcional) URL de navegação, obrigatório para clientes que não usam nuvem pública
  • STATS_URL: (opcional) URL de estatísticas, obrigatório para clientes que não usam nuvem pública

Uso no Cherry Studio

Primeiro instale UV e Bun (ambos precisam ser instalados), reinicie o Cherry Studio após a instalação. Em seguida, configure conforme a imagem abaixo: Cherry Studio 界面示例 Cherry Studio 界面示例

Principais funcionalidades e ferramentas (tools) (atualização contínua)

O servidor expõe as seguintes ferramentas por meio do protocolo MCP:

1. send_private_text_message

  • Função: Enviar mensagem IM para um usuário específico (mensagem privada)
  • Parâmetros:
    • user_id (str, padrão ""): ID do usuário receptor da mensagem
    • content (str, padrão ""): conteúdo da mensagem
    • ext_content (dict, padrão {}): dicionário de conteúdo estendido, usado para anexar dados à mensagem
  • Retorno:
    • Falha: dicionário contendo code e error
    • Sucesso: dicionário contendo code, message_id e message

2. send_group_text_message

  • Função: Enviar mensagem IM para um grupo específico (mensagem em grupo)
  • Parâmetros:
    • group_id (str, padrão ""): ID do grupo
    • content (str, padrão ""): conteúdo da mensagem
    • ext_content (dict, padrão {}): dicionário de conteúdo estendido, usado para anexar dados à mensagem
  • Retorno:
    • Falha: dicionário contendo code e error
    • Sucesso: dicionário contendo code, message_id e message

3. get_private_messages

  • Função: Obter histórico de mensagens com um usuário específico (mensagem privada)
  • Parâmetros:
    • user_id (str, padrão ""): ID do usuário
    • order_asc (bool, padrão False): se deve ordenar em ordem crescente, padrão é decrescente
    • count (int, padrão 10): quantidade de mensagens a obter
  • Retorno:
    • Falha: dicionário contendo code e error
    • Sucesso: dicionário contendo code e um array de mensagens

4. get_group_messages

  • Função: Obter histórico de mensagens de um grupo específico (mensagem em grupo)
  • Parâmetros:
    • group_id (str, padrão ""): ID do grupo
    • order_asc (bool, padrão False): se deve ordenar em ordem crescente, padrão é decrescente
    • count (int, padrão 10): quantidade de mensagens a obter
  • Retorno:
    • Falha: dicionário contendo code e error
    • Sucesso: dicionário contendo code e um array de mensagens

5. send_private_image_message

  • Função: Enviar mensagem de imagem para um usuário específico (mensagem privada)
  • Parâmetros:
    • user_id (str, padrão ""): ID do usuário receptor da mensagem
    • thumbnail_base64 (str, padrão ""): codificação base64 da miniatura
    • image_uri (str, padrão ""): endereço URI da imagem
    • ext_content (dict, padrão {}): dicionário de conteúdo estendido, usado para anexar dados à mensagem
  • Retorno:
    • Falha: dicionário contendo code e error
    • Sucesso: dicionário contendo code, message_id e message

6. send_group_image_message

  • Função: Enviar mensagem de imagem para um grupo específico (mensagem em grupo)
  • Parâmetros:
    • group_id (str, padrão ""): ID do grupo
    • thumbnail_base64 (str, padrão ""): codificação base64 da miniatura da imagem
    • image_uri (str, padrão ""): endereço URI da imagem
    • ext_content (dict, padrão {}): dicionário de conteúdo estendido, usado para anexar dados à mensagem
  • Retorno:
    • Falha: dicionário contendo code e error
    • Sucesso: dicionário contendo code, message_id e message

7. recall_message

  • Função: Retirar uma mensagem específica
  • Parâmetros:
    • message_dict (dict): objeto completo da mensagem, contendo campos como message_id, conversation_type, target_id, etc.
  • Retorno:
    • Falha: dicionário contendo code e error
    • Sucesso: dicionário contendo code e message

Observação:

  • O mecanismo IM inicializa e conecta automaticamente na primeira chamada de qualquer ferramenta relacionada a mensagens
  • A limpeza de recursos é tratada automaticamente quando o servidor é desconectado

Perguntas frequentes

P: Por que o servidor aparece com um ponto amarelo na lista ao configurar o Cursor?

R: Se o ponto amarelo aparecer na lista de servidores, tente instalar o comando UV primeiro, reinicie o Cursor e reative o interruptor do serviço.

P: Por que o Cherry Studio continua apresentando erros?

R: Certifique-se de que UV e Bun foram instalados com sucesso, reinicie o Cherry Studio e reative o interruptor do serviço.

P: Por que a chamada de ferramentas retorna erro?

R: Certifique-se de que as variáveis de ambiente (APP_KEY, TOKEN, NAVI_URL) estão configuradas corretamente, reinicie o serviço e chame a ferramenta novamente.

Suporte técnico

Se encontrar problemas, por favor:

  1. Verifique se as variáveis de ambiente estão configuradas corretamente
  2. Consulte a saída do log para entender informações específicas do erro
  3. Abra uma issue no projeto de código aberto