SAP ADT DDIC MCP Server
Servidor MCP local para consultar e manipular objetos ABAP/DDIC via ADT REST.As credenciais e parametros de conexao podem vir do ambiente ou de um .env.
Ferramentas
sap_adt_search_objects: pesquisa objetos no RIS/ADT.sap_adt_get_object_metadata: le metadados e links de um objeto ADT.sap_adt_read_source: le o source textual e retornaetag.sap_adt_read_table_data: retorna dados de uma tabela/view DDIC via ADT Data Preview.sap_adt_update_source: atualiza source textual cometagobrigatorio e protecao por prefixos configuraveis.sap_adt_upsert_source: le oetagatual, atualiza source textual e opcionalmente ativa.sap_adt_activate_objects: tenta ativar objetos por URI ADT.sap_adt_create_table: cria tabela DDIC transparente.sap_adt_create_include: cria include ABAPPROG/I, grava source e opcionalmente ativa.sap_adt_create_ddls: cria DDLS/CDS, grava source e opcionalmente ativa.sap_gateway_call: chama endpoints OData/Gateway comsap-cliente CSRF automaticos.sap_gateway_test_crud: testaPOST,PUTeDELETEem um entity set OData.sap_adt_create_gateway_crud_includes: gera includes*_CREATE,*_UPDATEe*_DELETEpara CRUD simples em tabela.
Exemplo de chamada:
{
"table_name": "YPOC_STATUS",
"max_rows": 100,
"columns": []
}
Execucao
python server.py
O servidor usa transporte MCP stdio.
Organizacao do codigo
server.py: ponto de entrada MCP e compatibilidade para scripts antigos.sap_adt/: cliente ADT, configuracao, XML, source, ativacao, DDIC e Data Preview.tools/: registro das ferramentas expostas pelo MCP.
Variaveis
Variaveis obrigatorias:
SAP_ADT_BASE_URL=https://seu-sap.example.com:44300
SAP_ADT_CLIENT=100
SAP_USER=GUILHERME
SAP_PASSWORD=...
Variaveis opcionais:
SAP_ADT_LANG=EN
SAP_ADT_VERIFY_SSL=true
SAP_ADT_TIMEOUT=30
SAP_ADT_USER_AGENT=sap-adt-ddic-mcp/0.1.0
SAP_ADT_ALLOWED_OBJECT_PREFIXES=Y,Z,/ABC/
SAP_ADT_ENV_FILE=C:\caminho\para\outro.env
Notas:
- Use
SAP_ADT_VERIFY_SSL=falseapenas para SAPs com certificado interno/autoassinado. SAP_ADT_ALLOWED_OBJECT_PREFIXESprotege ferramentas de escrita. Use*somente se quiser permitir escrita em qualquer namespace.- Tambem sao aceitas as variaveis
SAP_ADT_USEReSAP_ADT_PASSWORD.