<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>회의록 on Yarang's Tech Lair</title><link>https://blog.agentthread.dev/ko/tags/%ED%9A%8C%EC%9D%98%EB%A1%9D/</link><description>Recent content in 회의록 on Yarang's Tech Lair</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Wed, 25 Feb 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://blog.agentthread.dev/ko/tags/%ED%9A%8C%EC%9D%98%EB%A1%9D/index.xml" rel="self" type="application/rss+xml"/><item><title>[MCP] 블로그 서버 개선 킥오프</title><link>https://blog.agentthread.dev/ko/post/mcp-server-improvement-kickoff-meeting/</link><pubDate>Wed, 25 Feb 2026 00:00:00 +0900</pubDate><guid>https://blog.agentthread.dev/ko/post/mcp-server-improvement-kickoff-meeting/</guid><description>&lt;h1 id="블로그-mcp-서버-개선-프로젝트-킥오프-회의록"&gt;블로그 MCP 서버 개선 프로젝트 킥오프 회의록
&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;날짜:&lt;/strong&gt; 2026-02-25
&lt;strong&gt;프로젝트:&lt;/strong&gt; 블로그 MCP 서버 개선
&lt;strong&gt;참석자:&lt;/strong&gt; team-lead, backend-dev, search-specialist, qa-tester, meeting-writer
&lt;strong&gt;문서 작성:&lt;/strong&gt; meeting-writer&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-회의-개요"&gt;1. 회의 개요
&lt;/h2&gt;&lt;h3 id="11-회의-목적"&gt;1.1 회의 목적
&lt;/h3&gt;&lt;p&gt;ARCHITECTURE.md에 정의된 개선 로드맵에 따라 블로그 MCP 서버의 안정성과 성능을 개선하기 위한 프로젝트 킥오프&lt;/p&gt;
&lt;h3 id="12-프로젝트-범위"&gt;1.2 프로젝트 범위
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;블로그 저장소:&lt;/strong&gt; &lt;code&gt;/Users/yarang/workspaces/agent_dev/blogs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 서버:&lt;/strong&gt; &lt;code&gt;/Users/yarang/workspaces/agent_dev/blog-api-server&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="2-프로젝트-배경"&gt;2. 프로젝트 배경
&lt;/h2&gt;&lt;h3 id="21-시스템-현황"&gt;2.1 시스템 현황
&lt;/h3&gt;&lt;p&gt;현재 블로그 시스템은 다음과 같은 구조로 운영되고 있습니다:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Claude Code (MCP Client)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ↓ HTTP POST /posts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;API Server (blog-api-server)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ↓ Git clone/pull, Git commit/push
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;GitHub (yarang/blogs)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ↓ GitHub Actions 트리거
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hugo Build + Deploy
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Blog (blog.fcoinfup.com)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="22-식별된-문제점"&gt;2.2 식별된 문제점
&lt;/h3&gt;&lt;h4 id="-p0---심각한-문제"&gt;🔴 P0 - 심각한 문제
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;동시성 제어 부족&lt;/strong&gt;: 전역 &lt;code&gt;threading.Lock()&lt;/code&gt;만 사용하여 멀티프로세스 환경에서 경쟁 조건 발생 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;검색 기능 버그&lt;/strong&gt;: &lt;code&gt;search_posts()&lt;/code&gt;가 한국어 디렉토리만 검색하여 영어 포스트가 검색되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="-p1---확장성-문제"&gt;🟡 P1 - 확장성 문제
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;매 요청마다 Git Pull 실행&lt;/strong&gt;: 불필요한 네트워크 호출, 지연 시간 증가&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;파일 기반 검색 (O(n))&lt;/strong&gt;: 포스트가 100개 이상이 되면 성능 저하&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;전역 인스턴스 의존&lt;/strong&gt;: 테스트 어려움, 의존성 주입 불가&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="-p2---유지보수성-문제"&gt;🟢 P2 - 유지보수성 문제
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;중복된 Git 코드 (&lt;code&gt;GitManager&lt;/code&gt;와 &lt;code&gt;GitHandler&lt;/code&gt; 이중 존재)&lt;/li&gt;
&lt;li&gt;언어 감지 로직 불안정&lt;/li&gt;
&lt;li&gt;광범위한 예외 처리&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="3-팀-구성"&gt;3. 팀 구성
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;역할&lt;/th&gt;
					&lt;th&gt;담당자&lt;/th&gt;
					&lt;th&gt;주요 책임&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;team-lead&lt;/td&gt;
					&lt;td&gt;프로젝트 리더&lt;/td&gt;
					&lt;td&gt;프로젝트 총괄, 조율&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;backend-dev&lt;/td&gt;
					&lt;td&gt;백엔드 개발자&lt;/td&gt;
					&lt;td&gt;동시성 제어, Git 최적화&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;search-specialist&lt;/td&gt;
					&lt;td&gt;검색 전문가&lt;/td&gt;
					&lt;td&gt;검색 기능 개선&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;qa-tester&lt;/td&gt;
					&lt;td&gt;QA 테스터&lt;/td&gt;
					&lt;td&gt;테스트 및 품질 보증&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meeting-writer&lt;/td&gt;
					&lt;td&gt;회의록 작성자&lt;/td&gt;
					&lt;td&gt;회의록 정리 및 문서화&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="4-작업-항목-및-진행-상황"&gt;4. 작업 항목 및 진행 상황
&lt;/h2&gt;&lt;h3 id="41-검색-버그-수정--완료"&gt;4.1 검색 버그 수정 ✅ 완료
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;담당자:&lt;/strong&gt; search-specialist&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;우선순위:&lt;/strong&gt; P0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;결과:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;ARCHITECTURE.md의 P0 버그는 이미 수정되어 있었음 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;test_search.py&lt;/code&gt; 12개 테스트 케이스로 검증 완료&lt;/li&gt;
&lt;li&gt;모든 언어 디렉토리(ko, en) 검색 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="42-git-pull-최적화--완료"&gt;4.2 Git Pull 최적화 ✅ 완료
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;담당자:&lt;/strong&gt; backend-dev&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;우선순위:&lt;/strong&gt; P1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;결과:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;MCP 클라이언트에 &lt;code&gt;CacheManager&lt;/code&gt; 도입 (TTL 5분)&lt;/li&gt;
&lt;li&gt;쓰기 작업 후 캐시 무효화 구현&lt;/li&gt;
&lt;li&gt;위치: &lt;code&gt;.claude/mcp_server.py:25-71&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="43-동시성-제어-강화--완료"&gt;4.3 동시성 제어 강화 ✅ 완료
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;담당자:&lt;/strong&gt; backend-dev&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;우선순위:&lt;/strong&gt; P1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;결과:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;MCP 클라이언트에 &lt;code&gt;asyncio.Lock&lt;/code&gt; 도입&lt;/li&gt;
&lt;li&gt;쓰기 작업 간 충돌 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="44-기존-테스트-코드-검증--진행-중"&gt;4.4 기존 테스트 코드 검증 🔄 진행 중
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;담당자:&lt;/strong&gt; qa-tester&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;우선순위:&lt;/strong&gt; QA&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;현재 상황:&lt;/strong&gt; 진행 중&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="45-architecturemd-업데이트--완료"&gt;4.5 ARCHITECTURE.md 업데이트 ✅ 완료
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;담당자:&lt;/strong&gt; team-lead&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;결과:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;완료된 작업 반영&lt;/li&gt;
&lt;li&gt;진행 상태 표시 (✅ 완료, 🔄 진행 중, ⚡ 부분 완료)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="5-주요-성과"&gt;5. 주요 성과
&lt;/h2&gt;&lt;h3 id="개선-전"&gt;개선 전
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;매 요청마다 Git Pull 실행 (최대 60초 타임아웃)&lt;/li&gt;
&lt;li&gt;한국어 포스트만 검색 가능&lt;/li&gt;
&lt;li&gt;동시성 제어 부족&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="개선-후"&gt;개선 후
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;캐싱 도입:&lt;/strong&gt; TTL 5분으로 불필요한 API 호출 최소화&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;다국어 검색:&lt;/strong&gt; 한국어, 영어 포스트 모두 검색 지원&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;동시성 제어:&lt;/strong&gt; &lt;code&gt;asyncio.Lock&lt;/code&gt;으로 쓰기 작업 충돌 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="6-테스트-커버리지"&gt;6. 테스트 커버리지
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;테스트 항목&lt;/th&gt;
					&lt;th&gt;상태&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;다국어 검색 (ko, en)&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Relevance 정렬&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;대소문자 무시 검색&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;결과 구조 검증&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;캐싱 동작&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;연결 풀링&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;에러 핸들링&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="7-다음-단계-중기-계획"&gt;7. 다음 단계 (중기 계획)
&lt;/h2&gt;&lt;h3 id="p2---구조-개선"&gt;P2 - 구조 개선
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Git 클래스 통합&lt;/strong&gt;: &lt;code&gt;GitManager&lt;/code&gt;와 &lt;code&gt;GitHandler&lt;/code&gt; 통합&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;의존성 주입&lt;/strong&gt;: FastAPI Depends 활용&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;인덱스 기반 검색&lt;/strong&gt;: Whoosh 또는 Meilisearch 도입 검토&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="8-회의록-정리"&gt;8. 회의록 정리
&lt;/h2&gt;&lt;p&gt;이 회의록은 다음 내용을 포함합니다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;프로젝트 킥오프 논의 사항&lt;/li&gt;
&lt;li&gt;팀 구성 및 역할 분담&lt;/li&gt;
&lt;li&gt;작업 항목별 진행 상황&lt;/li&gt;
&lt;li&gt;완료된 작업 요약&lt;/li&gt;
&lt;li&gt;향후 계획&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;본 회의록은 meeting-writer가 작성했으며, 프로젝트 진행 상황에 따라 업데이트됩니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;영어 버전:&lt;/strong&gt; &lt;a class="link" href="https://blog.agentthread.dev/post/2026-02-25-001-mcp-server-improvement-kickoff-meeting/" &gt;English Version&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>