
Servidor MCP (Model Context Protocol) que conecta o Claude Code e/ou o Codex CLI ao banco do Sankhya ERP, permitindo explorar tabelas, campos, índices, relacionamentos e executar queries SQL...
概览
Servidor MCP (Model Context Protocol) que conecta o Claude Code e/ou o Codex CLI ao banco do Sankhya ERP, permitindo explorar tabelas, campos, índices, relacionamentos e executar queries SQL diretamente durante uma conversa. Suporta os distribuídos pela Sankhya no ambiente de desenvolvimento: A escolha é feita por SANKHYA_DB_TYPE no .env — veja Configuração do banco. O comentário de coluna do catálogo vem na base Sankhya (0 de 69.782 colunas medidas).A semântica mora no dicionário da aplicação, e é de lá que a tool tira a descrição (TDDCAM) e o domínio dos campos enumerados (TDDOPC): Sem isso, quem escreve a query precisa adivinhar o literal do WHERE.Em TGFCAB.TIPMOV, V (Venda) e P (Pedido de venda) são — trocar um pelo outro devolve o documento errado sem levantar nenhum erro de SQL.E o mesmo nome de campo tem domínio diferente em tabelas diferentes: TIPMOV existe em 17 tabelas, com de 2 a 24 opções cada.
概述(AI 翻译)
Servidor MCP (Model Context Protocol) que conecta o Claude Code e/ou o Codex CLI ao banco do Sankhya ERP, permitindo explorar tabelas, campos, índices, relacionamentos e executar queries SQL diretamente durante uma conversa.
Suporta os dois bancos distribuídos pela Sankhya no ambiente de desenvolvimento:
| Banco | Driver | Imagem Docker | Porta | Endereçamento |
|---|---|---|---|---|
| Oracle (padrão) | oracledb em modo thick (Instant Client 21c, compatível com Oracle 11.2+) |
sankhyaimages/skdev-oracle:1.1.0 |
1521 | SID XE |
| SQL Server | pymssql(wheel com FreeTDS embutido — não exige driver de sistema operacional) |
sankhyaimages/skdev-mssql:1.1.0 |
1433 | 数据库 jiva |
A escolha é feita por SANKHYA_DB_TYPE no .env — veja Configuração do banco.
Funcionalidades
| 工具 | 哦,que faz |
|---|---|
describe_table |
Colunas, tipos, nullable, descrição em português e todos os valores aceitos dos campos enumerados |
search_tables |
Busca tabelas por nome parcial (ex: TGF, TSIUSU), com a descrição de cada uma |
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Sankhya Schema MCP
Servidor MCP (Model Context Protocol) que conecta o Claude Code e/ou o Codex CLI ao banco do Sankhya ERP, permitindo explorar tabelas, campos, índices, relacionamentos e executar queries SQL diretamente durante uma conversa.
Suporta os dois bancos distribuídos pela Sankhya no ambiente de desenvolvimento:
| Banco | Driver | Imagem Docker | Porta | Endereçamento |
|---|---|---|---|---|
| Oracle (padrão) | oracledb em modo thick (Instant Client 21c, compatível com Oracle 11.2+) |
sankhyaimages/skdev-oracle:1.1.0 |
1521 | SID XE |
| SQL Server | pymssql (wheel com FreeTDS embutido — não exige driver de sistema operacional) |
sankhyaimages/skdev-mssql:1.1.0 |
1433 | database jiva |
A escolha é feita por SANKHYA_DB_TYPE no .env — veja Configuração do banco.
Funcionalidades
| Tool | O que faz |
|---|---|
describe_table |
Colunas, tipos, nullable, descrição em português e todos os valores aceitos dos campos enumerados |
search_tables |
Busca tabelas por nome parcial (ex: TGF, TSIUSU), com a descrição de cada uma |
search_columns |
Descobre em quais tabelas existe determinado campo (ex: CODPARC), com a descrição por tabela |
search_entities |
Busca EntityNames (instâncias Sankhya) por nome ou descrição |
get_foreign_keys |
FKs do banco e as ligações lógicas do dicionário (as que o JAPE enxerga) |
get_indexes |
Mostra índices e suas colunas |
run_query |
Executa SELECT e retorna resultado formatado (somente leitura) |
validate_query |
Valida sintaxe SQL sem executar (EXPLAIN PLAN no Oracle, SHOWPLAN_ALL no SQL Server) |
table_sample |
Amostra de dados reais, com o rótulo ao lado do código (L (Liberada)) |
list_modules |
Visão geral dos módulos Sankhya por prefixo de tabela |
check_updates |
Diz se há versão mais nova publicada e o que mudou |
Por que describe_table traz os valores dos campos
O comentário de coluna do catálogo vem vazio na base Sankhya (0 de 69.782
colunas medidas). A semântica mora no dicionário da aplicação, e é de lá que a
tool tira a descrição (TDDCAM) e o domínio dos campos enumerados (TDDOPC):
| campo | tipo | nulo | descricao | opcoes |
| TIPMOV | VARCHAR2(1) | S | Tipo de Movimento | P=Pedido de venda; V=Venda; C=Compra; ... |
Sem isso, quem escreve a query precisa adivinhar o literal do WHERE. Em
TGFCAB.TIPMOV, V (Venda) e P (Pedido de venda) são ambos válidos —
trocar um pelo outro devolve o documento errado sem levantar nenhum erro de
SQL. E o mesmo nome de campo tem domínio diferente em tabelas diferentes:
TIPMOV existe em 17 tabelas, com de 2 a 24 opções cada.
安装
docker run -d --name skdev-oracle --network skdev --network-alias oracle --label com.docker.compose.project=skdev --restart unless-stopped --shm-size=1g -e ORACLE_PWD=troque_esta_senha -e TZ=America/Sao_Paulo -p 1521:1521 -v skdev-oracle-data:/u01/app/oracle/oradata frshaka/skdev-oracle:1.1.2