본문 바로가기

Framework/NestJS

(6)
[NestJS] MCP 서버 구축기 6편 – .env 파일로 보안 처리 1. 패키지 설치npm install @nestjs/config@nestjs/config는 .env 파일을 자동으로 읽어준다.2. .env 파일 만들기프로젝트 루트 (mcp-server/) 에 .env 파일을 생성OPENAI_API_KEY=sk-xxx여기에본인API키xxxDB_HOST=localhostDB_PORT=3306DB_USERNAME=rootDB_PASSWORD=DB_DATABASE=leelee3. app.module.ts에 ConfigModule 추가//src/app.module.tsimport { Module } from '@nestjs/common';import { ConfigModule } from '@nestjs/config'; // ✅ 추가import { TypeOrmModule } ..
[NestJS] MCP 서버 구축기 5편 – OpenAI 연동해서 자연어 이해 강화 1.OpenAI 라이브러리 설치npm install openai 2.OpenAI 서비스 추가src/mcp/openai.service.ts 파일 새로 만들기import { Injectable } from '@nestjs/common';import OpenAI from 'openai';@Injectable()export class OpenaiService { private openai: OpenAIApi; constructor() { this.openai = new OpenAIApi( new Configuration({ apiKey: '여기에-본인-OpenAI-API키-입력', // ⚡ 꼭 개인 발급 키 입력 }), ); } async detectIntent(..
[NestJS] MCP 서버 구축기 4편 – Entity 구조 개선 & 예외 처리 1.Payment Entity 생성하기nest g class mcp/entities/payment --no-spec//src\mcp\entities\payment\payment.entity.tsimport { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';@Entity('payment')export class Payment { @PrimaryGeneratedColumn() id: number; @Column({ type: 'varchar', length: 50 }) user_id: string; @Column({ type: 'int' }) amount: number; @Column({ type: 'datetime', defaul..
[NestJS] MCP 서버 구축기 3편 – MySQL DB 연결하기 & SQL 실행 결과 반환 1. TypeORM과 MySQL 드라이버 설치npm install @nestjs/typeorm typeorm mysql2@nestjs/typeorm: NestJS에서 TypeORM을 쉽게 쓰게 해주는 모듈typeorm: 실제 ORM 라이브러리mysql2: MySQL 데이터베이스 연결용 드라이버2. TypeORM 설정 추가하기import { Module } from '@nestjs/common';import { TypeOrmModule } from '@nestjs/typeorm';import { AppController } from './app.controller';import { AppService } from './app.service';import { McpModule } from './mcp/mcp..
[NestJS] MCP 서버 구축기 2편 – 사용자 요청 처리 & SQL 생성 기본 구조 목표 요약내용설명사용자 요청 받기POST /mcp/query 형태로 사용자 요청 받음DTO 정의NestJS에서 사용하는 요청 타입 정의intent 감지메시지 안에서 키워드로 intent 결정 (ex: "결제" → 최근 결제 내역)SQL 생성intent에 맞는 SQL 생성 함수 만들기 1. 사용자 요청 DTO 생성src\mcp\dto\mcp-request.dto.ts을 생성합니다.//요청 DTO (mcp-request.dto.ts)export class McpRequestDto { user_id: string; message: string;} 2. intent 매핑 파일 생성src\mcp\intents\intent-map.ts 을 생성합니다//인텐트 매핑 (intent-map.ts)export con..
[NestJS] MCP 서버 구축기 1편 – 프로젝트 설계와 기본 세팅 만들 MCP 서버의 역할사용자의 요청 (메시지, user_id)을 받음어떤 요청인지 파악함 (예: 최근 결제 내역, 추천인 등)자동으로 SQL 쿼리 생성(추후) DB에 실행해서 결과 반환 1. NestJS 프로젝트 생성 Nest CLI 설치npm i -g @nestjs/cli 프로젝트 생성nest new mcp-server npm 플랫폼을 선택 해서 진행 생성된 폴더 구조src/├── app.controller.ts├── app.module.ts├── app.service.ts 2. 기본 모듈, 컨트롤러, 서비스 추가 nest g module mcpnest g controller mcpnest g service mcp 생성한 폴더 경로에서 기본 모듈 , 컨트롤러, 서비스 추가 해주세요 생성 후 폴더..