2026/08 22

블로그 MCP 서버 공개 배포기: PyPI 패키징·하드닝·익명성 게이트

앞선 글 내 블로그를 MCP 서버로 만들기에서는 이 블로그의 공개 글 코퍼스를 로컬 stdio MCP 서버로 만들어 AI 에이전트가 목록·검색·본문을 읽게 하는 데까지 다뤘다. 그 글은 마지막에 "로컬 stdio로 먼저, 공개 배포는 다음"이라고 미뤄 두었다. 이 글은 바로 그 다음 이야기다.로컬에서 도는 것과 남들이 uvx 한 줄로 설치해 쓰는 것 사이에는 생각보다 큰 간극이 있다. 특히 PyPI에 올린 배포 파일은 되돌리기 어렵다 — 이미 올린 wheel/sdist는 같은 파일명으로 교체할 수 없고, 수정본은 통상 새 버전 번호를 필요로 한다. 한 번 나간 아티팩트는 캐시·미러·포크에도 남는다. 그래서 배포는 "동작하니까 올린다"가 아니라 배포 전에 굳혀도 되는 상태인지 검증하는 게이트를 세우는 작..

AI Agent · MCP 2026.08.03

음성에서 인사이트까지: 실시간 STT·RAG로 만드는 실제 데이터 파이프라인

동반편인 기업 데이터 파이프라인 참조 아키텍처은 데이터웨어하우스에서 마케팅·고객 충성도까지 이어지는 기업 데이터 파이프라인을 범용 참조 아키텍처로 개관했습니다. 이 글은 같은 목표(데이터에서 얻은 인사이트를 업무와 고객 활용으로 잇기)를, 필자가 실제로 운영하는 AI 스택에 다시 정박해 “어떻게”를 다룹니다.원천 데이터는 정형 테이블이 아니라 음성·회의 미디어입니다. 이것을 실시간·배치 음성 인식 (Speech-to-Text, STT)으로 전사하고, 화자 분리 (Speaker Diarization)로 정제하고, 임베딩·벡터 데이터베이스에 색인해 검색 증강 생성 (Retrieval-Augmented Generation, RAG)으로 인사이트를 만듭니다. 그 인사이트를 업무로 연결하는 것이 이 파이프라인의 ..

기업 데이터 파이프라인 참조 아키텍처: 데이터웨어하우스에서 AI 모델과 고객 충성도까지 한눈에

기업에서 “데이터로 고객을 확보하고 충성도를 높이겠다”고 하면, 대개 마지막 단계(추천, 캠페인, 대시보드)부터 이야기가 시작됩니다. 그러나 그 결과물은 그 앞에 놓인 긴 파이프라인의 마지막 한 칸일 뿐입니다. 데이터웨어하우스 (Data Warehouse), 데이터마트 (Data Mart), 빅데이터 분석 (Big Data Analytics), 머신러닝 (Machine Learning), 딥러닝 (Deep Learning), AI 모델의 학습과 서빙이 함께 맞물려야, 마케팅 데이터 활용과 고객 충성도라는 마지막 칸이 비로소 신뢰할 수 있는 근거 위에 놓입니다.이 글은 그 전 구간을 한 장의 참조 아키텍처 (Reference Architecture)로 개관합니다. 각 단계가 어떤 입력을 받아 무엇을 만들고..

기업 AI Agent 도입 로드맵: 업무 발굴부터 PoC·운영 전환까지 6단계

기업에서 AI Agent 도입을 검토하면 “어떤 LLM·RAG·MCP·멀티 Agent를 써야 하는가?”부터 묻기 쉽습니다. 모두 필요한 질문이지만 첫 번째 질문은 아닙니다.기업 AI Agent 도입의 출발점은 어떤 모델을 선택할지가 아니라 누구의 어떤 업무를 어떤 조건에서 개선할지입니다. 업무와 책임 경계가 정해지지 않은 상태에서 기술부터 선택하면, 시연은 빠르게 만들 수 있어도 운영 전환 단계에서 범위·권한·품질·비용을 다시 설계하게 됩니다.AI Agent는 요청을 이해하고 정보를 검색하며, 상황에 따라 계획하고 기업 시스템의 Tool을 호출합니다. 잘못된 판단이 실제 시스템 변경으로 이어질 수 있으므로 데이터·API·권한·승인·복구·감사와 운영 책임을 함께 다뤄야 합니다.요청 이해 → 정보 검색 → ..

기술 인사이트 2026.08.02

콘텐츠를 검색엔진과 AI 에이전트 양쪽에 노출하기: Search Console·사이트맵부터 MCP 서버까지

좋은 글을 써도 아무도 못 찾으면 없는 글과 같습니다. 발견(Discovery) 경로는 예전부터 검색·소셜·커뮤니티·추천·직접 방문 등 여럿이었지만, 최근 크게 달라진 것은 사람들이 정보를 검색엔진과 생성형 AI(AI 검색·어시스턴트) 양쪽에서 찾는다는 점입니다. 누군가는 구글·네이버에 검색하고, 누군가는 ChatGPT·Perplexity·Copilot에게 묻습니다. 이 글은 여러 경로 중 이 두 경로에 집중해, 콘텐츠 노출을 어떻게 설계할지 다룹니다.이 글은 제가 이 블로그의 검색 노출을 설정하고, AI 연결 가능성까지 정리한 과정을 재사용 가능한 네 트랙으로 묶은 것입니다. 앞의 두 단계(소유·측정, 크롤·URL 발견)는 전통적인 검색엔진 최적화 (Search Engine Optimization, S..

기술 인사이트 2026.08.02

내 블로그를 MCP 서버로 만들기: 공개 콘텐츠를 AI 도구로 노출하고 출처 링크로 유입을 유도하기

기술 블로그를 오래 쓰다 보면 글은 쌓이는데, 정작 요즘 사람들이 정보를 찾는 창구인 AI 에이전트 (AI Agent) 는 내 글을 잘 데려오지 못합니다. 검색 색인에 잡히기를 기다리거나, 누군가 링크를 붙여 주기를 기다릴 뿐입니다. 그런데 내가 이미 가진 것은 잘 구조화된 공개 콘텐츠 코퍼스 (Corpus) 입니다. 이걸 에이전트가 도구로 직접 검색·열람하게 만들면 어떨까요?이 글은 제가 이 블로그(49편 규모)를 모델 컨텍스트 프로토콜 (Model Context Protocol, MCP) 읽기 전용 서버로 만들고 로컬에서 검증한 과정을 정리합니다. 여기서 다루는 범위는 로컬 표준입출력(stdio) 서버로 만들어 동작을 확인하는 단계까지입니다. 공개 저장소·패키지 레지스트리·원격 서버로의 공개 배포는 ..

AI Agent · MCP 2026.08.02

Exceptional Conditions Secure Coding: Fail Closed·Rollback·안전한 오류 응답

정상 경로가 안전하다는 사실만으로 시스템이 안전해지지는 않습니다. Database Timeout, 권한 Service 장애, 예상하지 못한 Status Code, Disk 부족과 Null 값처럼 정상 전제를 깨는 상황에서 시스템이 어떤 상태를 남기고 무엇을 허용하는지가 실제 보안 경계를 결정합니다.이 글은 2026년 8월 기준 OWASP(Open Worldwide Application Security Project, 오픈 월드와이드 애플리케이션 보안 프로젝트) Top 10:2025 A10 Mishandling of Exceptional Conditions를 바탕으로 Java 21·Spring Boot 3 환경의 합성 예제를 설명합니다. 실제 고객, 계정, 거래, 내부 URL, 운영 임계값과 장애 기록은 ..

보안 2026.08.01

Security Logging & Alerting Secure Coding: Log Forging·민감정보·탐지

공격을 차단하는 코드가 있어도 우회 시도를 기록하지 않으면 다음 공격을 알아채기 어렵습니다. Log를 남겨도 아무도 보지 않거나 Alert가 담당자에게 도착하지 않으면 대응은 시작되지 않습니다. Alert가 도착해도 무엇을 확인하고 차단해야 하는지 Playbook이 없으면 중요한 시간이 다시 사라집니다.이 글은 2026년 8월 기준 OWASP(Open Worldwide Application Security Project, 오픈 월드와이드 애플리케이션 보안 프로젝트) Top 10:2025 A09 Security Logging and Alerting Failures와 OWASP Logging Cheat Sheet, NIST(National Institute of Standards and Technology,..

보안 2026.08.01

Software or Data Integrity Secure Coding: 역직렬화·Update·Artifact 무결성

무결성(Integrity)은 데이터가 깨지지 않았다는 뜻만이 아닙니다. 시스템이 사용하는 Software, Configuration, Update와 업무 데이터가 기대한 출처에서 왔고, 승인된 내용이며, 전달 과정에서 바뀌지 않았고, 지금 사용해도 되는 상태임을 확인하는 성질입니다.파일의 Hash가 일치해도 공격자가 그 Hash까지 바꿀 수 있다면 신뢰할 수 없습니다. Digital Signature가 유효해도 오래된 취약 Version을 재전송한 것이라면 안전한 Update가 아닙니다. JSON 문법이 올바르더라도 Client가 role=ADMIN을 넣을 수 있다면 중요한 데이터의 의미적 무결성이 깨집니다.이 글은 2026년 8월 기준 OWASP(Open Worldwide Application Secu..

보안 2026.08.01

Authentication Failures Secure Coding: Brute Force·MFA·Session

인증(Authentication)은 로그인 화면 하나가 아닙니다. 계정 등록부터 비밀번호 변경, 다중 요소 인증(Multi-Factor Authentication, MFA) 등록과 복구, 세션(Session) 생성·갱신·폐기까지 이어지는 신원 수명주기입니다.로그인 요청에 Rate Limit을 추가했어도 다음 중 하나가 열려 있으면 계정은 탈취될 수 있습니다.존재하는 계정만 다른 오류 메시지나 응답 시간을 반환합니다.하나의 IP만 제한해 분산 Credential Stuffing을 놓칩니다.MFA를 켰지만 분실 복구 절차가 비밀번호만 요구합니다.로그인 후에도 인증 전 Session ID를 그대로 사용합니다.Logout은 Cookie만 지우고 Server Session을 폐기하지 않습니다.비밀번호를 바꿔도 기..

보안 2026.08.01