FS

frshaka/sankhya-schema-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

22 stars 3 forks 质量 64 趋势 30

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.

在 GitHub 查看完整 README

安装

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
新手?先看 mcpskill.org 教程 →