Skip to main content
Glama
Tiago-Alves-Dev

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

Related MCP server: MCP PostgreSQL Server

🚀 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.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    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.
    3
  • A
    license
    -
    quality
    D
    maintenance
    A Model Context Protocol server that enables performing PostgreSQL database operations (create, read, update, delete) on User and Post entities through MCP tools.
    727
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    A small MCP server that manages a product inventory using SQLite, providing CRUD operations through exposed MCP tools.
  • F
    license
    B
    quality
    D
    maintenance
    A demonstration TypeScript MCP server that showcases basic MCP concepts with simple tools (greeting, calculator), text resources, and prompt templates for learning the Model Context Protocol.
    2

View all related MCP servers

Related MCP Connectors

  • MCP (Model Context Protocol) server for Appwrite

  • MCP server for managing Prisma Postgres.

  • MCP server for interacting with the Supabase platform

View all MCP Connectors

Latest Blog Posts

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