oVice

Gerencie workspaces, grupos e usuários do oVice e envie notificações através da API do oVice.

Documentação

ovice MCP Server

Sobre este repositório

Este é um repositório não oficial para validação pessoal de construção de um servidor MCP em ambiente local (sem garantia de funcionamento).

É um servidor MCP que se integra à API do oVice e fornece gerenciamento de workspaces, grupos, usuários e funcionalidades de notificação.

Visão geral dos recursos

Este servidor MCP oferece os seguintes recursos:

  • Gerenciamento de workspaces: obter lista de workspaces da organização, lista de usuários, geração de URL de acesso
  • Gerenciamento de grupos: obter lista de grupos da organização, gerenciamento de membros
  • Funcionalidade de notificação: envio de notificações para organização, workspaces e grupos
  • Obtenção de informações: obtenção de nomes de espaços, etc.

Configuração inicial

Claude Desktop

Edite o arquivo de configuração para registrar o servidor MCP.

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ovice-mcp-server": {
      "command": "npx",
      "args": ["github:cti1650/ovice-mcp-server"],
      "env": {
        "OVICE_DOMAIN": "api.ovice.com",
        "OVICE_CLIENT_ID": "your-client-id",
        "OVICE_CLIENT_SECRET": "your-client-secret",
        "OVICE_ORGANIZATION_ID": "your-organization-id",
        "OVICE_SERVICE_NAME": "Your Service Name",
        "OVICE_SERVICE_LOGO_URL": "https://your-logo-url.com/logo.svg"
      }
    }
  }
}

Variáveis de ambiente

Nome da variávelObrigatórioValor padrãoDescrição
OVICE_CLIENT_ID✓-ID do cliente da API oVice
OVICE_CLIENT_SECRET✓-Segredo do cliente da API oVice
OVICE_ORGANIZATION_ID✓-ID da organização
OVICE_DOMAIN-"api.ovice.com"Domínio da API oVice (necessário alterar fora do ambiente de produção)
OVICE_SERVICE_NAME-"This is demo"Nome do serviço exibido nas notificações
OVICE_SERVICE_LOGO_URL-URL do logotipo do oViceURL do logotipo do serviço exibido nas notificações

Ferramentas disponíveis

Relacionados a workspaces

get_organization_workspaces

  • Descrição: Obtém a lista de workspaces da organização
  • Parâmetros: Nenhum
  • Valor de retorno: Lista de workspaces (formato JSON)

get_workspace_users

  • Descrição: Obtém a lista de usuários do workspace especificado
  • Parâmetros:
    • workspaceId (string): ID do workspace
  • Valor de retorno: Lista de usuários (formato JSON)

get_space_name_by_id

  • Descrição: Obtém o nome do espaço a partir do ID do espaço
  • Parâmetros:
    • spaceId (string): ID do espaço
  • Valor de retorno: Nome do espaço

get_workspace_access_path

  • Descrição: Gera uma URL para acessar o workspace
  • Parâmetros:
    • workspaceId (string): ID do workspace
  • Valor de retorno: URL de acesso (https://{appDomain}/ws/{workspaceDomain}/)
  • Observações: Obtém informações do workspace via API e gera uma URL baseada em domínio

Relacionados a grupos

get_organization_groups

  • Descrição: Obtém a lista de grupos da organização
  • Parâmetros: Nenhum
  • Valor de retorno: Lista de grupos (formato JSON)

get_group_members

  • Descrição: Obtém a lista de membros do grupo especificado
  • Parâmetros:
    • groupId (string): ID do grupo
  • Valor de retorno: Lista de membros (formato JSON)

Funcionalidade de notificação

send_organization_notification

  • Descrição: Envia notificação para toda a organização
  • Parâmetros:
    • message (string): Mensagem de notificação
    • serviceName (string, opcional): Nome do serviço
    • serviceLogoUrl (string, opcional): URL do logotipo do serviço
  • Valor de retorno: Resultado do envio (formato JSON)

send_workspace_notification

  • Descrição: Envia notificação para um workspace específico
  • Parâmetros:
    • workspaceId (string): ID do workspace
    • auth (array): Níveis de permissão do destinatário ("admin", "member", "visitor", "guest")
    • message (string): Mensagem de notificação
    • serviceName (string, opcional): Nome do serviço
    • serviceLogoUrl (string, opcional): URL do logotipo do serviço
  • Valor de retorno: Resultado do envio (formato JSON)

send_group_notification

  • Descrição: Envia notificação para um grupo específico
  • Parâmetros:
    • groupId (string): ID do grupo
    • message (string): Mensagem de notificação
    • serviceName (string, opcional): Nome do serviço
    • serviceLogoUrl (string, opcional): URL do logotipo do serviço
  • Valor de retorno: Resultado do envio (formato JSON)

Especificação da API

Este servidor MCP usa a oVice Public API v1:

  • Endpoint: https://{OVICE_DOMAIN}/api/public/v1/
  • Autenticação: Autenticação por cabeçalho usando ID do cliente e segredo do cliente

Tratamento de erros

  • Exibe mensagem de erro apropriada se as variáveis de ambiente estiverem ausentes
  • Retorna código de status HTTP e detalhes do erro em caso de falha na chamada da API
  • Exibe mensagem de erro específica se o recurso especificado (workspace, grupo, etc.) não for encontrado

Sites de referência