Skip to main content
Glama

MCP Server TypeORM

MCP Server com TypeORM

Este projeto demonstra o poder do Model Context Protocol (MCP) integrado com TypeORM para fornecer acesso estruturado a dados de banco de dados através de ferramentas MCP.

🎯 Propósito

Este projeto foi desenvolvido para demonstrar:

  • Poder do MCP: Como criar ferramentas MCP que se conectam a bancos de dados
  • Integração TypeORM: Uso do TypeORM para operações de banco de dados
  • Dados Tratados: Retorno de dados de forma estruturada e tratada
  • Interface de Teste: Utilização do MCP Inspector para testar as ferramentas

🚀 Funcionalidades

Ferramentas MCP Disponíveis

  • get-products: Retorna todos os produtos do banco de dados
  • get-product-by-id: Busca um produto específico pelo UUID
  • search-products-by-name: Busca produtos por nome (busca parcial)
  • create-product: Cria um novo produto no banco de dados
  • update-product: Atualiza um produto existente
  • delete-product: Remove um produto (soft delete)

🛠️ Tecnologias Utilizadas

  • Node.js: Runtime JavaScript
  • TypeORM: ORM para PostgreSQL
  • PostgreSQL: Banco de dados
  • Model Context Protocol (MCP): Protocolo para comunicação com LLMs
  • @modelcontextprotocol/sdk: SDK oficial do MCP

📋 Pré-requisitos

  • Node.js 18 ou superior
  • PostgreSQL instalado e configurado
  • Variáveis de ambiente configuradas (veja seção Configuração)

⚙️ Configuração

1. Variáveis de Ambiente

Crie um arquivo .env na raiz do projeto:

DB_HOST=localhost DB_PORT=5432 DB_USERNAME=seu_usuario DB_PASSWORD=sua_senha DB_DATABASE=seu_banco

2. Instalação

# Clone o repositório git clone <url-do-repositorio> cd MCP-SERVER-BD # Instale as dependências npm install

🏃‍♂️ Como Executar

1. Iniciar o Servidor

# Desenvolvimento (com watch) npm run dev # Produção npm start

2. Testar com MCP Inspector

O comando mais importante para testar as ferramentas MCP:

npx @modelcontextprotocol/inspector node index.js

Este comando abre a interface web do MCP Inspector, onde você pode:

  • Visualizar todas as ferramentas disponíveis
  • Testar cada ferramenta individualmente
  • Ver os schemas de entrada e saída
  • Executar operações no banco de dados

🗄️ Estrutura do Banco de Dados

Tabela PRODUCTS

CREATE TABLE "PRODUCTS" ( "ID" UUID DEFAULT uuid_generate_v4() PRIMARY KEY, "CREATED_AT" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, "UPDATED_AT" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, "CREATED_BY" VARCHAR(255), "UPDATED_BY" VARCHAR(255), "NAME" VARCHAR(255) NOT NULL, "DESCRIPTION" TEXT, "AMOUNT" INTEGER DEFAULT 0, "VALIDITY" DATE, "ACTIVE" BOOLEAN DEFAULT true, "companyId" UUID, "AVERAGE_COST" DECIMAL(10,2), "UNIT" VARCHAR(50) );

📁 Estrutura do Projeto

MCP-SERVER-BD/ ├── src/ │ └── database/ │ ├── connection.js # Inicialização do TypeORM │ ├── ormconfig.js # Configuração do TypeORM │ ├── migration-manager.js # Gerenciador de migrations │ ├── products.js # Repository de produtos │ ├── entities/ │ │ └── Product.js # Entidade TypeORM │ └── migrations/ │ └── 001_create_products_table.js ├── index.js # Servidor MCP principal ├── test-typeorm.js # Teste da migração TypeORM └── package.json

🔧 Exemplos de Uso

Criar um Produto

{ "name": "Produto Teste", "description": "Descrição do produto", "amount": 10, "averageCost": 25.5, "unit": "UN", "companyId": "550e8400-e29b-41d4-a716-446655440000" }

Buscar Produtos por Nome

{ "name": "teste" }

Atualizar Produto

{ "id": "uuid-do-produto", "amount": 15, "description": "Nova descrição" }

🧪 Testes

Teste da Migração TypeORM

node test-typeorm.js

Este comando testa:

  • Conexão com o banco de dados
  • Execução de migrations
  • Operações CRUD básicas
  • Validação de UUIDs

🔍 Debugging

Logs do Servidor

O servidor fornece logs detalhados:

  • ✅ Conexão com banco estabelecida
  • 🔄 Execução de migrations
  • 📦 Migrations executadas com sucesso
  • ❌ Erros detalhados quando ocorrem

Verificar Status do Banco

# Conectar ao PostgreSQL psql -h localhost -U seu_usuario -d seu_banco # Verificar tabelas \dt # Verificar migrations SELECT * FROM migrations;

🚀 Próximos Passos

  1. Adicionar mais entidades: Categories, Users, etc.
  2. Implementar relacionamentos: Entre entidades
  3. Adicionar validações: Validações customizadas
  4. Implementar cache: Cache com Redis
  5. Adicionar autenticação: Sistema de autenticação

📚 Recursos Adicionais


Desenvolvido para demonstrar o poder do MCP integrado com TypeORM para fornecer acesso estruturado a dados de banco de dados.

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A demonstration server that integrates Model Context Protocol (MCP) with TypeORM to provide structured database access, allowing users to perform CRUD operations on products through MCP tools.

  1. 🎯 Propósito
    1. 🚀 Funcionalidades
      1. Ferramentas MCP Disponíveis
    2. 🛠️ Tecnologias Utilizadas
      1. 📋 Pré-requisitos
        1. ⚙️ Configuração
          1. 1. Variáveis de Ambiente
          2. 2. Instalação
        2. 🏃‍♂️ Como Executar
          1. 1. Iniciar o Servidor
          2. 2. Testar com MCP Inspector
        3. 🗄️ Estrutura do Banco de Dados
          1. Tabela PRODUCTS
        4. 📁 Estrutura do Projeto
          1. 🔧 Exemplos de Uso
            1. Criar um Produto
            2. Buscar Produtos por Nome
            3. Atualizar Produto
          2. 🧪 Testes
            1. Teste da Migração TypeORM
          3. 🔍 Debugging
            1. Logs do Servidor
            2. Verificar Status do Banco
          4. 🚀 Próximos Passos
            1. 📚 Recursos Adicionais

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol (MCP) server that enables LLMs to interact directly with MongoDB databases. Query collections, inspect schemas, and manage data seamlessly through natural language.
                Last updated -
                127
                158
                TypeScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                A powerful Model Context Protocol (MCP) tool for exploring and managing different types of databases including PostgreSQL, MySQL, and Firestore.
                Last updated -
                9
                5
                TypeScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol (MCP) implementation for connecting to and working with various database systems.
                Last updated -
                16
                18
                TypeScript
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that provides tools for connecting to and interacting with various database systems (SQLite, PostgreSQL, MySQL/MariaDB, SQL Server) through a unified interface.
                Last updated -
                3
                Python

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tiago-Alves-Dev/mcp-server-db'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server