ServiceNow MCP Server

Um servidor MCP para interface com ServiceNow, permitindo que agentes de IA acessem e manipulem dados por meio de uma API segura.

Documentação

ServiceNow MCP Server

License: MIT

Um servidor Model Context Protocol (MCP) que faz interface com o ServiceNow, permitindo que agentes de IA acessem e manipulem dados do ServiceNow por meio de uma API segura. Este servidor possibilita interações em linguagem natural com o ServiceNow, facilitando a busca de registros, atualização dos mesmos e gerenciamento de scripts.

Funcionalidades

Recursos

  • servicenow://incidents: Listar incidentes recentes
  • servicenow://incidents/{number}: Obter um incidente específico pelo número
  • servicenow://users: Listar usuários
  • servicenow://knowledge: Listar artigos de conhecimento
  • servicenow://tables: Listar tabelas disponíveis
  • servicenow://tables/{table}: Obter registros de uma tabela específica
  • servicenow://schema/{table}: Obter o esquema de uma tabela

Ferramentas

Ferramentas Básicas

  • create_incident: Criar um novo incidente
  • update_incident: Atualizar um incidente existente
  • search_records: Buscar registros usando consulta de texto
  • get_record: Obter um registro específico pelo sys_id
  • perform_query: Executar uma consulta no ServiceNow
  • add_comment: Adicionar um comentário a um incidente (visível ao cliente)
  • add_work_notes: Adicionar notas de trabalho a um incidente (interno)

Ferramentas de Linguagem Natural

  • natural_language_search: Buscar registros usando linguagem natural (ex.: "encontre todos os incidentes sobre SAP")
  • natural_language_update: Atualizar registros usando linguagem natural (ex.: "Atualize o incidente INC0010001 dizendo que estou trabalhando nele")
  • update_script: Atualizar arquivos de script do ServiceNow (script includes, business rules, etc.)

Instalação

A partir do PyPI

pip install mcp-server-servicenow

A partir do código-fonte

git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
pip install -e .

Uso

Linha de Comando

Execute o servidor usando o módulo Python:

python -m mcp_server_servicenow.cli --url "https://your-instance.service-now.com/" --username "your-username" --password "your-password"

Ou use variáveis de ambiente:

export SERVICENOW_INSTANCE_URL="https://your-instance.service-now.com/"
export SERVICENOW_USERNAME="your-username"
export SERVICENOW_PASSWORD="your-password"
python -m mcp_server_servicenow.cli

Configuração no Cline

Para usar este servidor MCP com o Cline, adicione o seguinte ao seu arquivo de configurações MCP:

{
  "mcpServers": {
    "servicenow": {
      "command": "/path/to/your/python/executable",
      "args": [
        "-m",
        "mcp_server_servicenow.cli",
        "--url", "https://your-instance.service-now.com/",
        "--username", "your-username",
        "--password", "your-password"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Nota: Certifique-se de usar o caminho completo para o executável Python que possui o pacote mcp-server-servicenow instalado.

Exemplos de Linguagem Natural

Buscando Registros

Você pode buscar registros usando consultas em linguagem natural:

find all incidents about email
search for incidents related to network issues
show me all incidents with high priority

Atualizando Registros

Você pode atualizar registros usando comandos em linguagem natural:

Update incident INC0010001 saying I'm working on it
Set incident INC0010002 to in progress
Close incident INC0010003 with resolution: fixed the issue

Gerenciando Scripts

Você pode atualizar scripts do ServiceNow a partir de arquivos locais:

Update the ServiceNow script include "HelloWorld" with the contents of hello_world.js
Upload utils.js to ServiceNow as a script include named "UtilityFunctions"
Update @form_validation.js, it's a client script called "FormValidation"

Métodos de Autenticação

O servidor suporta múltiplos métodos de autenticação:

  1. Autenticação Básica: Nome de usuário e senha
  2. Autenticação por Token: Token OAuth
  3. Autenticação OAuth: Client ID, Client Secret, Nome de usuário e Senha

Desenvolvimento

Pré-requisitos

  • Python 3.8+
  • Instância do ServiceNow com acesso à API

Configurando o Ambiente de Desenvolvimento

# Clone the repository
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"

Executando Testes

pytest

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

  1. Faça um fork do repositório
  2. Crie sua branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add some amazing feature')
  4. Envie para a branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.