본문으로 이동
PLUTUS INSIGHTS

“블로그에 올려줘” 한마디에 ChatGPT가 진짜 글을 올렸다|MCP·WordPress 자동화 구축기

“블로그에 올려줘” 한마디에 ChatGPT가 진짜 글을 올렸다|MCP·WordPress 자동화 구축기

BUILD LOG · AI AUTOMATION · 2026.10.09

MCP 연동부터 WordPress 자동 등록·수정까지, 예상보다 훨씬 길고 재미있었던 개발 일지

MCP Python · FastMCP Google OAuth WordPress

주식 분석 리포트를 ChatGPT와 함께 만들다 보면 한 가지 불편함이 반복된다. 분석도 작성도 AI가 도와주는데, 마지막에는 내가 WordPress를 열고 복사해서 붙여넣고 카테고리를 고르고 이미지를 확인한다. 좋은 글을 만드는 것과 실제 발행하는 일이 분리되어 있는 것이다.

“ChatGPT가 글을 썼다면, 내 블로그에 올리는 것도 해줄 수 있지 않을까?”

오늘은 그 질문을 실제 시스템으로 구현해 봤다. 결과부터 말하면 성공이다. 하지만 성공보다 재미있었던 것은 중간에 터진 오류들이었다. 인증이 안 되고, 전송은 성공했는데 게시글은 없고, 제목 하나 바꾸는 데 새 글을 만들어야 하는 상황까지. 실제 작업이 어땠는지 차근차근 기록해 본다.

01AI에 리모컨을 만들어 주기로 했다

가장 먼저 고민한 것은 보안이다. ChatGPT에 WordPress 관리자 비밀번호를 알려주고 직접 로그인시키는 방식은 피하고 싶었다. AI가 할 수 있는 일을 제한하고, 누가 호출했는지도 확인할 수 있어야 했다. 그래서 선택한 것이 MCP(Model Context Protocol)다.

MCP는 AI가 외부 서비스의 기능을 도구로 호출할 수 있도록 연결하는 규약이다. 우리 서버에 FastMCP를 설치하고 리포트 등록 같은 기능을 등록하면, ChatGPT는 대화 중 그 도구를 이용해 요청을 보낼 수 있다. 무제한 관리자 권한 대신 업무에 필요한 버튼만 내주는 방식에 가깝다.

핵심은 AI에 서버 전체를 맡기는 것이 아니라, 허용된 도구를 통해 필요한 업무만 맡기는 것.

02오늘 만든 시스템의 전체 구조

전체 작업은 ChatGPT가 리포트와 요청을 만들고, MCP가 인증된 요청을 받고, 서버의 보고서 API와 발행기가 WordPress로 전달하는 방식이다. 새 보고서 생성은 수신 API와 Inbox를 거치고, 기존 게시글 수정은 WordPress REST API를 활용한다.

PLUTUS WORKFLOW

AI 출판 시스템의 작동 경로

ChatGPT

분석 · 글 작성 · 등록·수정 요청
↓
PLUTUS MCP

Google OAuth 인증 · 허용 계정 확인 · 도구 실행
↓
리포트 수신 API / 서버 Inbox

신규 보고서를 검증·저장하고 발행 작업으로 전달
↓
WordPress REST API

초안 생성 · 기존 초안 선택 수정 · 결과 조회

※ 신규 등록과 기존 글 수정은 서버 내부에서 서로 다른 경로로 처리됩니다.

공개 발행은 자동으로 하지 않도록 설계했다. 특히 투자 정보는 작은 수치 오류도 문제가 될 수 있으므로, AI가 작성한 콘텐츠는 먼저 비공개 초안으로 저장하고 마지막에는 사람이 검수하는 방식이다.

ChatGPT에서 PLUTUS MCP와 WordPress로 이어지는 콘텐츠 자동화 흐름
ChatGPT → OAuth · MCP → Report API → WordPress

03첫 번째 난관: 401 Unauthorized

서버가 켜져 있고 연결 주소도 맞는데 인증 과정에서 401 오류가 나왔다. 가장 답답한 종류의 문제다. 전부 작동하지 않는다면 원인을 찾기 쉬운데, 연결의 일부만 성공하니 어느 단계가 문제인지 좁혀야 했다.

Google OAuth에 필요한 권한 범위, 서버가 검증하는 토큰 정보, 접근을 허용할 계정을 함께 확인했다. 화면에서 연결됐다는 표시가 나오는 것만으로는 부족하다. 실제 MCP 도구가 인증된 요청을 처리하는지 서버 로그와 응답으로 확인해야 했다. 결국 권한과 검증 조건을 정리하면서 해결했다.

04202 Accepted! 하지만 글이 없었다

드디어 리포트 전송에 HTTP 202 Accepted가 돌아왔다. 환호할 뻔했지만 WordPress에는 글이 없었다. 왜일까? 답은 수신과 발행이 서로 다른 단계였기 때문이다. 서버는 리포트를 저장했지만, 발행 프로그램은 원래 특정 시장 리포트 유형만 처리하도록 되어 있었다.

특정 보고서 유형만 처리하는 제한을 수정하고 다시 실행했다. 그러자 WordPress 초안 1647번이 생성됐다. 이제 ChatGPT에서 작성한 글이 실제 서버를 지나 WordPress 안에 들어간 것이다. 이 순간이 오늘 작업의 첫 번째 완성이었다.

05그다음은 제목 하나 때문에 시작됐다

등록에 성공하고 나니 제목을 조금 바꾸고 싶어졌다. 그런데 첫 번째 MCP에는 새 글을 보내는 submit_report 기능만 있었다. 이미 작성된 글을 수정하려면 새 글을 다시 만들어야 했고, 당연히 중복 초안 문제가 생길 수 있었다.

그래서 list_posts, get_post, update_post 기능을 추가했다. 목록에서 정확한 게시글 ID를 찾고, 저장된 내용을 확인한 다음, 변경할 필드만 수정하는 방식이다. 테스트에서는 초안 1649번의 제목을 바꾸고 본문을 확장했으며, 다시 조회해 실제 반영됐는지도 확인했다. 공개 글을 실수로 수정하지 않도록 현재 수정 도구는 초안에만 적용된다.

06오늘의 디버깅 일지

01

401 Unauthorized

Google OAuth 권한 범위와 서버 토큰 검증을 맞춰 인증 해결

02

202 Accepted! 그런데 글이 없다

서버 수신 성공과 WordPress 저장은 다른 단계라는 것을 발견

03

지원하지 않는 리포트 유형

기존 발행기가 특정 시리즈만 처리하던 제한을 수정

04

제목 수정이 안 된다

조회·목록·수정 도구를 추가하여 중복 생성 없이 초안 편집

05

인포그래픽 파일이 없다

HTML 도표와 실제 PNG 업로드는 다르다는 한계를 확인

07자동화의 진짜 기준은 결과 검증

오늘 새로 배운 점은 “전송 성공”과 “작업 완료”가 다르다는 것이다. MCP가 202를 반환해도 WordPress 글이 만들어지지 않았을 수 있고, 본문이 저장돼도 새로 생성한 PNG 이미지가 들어가지 않았을 수 있다. 그래서 작업마다 수신 ID, WordPress 게시글 ID, 실제 저장된 제목과 본문을 확인해야 한다.

작업 상태 검증
Google OAuth 인증 완료 도구 호출 성공
새 리포트 전송 완료 HTTP 202
WordPress 초안 생성 완료 게시글 ID 확인
기존 글 제목·본문 수정 완료 1649번 저장 후 재조회
HTML 비교 도표 완료 본문에 구조 저장
별도 인포그래픽 PNG 업로드 미완료 이미지 업로드·본문 삽입 성공

특히 이미지 문제는 아직 남아 있다. 신규 리포트 접수 시 대표 이미지를 함께 전달하는 경로는 확인했지만, 기존 글의 별도 PNG를 WordPress에 업로드해 본문에 배치하는 기능도 검증했다. 이번 글에서는 검증된 방법으로 대표 이미지와 본문 도표를 구성했다.

08다음은 작은 도구가 아니라 출판 플랫폼

앞으로는 투자 시황, 기업 분석, 공시 정리, 개발 일지처럼 서로 다른 콘텐츠를 한 흐름으로 운영하고 싶다. 시장 데이터를 수집하고, 출처를 대조하고, AI가 초안을 쓰고, 인포그래픽을 만들고, 블로그에 등록한 다음 검수하는 구조다. 지금은 전 과정을 완성한 상태가 아니라 하나씩 검증하며 이어 붙이는 단계다.

다음에 만들 자동화

데이터 수집 → 출처 검증 → AI 분석 → 글·디자인 → 이미지 업로드 → WordPress 초안 → 최종 검수 → 발행

※ 목표 워크플로이며 일부 단계는 구현 전입니다.

09오늘의 한 줄 결론

“블로그에 글 좀 올려줘”라는 사소한 요청으로 시작했는데, 실제로는 인증과 시스템 연동, 데이터 전달, WordPress API, 상태 검증까지 연결해야 하는 하나의 소프트웨어 프로젝트였다. 그만큼 재미도 컸다.

AI에게 좋은 글을 쓰게 하는 것보다 더 흥미로운 일은, AI가 실제로 일할 수 있는 환경을 만들어 주는 것이다.

이제 이미지 업로드·본문 삽입과 공개 발행까지 PLUTUS MCP로 실제 검증했다. 공개 게시글의 직접 수정과 브랜드별 콘텐츠 운영은 다음 과제로 남아 있다. 그래도 오늘은 분명히 한 걸음 나아갔다. 이제 ChatGPT는 내 서버를 통해 블로그 초안을 만들고 기존 글을 수정할 수 있다. 내일은 이 흐름을 조금 더 완성해 보고 싶다.

개발 기록

2026년 10월 9일 · Ubuntu · Python · FastMCP · Google OAuth · WordPress REST API
실제 테스트 내용을 바탕으로 작성했습니다. 공개 발행까지 실제 검증했으며, 보안상 인증정보는 기재하지 않았습니다.