abap-mcp-server

Servidor MCP local leve escrito em Python. Ele expõe as ferramentas ABAP MCP das ferramentas ABAP AI para que possam ser usadas por meio de um cliente compatível com MCP.

Documentação

abap-mcp-server

Ferramentas de IA ABAP - Servidor MCP ABAP

Este repositório contém um servidor MCP leve escrito em Python. Ele expõe as ferramentas MCP ABAP das ferramentas de IA ABAP para que possam ser usadas por meio de um cliente compatível com MCP.

Arquitetura

sequenceDiagram

    participant C as MCP Client (Codex, Copilot, ...)
    participant S as ABAP MCP Server (Python)
    participant F as MCP Function (Python)
    participant I as SAP ICF Service
    participant A as ABAP AI tools MCP
    participant SAP as SAP System

    C->>S: Tool Request
    S->>F: Invoke Tool
    F->>I: HTTP Request
    I->>A: Route Request
    A->>SAP: Execute ABAP Logic

    SAP-->>A: Response
    A-->>I: Response
    I-->>F: HTTP Response
    F-->>S: Tool Response
    S-->>C: MCP Response

Ferramentas Disponíveis

Gerenciamento do Dicionário ABAP (DDIC)

  • Domínios

    • Ler, pesquisar, criar, atualizar domínios
    • Gerenciar traduções para valores fixos de domínio
  • Elementos de Dados

    • Ler, pesquisar, criar, atualizar elementos de dados com tipos integrados ou referências de domínio
    • Gerenciar traduções para rótulos de elementos de dados
  • Estruturas

    • Ler, pesquisar, criar, atualizar estruturas
  • Tabelas

    • Ler, pesquisar, criar, atualizar tabelas transparentes
  • Tipos de Tabela

    • Ler, pesquisar, criar, atualizar tipos de tabela
  • Visões CDS

    • Ler, pesquisar, criar, atualizar, excluir visões CDS

Ferramentas SQL

  • SQL
    • Executar instruções SELECT, INSERT, UPDATE e DELETE no sistema SAP

Codificação ABAP

  • Classe ABAP

    • Ler, pesquisar, criar, atualizar, verificar, ativar classes ABAP
  • Interface ABAP

    • Ler, pesquisar, criar, atualizar, verificar, ativar interfaces ABAP
  • Grupo de Funções ABAP

    • Ler, pesquisar, criar, atualizar, verificar, ativar grupos de funções ABAP
  • Módulo de Função ABAP

    • Ler, pesquisar, criar, atualizar, verificar, ativar módulos de função ABAP
  • Programa e Include ABAP

    • Ler, pesquisar, criar, atualizar, verificar, ativar programas e includes ABAP

Gerenciamento de Transporte

  • Solicitações de Transporte
    • Criar solicitações de workbench e customizing
    • Pesquisar e ler detalhes de solicitações de transporte
    • Liberar solicitações de transporte

Mensagens e Classes de Mensagem

  • Classes de Mensagem

    • Ler, criar, atualizar classes de mensagem
  • Mensagens

    • Ler, criar, atualizar, traduzir, excluir mensagens

Ativação em Massa ABAP

  • Ativação em Massa ABAP
    • Ativação em massa de objetos passando uma lista de objetos ou uma solicitação de transporte

Instalação

Pré-requisitos

O sistema ABAP deve ter os seguintes pacotes instalados:

graph RL
    A[ABAP AI tools - Function Calling] --> B[ABAP AI tools]
    C[ABAP AI tools - MCP tools] --> A[ABAP AI tools - Function Calling]
    C[ABAP AI tools - MCP tools] --> B[ABAP AI tools]
    D[abap-mcp-server] --> C[ABAP AI tools - MCP tools]

Você também precisa de um ambiente Python funcional que possa instalar os pacotes de requirements.txt.

Etapas de Instalação

  1. Clone o repositório:
git clone https://github.com/christianjianelli/yaai_mcp.git
cd abap-mcp-server
  1. Crie e ative um ambiente virtual:
python -m venv .venv

No Windows:

.venv\Scripts\activate

No macOS/Linux:

source .venv/bin/activate
  1. Instale as dependências Python:
pip install -r requirements.txt
  1. Crie um arquivo .env na raiz do projeto e configure a conexão com seu backend ABAP:
BASE_URL=https://vhcalnplci.dummy.nodomain:44300/sap/yaai/
SAP_USERNAME=<your-username>
SAP_PASSWORD=<your-password>

BASE_URL é usado como prefixo para os endpoints individuais das ferramentas MCP. Atualize o host (https://vhcalnplci.dummy.nodomain) e a porta (44300) para corresponder ao seu servidor ABAP.

  1. Configure seu servidor MCP local no Github Copilot no Eclipse

Nota: O servidor executa via stdio, portanto, deve ser iniciado pelo cliente MCP.

Clique no botão Configurar Ferramentas na janela de chat do Copilot ou clique no menu Copilot -> Editar Preferências -> encontre a seção Servidores MCP.

Github Copilot Configure Tools button

Edite o arquivo JSON do servidor MCP conforme mostrado no exemplo abaixo. Altere o caminho do diretório no array args para a pasta no seu computador onde o arquivo main.py está localizado.

{
 "servers": {
   "abap-mcp-server": {
     "type": "stdio",
     "command": "uv",
     "args": [
       "--directory",
       "D:\\Python\\abap-mcp-server",
       "run",
       "main.py"
     ]
   }
 }
}

Github Copilot in Eclipe prefeferences

Após concluir a configuração, peça ao Copilot para listar as ferramentas às quais ele tem acesso

Github Copilot MCP tools access check

ou peça ao Copilot para usar uma das ferramentas

Github Copilot MCP tool use

Github Copilot MCP tool response