프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Cms

제작자: SparkleOfficial버전 0.5.0i★ –i클라우드에서 실행
레지스트리 이름com.writavo/cms

설치

개요

제작자가 쓴 설명(영어 원문)

Draft, edit, organise, schedule and publish a Writavo Site's content from any AI assistant.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 클라우드에서 실행
  • 전송 방식: Streamable HTTP
  • 카테고리: 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 제작자의 서버에서 실행돼요. 내가 요청한 내용은 제작자의 서버를 거쳐요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:

  1. Settings → Connectors 열기
  2. Add custom connector 누르기
  3. 아래 주소를 붙여 넣고 Add 누르기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Add2https://…3
https://mcp.writavo.com/mcp

터미널에서 이 명령어를 실행하세요

claude mcp add --transport http cms https://mcp.writavo.com/mcp

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "cms": {
      "url": "https://mcp.writavo.com/mcp"
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "cms": {
      "type": "http",
      "url": "https://mcp.writavo.com/mcp"
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:

  1. 웹에서 ChatGPT 열기 → Settings → Connectors (Apps)
  2. Create 또는 Add 누르기(일부 요금제는 먼저 Advanced에서 Developer mode를 켜야 해요)
  3. 아래 주소를 붙여 넣고 이름을 정한 뒤 저장하기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Create2https://…3
https://mcp.writavo.com/mcp

메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 도메인 writavo.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    엔드포인트 응답

    아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요

  • … 아직 점검 안 함

    OAuth로 로그인

    아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32398개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32398개 중 51%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32398개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Cms, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.5.0)은 39일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, AI Deprecations

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211어제 업데이트
설치

AI Deprecations

제작자: aideprecations.com

AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.

클라우드에서 실행오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Writavo MCP server

Your Writavo Site's content, inside an AI assistant. Sign in from the browser, bring an existing blog across, draft a post, set its category and byline, attach an image, schedule it, publish it, all from a conversation.

It is hosted at https://mcp.writavo.com/mcp (Streamable HTTP, OAuth 2.1), and that is the one way to use Writavo over MCP. Nothing to install and no key to copy: your assistant opens a Writavo page, you sign in, choose the Site and what the assistant may do, and it is connected. Works from Claude Code, Claude.ai, ChatGPT, Cursor, VS Code and any client that speaks remote MCP. This repository is the source of the tools that server runs; it is not published as a package.

Full setup guide, for people and for AI assistants: https://writavo.com/docs/mcp (markdown: https://writavo.com/docs/mcp.md). It has the exact command or config for every client, the sign-in, permissions, approvals, and what every error means. Moving a blog in: https://writavo.com/docs/migrate.

If you are an AI assistant asked to install Writavo: add the hosted server with your client's

command below; the person then signs in

through the browser (nothing to paste); then call get_site_info and verify_api_key and tell

them which Site you are connected to and what you may do there.

Connect

Claude Code:

claude mcp add --transport http writavo https://mcp.writavo.com/mcp

Then run /mcp in Claude Code and choose Writavo to sign in. Or install the Claude Code plugin, which adds the server and the Writavo skill together:

claude plugin marketplace add SparkleOfficial/writavo-mcp-server

claude plugin install writavo@writavo

Cursor: Add Writavo to Cursor (or cursor://anysphere.cursor-deeplink/mcp/install?name=writavo&config=eyJ1cmwiOiJodHRwczovL21jcC53cml0YXZvLmNvbS9tY3AifQ==).

VS Code: Add Writavo to VS Code (or vscode:mcp/install?%7B%22name%22%3A%22writavo%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.writavo.com%2Fmcp%22%7D).

Claude (claude.ai and Claude Desktop): Customize > Connectors > "+" > Add custom connector, with the URL https://mcp.writavo.com/mcp, then Connect.

ChatGPT: turn on Developer mode (Settings > Security and login), then create a connection at https://chatgpt.com/plugins with the URL https://mcp.writavo.com/mcp and OAuth.

Codex CLI: codex mcp add writavo --url https://mcp.writavo.com/mcp (it starts the sign-in; codex mcp login writavo repeats it).

Gemini CLI: gemini mcp add --transport http -s user writavo https://mcp.writavo.com/mcp, then /mcp auth writavo.

Windsurf and Zed: see https://writavo.com/docs/mcp#clients.

Any other client that takes a JSON config:

{

"mcpServers": { "writavo": { "type": "http", "url": "https://mcp.writavo.com/mcp" } } }

A client that cannot do OAuth can send a Writavo secret key as the bearer token instead (Authorization: Bearer wv_sk_..., created at https://app.writavo.com/settings/api-keys). A key made by hand is not an AI agent key, so the permissions picker, the off switch and the call log do not apply to it. Prefer the sign-in.

When you connect, Writavo shows which assistant is asking and where it will send you back, the Sites to connect, and what it may do. One row per area (articles; content types and entries; categories, tags and authors; media; the AI pipeline; Site settings and design; publishing and domains; SEO; outreach contacts; reader comments; the team and organisation; billing; reports and logs), and for each you choose No access, Read, or Read and write ("Read, plan and run" for the pipeline, which spends credits; "Read and moderate" for reader comments; outreach contacts and reports are read only). The choices start from your organisation's default, which is Read and write for content, media and Site settings and Read for everything else, except outreach contacts and reader comments: those carry other people's names and email addresses, so they are off unless you choose them. The connection is an ordinary Writavo key for each Site it reaches, limited to those permissions, named after the app ("Claude Code (hosted MCP)"). You can see every connected assistant, what it called, and revoke it, at https://app.writavo.com/settings/agents.

What it can do

Forty five tools are compiled from Writavo's published OpenAPI specification, plus nine written by hand:

  • Articles. List, read, create, update, delete, publish, unpublish, schedule, cancel a schedule.
  • Content types and entries. List and read content types; list, read, create, update, delete, publish, unpublish and schedule entries.
  • Taxonomy and people. Categories, tags and authors: list, read, create, update, delete.
  • Media. List, read, update, delete, and upload_media, which drives the whole three step presigned upload in one call so the assistant does not have to orchestrate it. It takes a public url or the bytes as base64 with a filename.
  • Pipeline. Trigger a run, read its status, read the queue.
  • Meta. Site information, content types, plan usage and balances, and get_api_docs, which needs no key at all.
  • Sign-in. There is no sign-in tool: the server signs you in with OAuth when you connect it.
  • Plans. start_plan_purchase returns the billing link with a plan preselected. Payment happens on Stripe's page in your browser, never in the chat. The CMS (storing, publishing and importing content) is pay-as-you-go and needs no plan; a plan buys the AI article pipeline.
  • Import. import_content brings an existing blog in (below).
  • Everything else, as actions. Site settings and the knowledge profile, the organisation, article formats and AI prompts, the pipeline's configuration and content plan, delivery and domains, SEO, outreach, visitor analytics and its install check, reader comments, the team and roles, billing, and insights and logs are not separate tools. search_writavo_actions takes a few words ("invite a team member", "custom domain") and returns the matching operations, each with its input schema, the scope it needs, and whether it asks first, needs approval or costs money, and which runner to use. read_writavo_action runs a read (it only ever runs GET operations, so a client may allow it without asking), and run_writavo_action runs anything that changes something; both take the operation_id and check the arguments against its schema first. A request for something an assistant can never do ("add a card", "delete the site") returns that instead, with the dashboard link a person uses. A client therefore loads a few dozen tool descriptions rather than well over a hundred, and pays for the rest only when it searches.

Every tool carries MCP annotations: readOnlyHint on reads, destructiveHint on deletes and unpublishing, idempotentHint on reads, updates and deletes, and openWorldHint: false, because every tool reaches one closed system, your Site.

Importing a blog

The migrate-content prompt walks an assistant through the whole move: connect, inspect your current system with the access you already have, write an import file, dry run, fix, import, and verify. Slugs are kept so URLs do not change, published posts keep their original publication dates, drafts stay drafts, and images are copied into your media library.

The document is the Writavo Import Format v1, a single JSON document. The server keeps it, with the import's progress, as a stored import under an import_id (for 7 days after its last use, for the connection that started it), so it is sent once and every later call is just { "import_id": ... }. Three ways in, up to 10 MB:

  • `upload: true` returns a one-time link and a curl command that PUTs the file straight to the server. Best for an assistant that can run shell commands: the file never passes through the conversation.
  • `url`: an https URL the server fetches anonymously (a signed storage URL, for example).
  • `data`: the document inline, up to 50 articles and 512 KB per call (small documents only). Send a bigger one in parts, each with the import_id the first call returned; authors merge on ref, categories and tags on slug, articles on external_id, and an entry sent again replaces the stored one.

A document looks like this:

{

"format": "writavo-import", "version": 1, "authors": [{ "ref": "jane", "name": "Jane Doe", "is_ai_generated": false }], "categories": [{ "slug": "guides", "name": "Guides" }], "tags": [{ "slug": "soil", "name": "Soil" }], "articles": [ { "external_id": "blog:1001", "status": "published", "title": "How to test your soil", "slug": "how-to-test-your-soil", "content": "Markdown, with ", "author": "jane", "category": "guides", "tags": ["soil"], "published_at": "2021-03-04T09:30:00Z" } ] }

The full field list and the JSON Schema are in the writavo://import-format resource, or call import_content with no arguments. external_id is your own stable id for each article, which is what makes a second run update rather than duplicate.

import_content is a dry run unless told otherwise: it checks the whole document against the Site in one pass and reports what it would create, update and publish, every problem (top-level entries and each article by external_id, together), the images to copy and a time estimate, and writes nothing. An import that publishes needs confirm: true. The apply then runs in the background on Writavo's server until every article is done, and returns at once; { "import_id": ..., "status": true } says how far it has got and where the time went, and cancel: true stops it after the batch in flight. Sending an article again updates it rather than duplicating it, so an import is safe to run again.

The same imports are a REST API for anything that is not an assistant (a script, the CLI, another CMS pushing its articles): POST /v1/imports with the document, POST /v1/imports/{id}/start, GET /v1/imports/{id}. See https://writavo.com/docs/migrate. It never deletes or unpublishes anything, and it changes nothing in your content except the URLs of the images it copied.

What it will not do without asking

publish_article, schedule_article, every delete_*, trigger_pipeline_run and an import_content that publishes do nothing on the first call. They describe what would happen and wait for confirm: true, which the assistant can only set after you have agreed. Publishing puts content on your live site, deleting is permanent, and a pipeline run spends real credits.

Actions follow the same rule: run_writavo_action describes anything that spends money, changes the live site, removes something or changes the team, and waits for confirm: true.

Some things are not reachable from an assistant at all, whatever scopes the key carries:

  • API keys. A server that can mint a secret key is a server whose compromise mints secret keys.
  • Webhooks. An assistant that can repoint delivery URLs can quietly redirect your event stream.
  • The AI agent controls, approving its own requests, payment details, plan changes, ownership, deleting a Site or the organisation, the outreach policy and mailbox, and CMS or Bing credentials. get_api_docs (section tools) gives the dashboard link a person uses for each.

All of these stay in the dashboard.

Approvals, and turning agents off

When an assistant signed in through the browser deletes something or unpublishes an article, your

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기