Search

4월

AI agent,MCP

ai agent는 명령을 분할해서 수행하는 도구
각각 역할을 지정하고 내가 준 task에 대해서 어떻게 수행할지 분석한다음 역할별로 업무를 수행 후에 단계별로 수행하고 결과를 내준다
ai agent가 업무를 수행하려면 다양한 툴들이 필요했는데 그걸 표준화한게 MCP
다양한 회사에서 자기 서비스 사용을 위한 MCP를 제공하고 그걸 다운받아서 ai agent가 사용할 수 있도록 하던지, claude나 cursor같은 ai모델 있는 서비스들에 MCP를 연결해서 내가 원하는 작업들을 수행하게 할 수 있다. 예를 들어서 supabase의 테이블을 변경하라고 하면 supabase의 MCP가 있으면 알아서 내 말대로 바꿔준다. 외부에 접근할수있는 플러그인이다 한마디로 MCP는
vscode에도 github copilot있으니까 MCP사용할 수 있다!!
네, 전반적인 이해가 맞습니다. 요약하자면:
AI 에이전트가 작업을 단계별로 쪼개고, 각 단계를 수행할 “역할”을 설정한 뒤, 필요에 따라 여러 도구(tool)를 활용해 결과를 내놓는 구조입니다.
여러 회사나 서비스에서 AI 에이전트가 사용할 수 있는 표준화된 ‘플러그인’ 역할의 MCP를 제공합니다.
예를 들어 “Supabase의 테이블을 수정하라”라는 명령을 내렸을 때, Supabase용 MCP를 연결해두면 알아서 테이블을 수정하는 방식입니다.
결국 MCP는 외부 시스템에 접근할 수 있는 일종의 ‘표준화된 확장 도구(플러그인)’라고 보면 됩니다.

1. AI 모델 찾기 (Pre-trained Model 검색 및 선택)

A. 추천 플랫폼

1.
Hugging Face Model Hub (가장 추천)
URL: https://huggingface.co/models
모델 종류: GPT, BERT, CLIP, Stable Diffusion, Whisper 등 다양한 NLP, 컴퓨터 비전 모델 제공.
특징: 모델 설명과 사용법이 잘 정리되어 있고, 커뮤니티도 활발함.
2.
TensorFlow Hub
모델 종류: 이미지 분류, 자연어 처리, 강화 학습 등 TensorFlow 기반 모델.
특징: TensorFlow 환경에서 쉽게 사용 가능.
3.
PyTorch Hub
URL: https://pytorch.org/hub/
모델 종류: 컴퓨터 비전, NLP 등 PyTorch 기반 모델.
특징: PyTorch로 모델을 학습시키거나 배포하기에 최적화.

1. AI 엔지니어가 일반적인 모델 사용과 다른 점

(1) 모델 구조 설계 및 수정 (Architecture Design)

단순히 기존 모델을 사용하지 않고, 모델의 아키텍처(구조)를 직접 설계하거나 변경합니다.
예를 들어, GPT 모델의 Transformer 구조를 변형하여 더 효율적인 모델로 만드는 작업.
Vision Transformer, Diffusion Models 등 최신 연구 모델을 수정하거나 응용.
예: 새로운 레이어를 추가하거나 기존 레이어를 제거, 병렬 처리 최적화 등.

(2) 모델 학습 알고리즘 설계 (Training Algorithms)

기존의 학습 방법이 아닌 커스텀 학습 알고리즘을 설계합니다.
Optimizer 튜닝 (SGD, Adam, AdamW 등 기본 외의 최적화 알고리즘 설계)
학습률 스케줄링 (Learning Rate Scheduling)
정규화 기법 (Regularization, Dropout, LayerNorm, BatchNorm 등)

(3) 대규모 학습 (Distributed Training)

AI 엔지니어는 수십~수천 개의 GPU를 이용하여 모델을 학습하는 기술을 다룰 줄 알아야 함.
데이터 병렬 처리, 모델 병렬 처리, 파이프라인 병렬 처리 등.
PyTorch Distributed Training, DeepSpeed, Horovod 등의 툴을 활용.

(4) 모델 최적화 (Optimization)

경량화 모델 설계: 모바일이나 웹 서비스에 맞게 모델을 경량화.
Quantization (양자화)
Pruning (가지치기)
Knowledge Distillation (지식 증류)
AI 엔지니어는 특히 MLOps 툴을 이용해 모델의 성능을 지속적으로 개선함.
AI 개발자 ≠ MLOps 엔지니어: 전자는 모델을 만들고, 후자는 모델을 서비스에 통합/관리합니다.Kubernetes 요구: AI 개발자가 MLOps 영역까지 커버하길 원하는 회사일 가능성이 크며, 특히 실무에서 배포까지 책임져야 하는 경우에 해당합니다.
AI 개발자 ≠ MLOps 엔지니어: 전자는 모델을 만들고, 후자는 모델을 서비스에 통합/관리합니다.
Kubernetes 요구: AI 개발자가 MLOps 영역까지 커버하길 원하는 회사일 가능성이 크며, 특히 실무에서 배포까지 책임져야 하는 경우에 해당합니다. Kubernetes를 요구한다면, AI 개발자가 모델 개발뿐 아니라 배포/운영(MLOps 역할)까지 일부 담당하길 바라는 경우가 많습니다. 이런 경우는 "Full-stack AI 엔지니어"에 가까운 포지션일 수 있어요.

2. MLOps 엔지니어 (Machine Learning Operations Engineer)

주요 역할: AI 모델을 실제 서비스에 배포하고 운영하는 데 초점.
업무 내용:
모델 배포 파이프라인 구축 (CI/CD 적용).
클라우드(AWS, GCP 등)나 온프레미스 환경에서 모델 서빙.
스케일링, 모니터링, 성능 최적화 (예: GPU 활용, latency 관리).
모델 버전 관리, 재학습 자동화, 데이터 드리프트 감지.
기술 스택: Docker, Kubernetes, CI/CD 도구(Jenkins, GitHub Actions), 클라우드 서비스, 모니터링 도구(Prometheus, Grafana), Python 스크립팅.
목표: "모델이 안정적으로 서비스에서 돌아가도록 유지"하는 데 집중. 예를 들어, 대규모 트래픽에서도 챗봇이 다운되지 않게 관리.
비유: 레스토랑 매니저. 요리사가 만든 음식을 고객에게 잘 전달하고 운영을 관리.
MLOps 트렌드: 기업들이 모델 개발뿐 아니라 배포, 모니터링까지 원활히 처리할 수 있는 "올라운드 플레이어"를 선호하면서, AI 개발자에게도 MLOps 관련 스킬을 요구하는 경우가 많아졌습니다.
현실적인 요구: 특히 스타트업이나 중소기업은 인력이 부족해 AI 개발자가 모델 개발부터 배포까지 맡아야 할 때가 많습니다.

3. 학습 데이터 확보 방법 (LoRA 포함)

(1) 데이터 확보 방법

직접 수집: 웹 크롤링, 데이터셋 구축 등.
오픈 데이터셋 사용: Kaggle, Hugging Face Datasets,
특정 목적을 위한 데이터셋 구매: 의료, 금융 데이터 등.

(2) LoRA (Low-Rank Adaptation) 사용하기

LoRA란?
기존 모델을 전체 재학습하지 않고, 일부 파라미터만 수정하여 효율적으로 학습시키는 방법.
기존 모델의 일부 행렬을 저차원 행렬로 분해하여 학습 속도를 크게 개선.
GPT-4 같은 대형 모델을 재학습하는 데 많이 사용됨.
학습 비용 절감 및 메모리 사용 최적화 가능.
LoRA (Low-Rank Adaptation) 는 Hugging Face Transformers 라이브러리에서 지원하는 방식으로, OpenAI API와는 무관합니다.

1. OpenAI API의 파인튜닝 지원 상황

(1) ChatGPT (GPT-3.5, GPT-4) API

파인튜닝 지원 X (GPT-3.5-turbo, GPT-4 모두 동일)
OpenAI는 GPT-4와 같은 최신 모델에 대해 파인튜닝을 제공하지 않고, 대신 프롬프트 엔지니어링(Prompt Engineering)을 권장합니다.
예를 들어, 사용자에게 개인화된 답변을 제공하거나, 특정 스타일로 답변하도록 하려면 프롬프트를 조정하는 방식으로 사용해야 합니다.

기억 기능 구현하기 (Stateful Interaction)

OpenAI의 API는 기본적으로 Stateless (대화 상태를 기억하지 않음).
하지만 사용자가 이전 대화를 계속 전달하여 모델이 일관된 응답을 하도록 할 수 있음.
예: 사용자가 이전 대화 기록을 메시지 목록으로 전달하기.
맞아! LoRA는 파인튜닝(Fine-Tuning)을 더 효율적이고 가볍게 할 수 있도록 설계된 방법이라고 보면 돼. 그리고 Hugging Face 모델들에 주로 적용되지만, 꼭 Hugging Face에 있는 모델에만 국한되는 건 아니야.

1. LoRA (Low-Rank Adaptation)의 개념

(1) LoRA란?

기존의 딥러닝 모델을 파인튜닝할 때, 모델의 모든 파라미터를 업데이트하는 대신, 특정 부분만 수정하도록 하는 방식.
기존 모델의 파라미터는 동결(Frozen) 하고, 저차원 행렬(Low-Rank Matrix)로 학습을 수행해서 메모리 사용량과 연산 비용을 크게 줄일 수 있음.
특히, 대규모 언어 모델(LLM, Large Language Models) 파인튜닝을 효율적으로 수행할 수 있도록 설계됨.

(2) LoRA의 장점

경량화: 모든 파라미터를 학습하지 않기 때문에 메모리 사용량이 크게 줄어듦.
빠른 학습: 필요한 부분만 학습하므로 더 빠르게 Fine-Tuning이 가능.
저렴한 비용: GPU 메모리를 적게 사용하므로 클라우드 비용 절감 가능.
모델을 수정하지 않고도 적용 가능: 원본 모델을 변경하지 않고 LoRA Layer를 추가로 학습시키기 때문에 기존 모델을 유지하면서 성능을 개선할 수 있음.

2. LoRA 적용 가능 여부

(1) Hugging Face 모델들에 적용 가능

Hugging Face의 transformers 라이브러리에서 제공하는 모델에 LoRA를 쉽게 적용할 수 있어.

인공지능 개발자, MLOPS차이

인공지능 개발자 (AI Developer):
머신러닝 모델을 설계, 훈련, 평가, 배포.
데이터 전처리, 데이터 분석, 모델 튜닝 등 AI 모델과 관련된 작업이 중심.
주요 기술: Python, TensorFlow, PyTorch, scikit-learn, NLP, Computer Vision.
DevOps 엔지니어:
애플리케이션의 빌드, 배포, 모니터링, 유지보수 자동화.
CI/CD 파이프라인 구축, 인프라 관리, 보안 설정.
주요 기술: Docker, Kubernetes, Jenkins, AWS, Azure, GCP, Terraform.
MLOps는 DevOps의 개념을 머신러닝 프로젝트에 적용한 것입니다. AI 모델의 개발, 배포, 모니터링, 유지보수를 자동화하고 효율적으로 관리하는 것이 목표입니다.
따라서 인공지능 개발자는 정말 코어 개발하는거고, 그런사람들이 docker같은거 알면 배포도 할수 있겠지만 그런 도구는 MLOPS에게 맡기는게 일반적
MLOPS는 모델을 배포하고 모니터링 유지보수하는거지 ai개발은 아님

내가 갈 분야는 확실이 ai엔지니어는 아니다

전공자니까 풀스택으로 가도 문제없다. 전문분야만 제대로 있으면 된다.

풀스택 + 블록체인 + 보안 + AI모델 활용

기존 AI 모델을 재학습(파인튜닝) 하거나, 제한된 기능을 해제하는 작업(언락킹) 은 어느 정도의 난이도와 기술 지식이 필요합니다. 하지만, 잘 접근하면 충분히 할 수 있습니다. 아래에서 자세히 설명할게.

1. 기존 AI 모델을 학습시키거나 개선하는 방법 (파인튜닝)

(1) 파인튜닝(Fine-Tuning)란?

기존의 사전 학습된 모델(예: GPT, BERT, ResNet 등)을 사용자가 원하는 작업에 맞게 추가 학습하는 과정입니다. 예를 들어, OpenAI의 GPT 모델을 학습시켜 특정 문체로 글을 작성하게 하거나, 특정 도메인(예: 법률, 의료) 지식에 특화되도록 학습시키는 작업입니다.

(2) 왜 파인튜닝을 하는가?

기존 모델이 특정 작업에서 성능이 떨어지거나 오동작할 때 개선하기 위해.
특정 도메인에 맞는 데이터로 모델을 더 전문화하기 위해.
기존 모델의 기능을 커스터마이즈해서 특정 애플리케이션에 맞추기 위해.

(3) 어떻게 파인튜닝을 할 수 있는가?

사전 학습된 모델 다운로드: Hugging Face, TensorFlow Hub, PyTorch Hub 등에서 가져오기.
자신의 데이터셋 준비: 모델이 잘 학습되도록 충분한 데이터 준비.
학습 환경 설정: GPU 사용 권장 (특히 PyTorch, TensorFlow 사용 시).
학습 코드 작성:
PyTorch: transformers 라이브러리 (Hugging Face)
TensorFlow: tf.keras 또는 transformers 라이브러리 사용
모델 검증 및 배포: 성능 테스트 후 API로 배포하거나 앱에 통합.

(4) 추천 라이브러리 & 도구

Hugging Face Transformers: NLP 모델 파인튜닝에 가장 많이 사용됨.
TensorFlow & Keras: 이미지 모델 파인튜닝에 주로 사용됨.
PyTorch: 딥러닝 연구 및 커스텀 모델 설계에 유용.

2. 기존 모델의 제한된 기능을 해제하는 방법 (언락킹)

(1) 제한된 기능이란?

API 제공자가 제공하는 프리셋 기능 외의 작업을 하려는 경우.
모델의 학습 데이터나 특정 모듈이 비활성화되거나 제한된 경우.

(2) 제한 해제 방법

1.
커스텀 모델 사용:
GPT, BERT 같은 오픈소스 모델을 직접 학습시키거나 커스터마이즈 가능.
Hugging Face 모델 허브에서 오픈 모델 다운로드 후 수정.
예: transformers 라이브러리로 GPT 모델을 커스텀 학습시키기.
2.
모델 리트레이닝 (Retraining):
기존 모델의 일부 레이어를 고정(Frozen)하고, 새로운 데이터로 추가 학습.
특히, 컴퓨터 비전 모델이나 NLP 모델에서 많이 사용됨.
3.
파라미터 수정:
예를 들어, 언어 모델의 토큰 길이 제한을 늘리거나 응답의 다양성을 조정하기 위해 하이퍼파라미터 조정.

3. 성능 개선을 위한 접근 방법

1.
하이퍼파라미터 튜닝:
학습률(Learning Rate), 배치 크기(Batch Size), 드롭아웃(Dropout) 비율 등을 조정하여 성능을 개선.
2.
전이 학습 (Transfer Learning):
기존 모델을 이용하여 새로운 데이터로 빠르게 학습시키기.
예를 들어, GPT-3 모델을 사용하되, 네이티브 영어 학습 데이터를 추가 학습하여 대화 스타일 개선.
3.
모델 경량화 및 최적화:
Quantization, Pruning, Knowledge Distillation 같은 기법으로 모델의 속도를 개선하고 경량화하기.
특히 모바일 앱이나 웹 서비스로 배포할 때 중요함.

4. 난이도와 필요한 지식

난이도: 파인튜닝이나 기능 언락킹은 초급 수준의 AI 개발자가 접근하기에는 어렵지만, 기본적인 PyTorch 또는 TensorFlow 사용법을 알고 있다면 학습이 가능함.
필요한 지식:
딥러닝 기본 개념 (신경망, 손실 함수, 옵티마이저)
Python 프로그래밍
PyTorch 또는 TensorFlow 사용법
데이터 전처리 및 학습 파이프라인 구축

5. 요약 및 추천

기존 모델을 개선하려면 파인튜닝(학습 데이터 추가 제공) 을 활용하거나 하이퍼파라미터 튜닝 을 시도해야 함.
제한된 기능을 언락킹하고 싶다면, 오픈소스 모델을 가져와서 학습시키거나 커스터마이즈하는 방식이 좋음.
네가 이미 React와 AI 모델 사용 앱 개발을 해봤기 때문에, 모델 배포와 통합도 가능할 거야.

다음 단계 추천

Hugging Face Transformers 라이브러리로 GPT 모델을 커스터마이즈하고 React 앱에 통합하기.
혹은, 사용하고 있는 모델을 성능 개선하기 위해 파인튜닝 또는 하이퍼파라미터 튜닝 실습하기.

프론트엔드 역사

1990년 웹의 등장, 1995년 자바스크립트 처음 당장.
처음에는 livescript라는 이름이었지만 java의 영향을 받아 javascript로 변경

Flash

2000년대 초에 사용자와 동적으로 인터렉션하는 방법으로 사용된 도구. actionscript를 사용했는데, 애니메이션, 게임 등등에 다양하게 활용되었지만 당연하게도 로딩도 많이 필요하고 HTML이 아니므로 검색엔진에 포함되지 않으며 문서라고 보기에는 어렵고 가벼운 게임엔진 비슷한 느낌인거같다.

구글지도와 웹 2.0

2005년에 구글 지도가 나온 이후 전환점을 맞이함
구글은 구글맵을 만들기 위해서 js를 이요해서 비동기로 화면을 동적으로 구성하는 방법이 필요해서 ajax를 만듦
원래 브라우저는 서버에서 받은 html을 표시만 할 뿐 표시된 화면을 움직이지 않았다. HTML을 읽어들인 이후에도 브라우저에서 자바스크립트로 움직임을 구현해야하는 필요성이 생김.
IE에서는 j스크립트라는것을 사용하고 있었음. 그리고 브라우저마다 자바스크립트 코드가 다르다는 문제가 있었음. 그걸 해결한 것이 jQuery

jQuery

크로스 브라우징 - 브라우저를 자동으로 인식해 그에 맞는 코드를 실행해서 브라우저간의 차이를 해결함.
이때부터 서버측에서 프로그래밍하는것보다 브라우저에서 동작하는 프로그램 개발이 일반적으로 자리잡게 되면서 프론트엔드 개발이라는 용어가 생김.
이후 ECMAScript를 통해 표준화되면서 jQuery의 필요성은 줄어듦

v8엔진

js성능개선을 위한 브라우저에서 사용하는 엔진인데 오픈소스로 풀었음. 이로인해서 nodejs도 탄생하게 되고 서버 개발자도 js를 하면서 module의 개념이 js에도 들어오게 되었다. 그러면서 더 큰 프로그램도 만들 수 있게되는 가능성이 열린것. 그 이후에 모듈 관리를 위해서 npm이 생겨서 모듈을 패키징하고 등록 및 관리한다.

프레임워크

이때부터 라이브러리말고 angularjs, backbonejs 등의 프레임워크가 등장함.

리액트 2013

페이스북이라는 거대한 웹사이트가 나오면서 더 나은 방식이 필요했음
이때부터 본격적으로 프론트엔드가 분리되기 시작함.

앞으로

프론트엔드는 보다 serverless하게 나아가고 있음. 백엔드의 로직 영역이 점점 프론트로 내려오고 백엔드는 데이터를 저장 관리하는 인프라의 영역으로 나아가고 있음. 앞으로는 클라우드를 통해서 서버없이 작업하는 형태로 발전할 수 있음. (서버컴퓨터가 없다는게 아니라 서버로직도 프론트에 있다는것)
보다 데스크톱 앱을 대체하고 보다 실시간으로 변화될 것으로 예상됨

4/6

Welcome to Expo 에러

Did your project use react-native-dotenv or any other env Babel plugins? According to the Expo SDK 51 changelog:
react-native-dotenv is not compatible with expo-router. If you are using the react-native-dotenv Babel plugin, it will overwrite expo-router configuration environment variables and you'll see the empty state "Welcome to Expo" screen. We are tracking the incomptibility in expo/expo#28933, but we recommend removing the library and Babel plugin, and instead using Expo CLI's built-in support for .env files (learn more).
I had the problem when I upgraded my project from Expo SDK 49 to Expo SDK 51, so I erased module:react-native-dotenv from babel.config.js and removed the library, but it turned out I also had babel-plugin-transform-inline-environment-variables, so I had to remove that too. After refactoring to use Expo environment variables, my project worked fine.

expo-constants

EXPO_PUBLIC_API_URL
proces.env로 접근? constants로 접근?
왜 갑자기 에러 발생하는지 모르겠다..
그냥 새로 파봐야겠다 프로젝트
다시할때는 최대한 expo prebuild를 늦게하기
xcode등 업데이트 중간에 하지말기 충돌난다
ios버전 먼저 완성하고 android하기

MCP Server

MCP 서버는 하나의 독립적인 프로그램입니다. 예를 들어, 특정 데이터베이스에 접근하는 MCP 서버, 파일 시스템에 접근하는 MCP 서버, 외부 API를 호출하는 MCP 서버 등 각각의 기능에 따라 별도의 서버 프로그램으로 존재할 수 있습니다.
VS Code는 MCP 클라이언트 역할을 합니다. VS Code에 설치하는 MCP 관련 확장 프로그램은 이러한 MCP 서버들과 통신하여 필요한 데이터나 기능을 요청하고 결과를 받아오는 역할을 합니다.
여러 개의 MCP 서버 동시 실행: VS Code에서 여러 기능을 활용하기 위해 여러 MCP 서버를 설정했다면, 각 서버는 독립적으로 실행되어야 합니다. 마치 여러 개의 웹 서버(예: 80번 포트의 메인 웹사이트 서버, 8080번 포트의 다른 서비스 서버)를 하나의 컴퓨터에서 동시에 실행하는 것과 유사합니다.
MCP 서버의 역할:
AI 모델의 요청을 받아 해석하고, 어떤 외부 자원이나 도구가 필요한지 판단합니다.
해당 외부 자원에 안전하고 적절한 방식으로 접근합니다 (예: 데이터베이스 쿼리 실행, API 호출, 파일 시스템 접근 등).
외부 자원으로부터 얻은 정보나 실행 결과를 AI 모델이 이해할 수 있는 형태로 변환하여 다시 전달합니다.
필요한 경우, 여러 단계를 거치는 복잡한 작업을 관리하고 상태를 유지합니다.
보안 및 접근 제어를 관리하여 허가된 AI 모델만 외부 자원을 사용하도록 보장합니다.
MCP 클라이언트 (Host): AI 모델이 탑재된 애플리케이션 (예: VS Code 확장, 데스크톱 앱, 웹 서비스 등)은 MCP 서버에 요청을 보내는 클라이언트 역할을 합니다. 클라이언트는 서버가 어떻게 작동하는지에 대한 구체적인 내부 구현을 알 필요 없이, 정의된 프로토콜에 따라 요청과 응답을 주고받습니다.
Q) 그럼 내 ide나 claude desktop같은 mcp 클라이언트가 있고 mcp server를 로컬에서 돌려서 클라이언트의 요청을 mcp server가 처리해서 해당하는 서비스에 자동으로 지정된 작업을 한다(api처럼) 이렇게 이해하면 되는거지? 장점은 코드가 아니라 자연어로 명령할 수 있는거고?
정확하게 이해하셨습니다! 말씀하신 내용이 MCP의 기본적인 작동 방식과 주요 장점을 잘 설명하고 있습니다.
핵심 요약:
MCP 클라이언트 (IDE, Claude Desktop): 사용자가 자연어로 명령을 내리거나 특정 작업을 요청하는 인터페이스입니다. 이 클라이언트는 MCP 서버에 요청을 전달하는 역할을 합니다.
MCP 서버 (로컬 실행): 클라이언트로부터 요청을 받아서, 해당 요청에 필요한 외부 서비스 (API, 데이터베이스, 파일 시스템 등)와 통신하여 작업을 수행합니다. 마치 API 엔드포인트처럼 작동하며, 클라이언트에게 결과를 반환합니다.
자동화된 작업 수행: MCP 서버는 클라이언트의 요청에 따라 미리 정의된 작업 흐름이나 외부 서비스 호출을 자동화하여 실행합니다.
주요 장점: 자연어 기반 명령: 코드를 직접 작성하는 대신, 자연어 명령을 통해 복잡한 작업을 지시할 수 있다는 점이 큰 장점입니다. AI 모델이 자연어 명령을 이해하고 MCP 서버를 통해 필요한 작업을 수행하므로, 사용자는 프로그래밍 지식 없이도 다양한 기능을 활용할 수 있습니다.
좀 더 자세히 덧붙이자면:
추상화 계층: MCP는 AI 모델과 외부 서비스 사이에 추상화 계층을 제공합니다. AI 모델은 특정 서비스의 API 호출 방식이나 데이터베이스 쿼리 문법을 알 필요 없이, MCP 프로토콜에 따라 요청을 보내기만 하면 됩니다. MCP 서버가 이를 해석하여 실제 서비스와 상호작용합니다.
Q)그럼 notion mcp가 있다면 내가 작성한 글을 모두 영어로 바꿔달라고 하면 바꿔주겠네? ai모델 토큰 비용만 있다면?
Notion MCP 서버가 번역 기능을 제공해야 합니다. 단순히 Notion API에 접근하는 기능만으로는 번역 작업을 수행할 수 없습니다. 번역 AI 모델과의 연동 로직이 MCP 서버 내에 구현되어야 합니다.
AI 모델 사용에 대한 토큰 비용을 사용자가 부담해야 합니다. MCP 서버 자체는 무료로 사용할 수 있더라도, 번역 기능을 위해 사용되는 AI 모델의 비용은 발생합니다.
결론적으로, 현재로서는 공식적인 Notion MCP가 없고 번역 기능이 내장되어 있는지도 알 수 없기 때문에 단정적으로 말씀드리기는 어렵습니다. 하지만 만약 이러한 MCP 서버가 개발된다면, AI 모델의 토큰 비용만 있다면 자연어 명령을 통해 Notion 글을 영어로 번역하는 것이 충분히 가능합니다. 이는 MCP의 강력한 잠재력을 보여주는 예시라고 할 수 있습니다.

나중에는 MCP서버 개발이 일반앱개발보다 많을수도 있겠다..

예) notion mcp server

mcp server에 tool로 번역 및 글 정리 기능을 넣는다고 하면 중간에 또 chatgpt api를 사용해서 요청보내고 해야하니까.. 내가 mcp server로 수익화할게 아니고 개인으로 돌리는거면 mcp server만들고, 내 api key넣고 실행해야할것
Q)mcp는 어떻게 서비스의 resource에 접근하는게 가능한거야? 예를 들어 notion이면 notion의 api를 사용해서 미리 코드를 짜는거야?
네, 정확히 이해하셨습니다. MCP 서버가 특정 서비스의 리소스 (예: Notion의 데이터)에 접근하는 기본적인 방법은 해당 서비스가 제공하는 API (Application Programming Interface)를 활용하여 미리 코드를 짜는 것입니다.
좀 더 자세히 설명드리자면:
1.
서비스 제공 API: 대부분의 현대적인 웹 서비스 (Notion, Google Drive, Slack, GitHub 등)는 외부 개발자들이 자신들의 서비스와 상호 작용할 수 있도록 API를 제공합니다. 이 API는 특정 URL 주소와 정해진 요청 및 응답 형식 (예: RESTful API, GraphQL API)으로 구성됩니다.
2.
MCP 서버 개발자의 역할: MCP 서버 개발자는 특정 서비스의 리소스에 접근하는 기능을 구현하기 위해 다음과 같은 작업을 수행합니다.
API 문서 학습: 해당 서비스의 API 문서 (endpoints, 요청 파라미터, 응답 형식, 인증 방식 등)를 자세히 학습합니다.
API 호출 코드 작성: 학습한 내용을 바탕으로, MCP 서버가 필요할 때 해당 서비스의 API를 호출하는 코드를 작성합니다. 이 코드는 HTTP 요청을 만들고, 필요한 인증 정보를 담고, API가 요구하는 형식으로 데이터를 전송하는 등의 작업을 수행합니다.
데이터 처리 로직 구현: API로부터 응답받은 데이터를 MCP 클라이언트 (AI 모델)가 이해할 수 있는 형태로 가공하고 변환하는 로직을 구현합니다. 예를 들어, Notion API에서 받은 JSON 형식의 데이터를 텍스트나 특정 구조화된 형식으로 변환할 수 있습니다.
오류 처리 및 예외 관리: API 호출 실패, 인증 오류, 데이터 형식 불일치 등 발생할 수 있는 다양한 오류 상황에 대한 처리 로직을 구현하여 안정적인 서비스를 제공합니다.
3.
MCP 서버의 작동 방식 (Notion 예시):
MCP 클라이언트 (예: Claude Desktop)가 "내 Notion 워크스페이스의 최근 변경된 페이지 목록을 보여줘"라는 요청을 MCP 서버에 보냅니다.
Notion MCP 서버는 이 요청을 해석하고, Notion API의 특정 엔드포인트 (예: 페이지 목록 조회 API)를 호출하기 위한 코드를 실행합니다. 이때 Notion API 접근에 필요한 인증 정보 (API 키, OAuth 토큰 등)를 함께 전송합니다.
Notion API는 요청을 처리하고, 최근 변경된 페이지 목록을 JSON 등의 형식으로 응답합니다.
Notion MCP 서버는 이 응답 데이터를 받아서 필요한 정보만 추출하거나 가공하여 MCP 클라이언트에게 다시 응답합니다.
MCP 클라이언트는 이 응답을 사용자에게 자연어 형태로 보여줍니다.

4/15

Chatgpt Desktop

앱과 데이터를 공유할 수 있지만 직접 편집은 못함 나중에 mcp나오면 가능할듯