UNPKG

@roottale/cms-mcp

Version:

RootTale CMS integration MCP server — bundled integration docs, Next.js example code, and public API lookup tools. Run with: npx @roottale/cms-mcp

78 lines (60 loc) 4.98 kB
# @roottale/cms-mcp ## 0.25.0 ### Minor Changes - 0dcb931: 비즈니스 프로필 (로컬 SEO) — 어드민 "운영 > 비즈니스 프로필" 에서 저장한 사업장 정보(이름·업종·주소·좌표·영업시간·네이버플레이스/구글 비즈니스 프로필 URL)를 외부 사이트가 조회해 LocalBusiness JSON-LD 를 자동 렌더. - cms-client: `fetchBusinessProfile()` (미설정/구 서버 404 = null) + `localBusinessSchema(profile, { url, image? })` — @type 중복 제거, PostalAddress/GeoCoordinates/openingHoursSpecification/sameAs. - API: `GET /v1/cms/public/business-profile` (cms:read). - cms-mcp docs: seo.md 로컬 SEO 섹션, theme-and-settings.md fetchBusinessProfile, api-reference.md 엔드포인트, examples layout 적용. - c81991a: CLS(Core Web Vitals) 대책: 본문 이미지에 width/height 출력. 에디터가 삽입 시 원본 치수를 보존하고(CmsImage), 렌더러(Next·Astro)가 `width`/ `height` 속성으로 출력 — 기존 CSS(max-inline-size:100%; block-size:auto)와 조합돼 반응형 유지하면서 레이아웃 시프트 제거. WP import 의 width/height 도 자동 보존. cms-mcp docs 에 robots.txt·브레드크럼·페이지네이션 가이드 추가. - 4e7f9f8: llms.txt 라우트 팩토리 (AEO/GEO): `createLlmsTxtRoute(config)` 추가 — llms.txt 스펙(https://llmstxt.org)의 마크다운 인덱스로 AI 검색·생성엔진 크롤러에 사이트 구조·발행 글(최대 100개, excerpt 1줄)을 노출. fetch 실패도 항상 200(fail-soft). `createRevalidateRoute` 기본 `alsoRevalidate``/llms.txt` 포함 — 글 변경 시 AI 크롤러 인덱스 자동 갱신. docs/examples 반영. - 50b6df0: 메뉴(네비게이션) 연동: `fetchMenu({ apiKey, slug })` / `fetchMenus({ apiKey })` — 어드민 "디자인 > 메뉴" 트리(`GET /v1/cms/public/menus`)를 헤더/푸터 네비로 렌더. 깊이 2, 미존재 404 → null/빈 배열 fail-soft. 새 문서 `menus.md` + 예시 `components/site-nav.tsx`. - e84a46c: slug 변경 301 (WP permalink 패리티): public API 가 옛 slug 로도 글을 찾아 현재 slug 로 응답하고(post_slug_history fallback), `cms-renderer-next/routes``postRedirectPath(post, requestedSlug, blogBasePath?)` 헬퍼를 추가 — 페이지에서 `permanentRedirect()` 로 301 처리. docs/examples 에 패턴 반영. - 6262fe7: 동적 OG 이미지: `createPostOgImage(config, { ImageResponse })` + `OG_IMAGE_SIZE`/`OG_IMAGE_CONTENT_TYPE``app/blog/[slug]/opengraph-image.tsx` 에서 글별 1200×630 소셜 카드 생성. 한글은 Noto Sans KR 부분셋 런타임 로딩, 글/폰트 fetch 실패 시 fail-soft. `next` 직접 의존 없음(ImageResponse 주입). - 50b6df0: 공개 검색 API: `searchPosts({ apiKey, query, limit?, type? })` — 발행 글 키워드 검색 (WP `?s=` 패리티, `GET /v1/cms/public/search`). title·excerpt· 본문 텍스트 부분일치, 본문 미포함 슬림 hit. 구 서버 404 는 빈 배열 fail-soft. ### Patch Changes - e7e0849: per-post nofollow 제어 문서화 — 어드민 SEO 패널의 noindex 옆에 nofollow 토글이 추가됨. `metaJson.seo.nofollow` → Next `robots.follow` 매핑 예시 갱신. ## 0.24.0 ### Minor Changes - 299c9b2: 문의 유입 어트리뷰션 (ADR-0048 §2). `submitInquiry``attribution` 필드 추가 — 비콘이 기억한 first-touch(처음 도착한 페이지·단축링크/QR 토큰·utm·외부 referrer 호스트명)를 문의와 함께 보내면 어드민 CRM 에 유입 경로가 표시된다. 신규: `@roottale/cms-client/attribution` 서브패스의 `readAttribution()`(브라우저 전용), 서버 엔트리의 `parseAttributionJson()`, intake API `attr_*` 폼 필드. cms-mcp docs(inquiries/api-reference) 및 예제(AttributionField) 동반 갱신. ### Patch Changes - edba5a1: README 에 사람용 문서 경로 추가 — 공식 문서 사이트(roottale.com/docs) + unpkg 원문 열람 ## 0.23.0 ### Minor Changes - e927a42: 드라이런 검증에서 발견된 문서 갭 보완 — examples/nextjs 에 app/layout.tsx 추가(styles import 포함), getting-started 에 tsconfig `@/*` paths alias 안내 추가 > cms-\* linked 그룹과 버전을 함께 올린다. 변경 시 `pnpm changeset` 으로 > 업데이트 로그를 남기면 Version Packages PR 이 본 파일에 자동 반영한다. ## 0.22.0 - 최초 릴리스 — RootTale CMS 연동 MCP 서버 (stdio). cms-\* 라인(renderer-next 0.22.0)에 버전 정렬. - `blog.md`에 고정 페이지 렌더러 `RootTalePage` (renderer-next 0.22.0) 반영 - 통합 문서 번들 (`docs/`): 개요, 시작하기, 블로그, 발행 웹훅, 상담문의, SEO, 테마/설정, HTTP API 레퍼런스 - Next.js 연동 예시 코드 번들 (`examples/nextjs/`) - Tools: `listRootTaleDocs`, `readRootTaleDoc`, `searchRootTaleDocs`, `readRootTaleNextjsExampleCode`, `listPublishedPosts`, `getPublishedPost`