ai agent 18

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

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

AI Agent · MCP 2026.08.03

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

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

AI Agent · MCP 2026.08.02

원격 MCP 서버를 여러 클라이언트에 붙이기: URL 중심 OAuth 디스커버리와 등록 패턴

내부 기능을 원격 MCP 서버 (Remote MCP Server, Streamable HTTP) 로 노출하면, 하나의 서버를 여러 AI 클라이언트가 자연어로 함께 쓸 수 있습니다. Codex, Claude Code, claude.ai, Claude Desktop, ChatGPT — 클라이언트는 제각각이지만 서버는 하나입니다(같은 제품이라도 웹·데스크톱 표면이 커넥터를 공유하기도 합니다). 그런데 막상 붙이려고 하면 "클라이언트마다 등록 방법이 다른데?"라는 벽에 부딪힙니다.좋은 소식은, 클라이언트와 서버가 호환되는 MCP Authorization 사양과 클라이언트 등록 방식을 지원하면, 등록은 대체로 URL 중심으로 수렴한다는 점입니다. 클라이언트가 서버에 처음 접속하면 메타데이터 디스커버리 (Disco..

AI Agent · MCP 2026.08.01

이슈 트래커 업무 자동화 리포팅: MCP 수집·사용자 매핑·범위 검증·민감정보 처리

많은 조직이 이슈 트래커 (Issue Tracker)에 매일의 업무 흔적을 남깁니다. 이슈가 생성되고, 상태가 바뀌고, 담당자가 배정되고, 코멘트와 작업 시간이 기록됩니다. 그런데 정작 "지난 한 주 동안 우리 팀이 무엇을 했는가"를 한 장으로 정리하려고 하면, 사람이 화면을 열어 필터를 걸고 숫자를 손으로 옮겨 적습니다. 매일 반복되는 이 작업은 지루할 뿐 아니라, 사람마다 집계 방식이 달라 숫자가 미묘하게 어긋납니다.이 글은 이슈 트래커를 MCP (Model Context Protocol) 호환 브리지로 AI Agent에 연결하고, 활동 데이터를 수집·집계해 신뢰할 수 있는 운영/경영 리포트를 자동 생성한 경험을 일반화해 정리합니다. 핵심은 "API를 호출해 데이터를 긁어오는 것"이 아니라, 그 숫자..

웹 리서치 RAG: 공개 웹 문서 추출·청킹·Semantic Search를 MCP로 제공하기

AI 에이전트에게 지식을 주는 방법은 하나가 아닙니다. 사내 회의 녹취를 검색 가능한 지식으로 만드는 파이프라인은 이전 글에서 다뤘습니다(회의 오디오 → RAG). 이 글은 성격이 전혀 다른 지식원, 즉 공개 웹 문서를 대상으로 한 검색 증강 생성 (Retrieval-Augmented Generation, RAG)을 다룹니다.이 글은 구현 회고가 아니라 설계 가이드입니다. 아래에 나오는 코드는 대부분 개념을 보여주기 위한 개념 코드이며, 특정 버전·실행 환경에서 측정한 검색 품질·성능 수치를 제시하지는 않습니다. 대신 "공개 웹을 지식원으로 붙일 때 무엇을 어떻게 결정해야 하는가"에 대한 설계 지침에 집중합니다.제안하는 파이프라인의 골격은 이렇습니다. 공개 웹 페이지를 수집(Crawl)하고, 본문을 추출..

메시지 버스 기반 멀티 에이전트 협업: 에이전트별 MCP·RAG 권한 분리

하나의 거대한 AI Agent (AI 에이전트)에게 회의록 검색, 웹 조사, 초안 작성, 사실 검증, 최종 편집을 모두 시키면 초기 개발은 빠릅니다.문제는 이 에이전트에게 붙는 권한이 시간이 지날수록 계속 늘어난다는 점입니다.단일 거대 에이전트가 갖게 되는 권한 → 회의 지식베이스 읽기 → 웹 지식베이스 읽기 → 외부 검색 도구 호출 → 파일 업로드·삭제 도구 호출 → 요약 재생성·저장 도구 호출 → 그리고 위 모든 것을 하나의 System Prompt로 통제권한이 한곳에 모이면 두 가지가 동시에 나빠집니다. 첫째, 프롬프트 한 줄이 오작동하면 그 파급 범위 (Blast Radius)가 모든 도구와 모든 지식베이스로 번집니다. 둘째, "이 작업에는 이 도구가 정말 필요한가"를 판단할 수 있는 ..

엔터프라이즈 AI Agent 권한 설계: 사용자·테넌트·Tool 인가와 감사 로그

사용자가 AI Agent에게 요청합니다.“지난주 회의의 결정 사항을 찾아 줘.”“이 회의의 후속 업무를 등록해 줘.”“완료된 회의를 다른 조직으로 옮겨 줘.”Agent는 자연어를 이해하고 회의 검색, 요약 조회, 업무 생성과 회의 이동 Tool을 선택합니다.이때 “사용자가 로그인했다”는 사실만으로는 어느 요청도 실행할 수 없습니다.로그인됨≠ 모든 Tenant 접근 가능≠ 모든 Tool 실행 가능≠ 모든 객체 변경 가능≠ 현재 업무 상태에서 허용됨더 어려운 문제는 실행 주체가 하나가 아니라는 점입니다.사용자 → AI Client → Agent Runtime → MCP Server → Business API → Database최종 Database 변경은 Servi..

AI Agent 승인 정책 설계: 읽기·쓰기·중요·파괴 작업을 구분하는 방법

AI Agent에게 “지난 회의를 찾아 요약해 줘”라고 요청했습니다.Agent는 회의 목록을 조회하고, 대상 회의를 찾은 뒤 요약 작업을 요청할 수 있습니다. 여기까지는 비교적 자연스럽습니다.그런데 요청이 “다른 조직으로 옮겨 줘”, “외부 담당자에게 전송해 줘”, “이 회의를 영구 삭제해 줘”라면 이야기가 달라집니다.모두 같은 Tool Call이지만 결과의 영향은 같지 않습니다.조회 실패 → 다시 확인할 수 있음생성 중복 → 데이터 정리와 비용 발생잘못된 전송 → 외부 노출과 업무 사고영구 삭제 → 복구 불가능할 수 있음모델이 사용자의 의도를 잘 이해했다는 사실은 실행 권한을 얻었다는 뜻이 아닙니다.운영 가능한 AI Agent에는 다음 네 질문에 각각 답하는 통제가 필요합니다.인증 (Authen..

AI Agent · MCP 2026.07.29

AI PoC가 운영 단계에서 멈추는 이유: 인증, 권한, 복구와 관측성

회의 파일을 올리면 녹취록과 요약이 생성됩니다. 질문을 입력하면 사내 문서를 검색하고, AI Agent가 업무 Tool까지 호출합니다.개념 검증 (Proof of Concept, PoC) 시연은 성공했습니다.하지만 운영 전환 회의에서는 새로운 질문이 쏟아집니다.누가 어떤 데이터까지 볼 수 있는가?AI가 잘못된 대상을 변경하면 어떻게 막는가?처리 중 서버가 재시작되면 어디서 다시 시작하는가?답변 품질이 나빠졌다는 사실을 어떻게 감지하는가?모델 API가 느리거나 중단되면 무엇을 보여 주는가?사용자 한 명과 천 명의 비용 차이는 얼마인가?장애가 발생했을 때 누가 판단하고 복구하는가?이 질문들은 PoC의 부가 기능이 아닙니다. 실제 사용자가 있는 서비스라면 처음부터 존재했던 요구사항입니다. 다만 제한된 데이터와..

기술 인사이트 2026.07.29

자연어에서 MCP Tool Call까지: 통합 테스트 (Integration Test) 시나리오 설계

자연어에서 MCP Tool Call까지: 통합 테스트 (Integration Test) 시나리오 설계AI Agent에게 “내 최근 회의 요약을 보여줘”라고 요청했을 때 자연스러운 답변이 돌아왔다고 가정해 보겠습니다.겉으로는 성공처럼 보여도 내부에서는 다음과 같은 문제가 숨어 있을 수 있습니다.다른 사용자의 회의를 조회했다.목록에서 얻은 식별자가 아니라 모델이 만든 가짜 ID를 사용했다.요약 조회 전에 불필요한 변경 Tool을 호출했다.권한 오류를 “회의가 없습니다”로 잘못 설명했다.같은 요청을 재시도하면서 생성 Tool을 두 번 실행했다.사용자 승인 없이 삭제나 전송을 수행했다.따라서 MCP 기반 Agent의 품질은 최종 문장만으로 판단할 수 없습니다.자연어 요청 │ ▼의도·대상 해석 │ ..