2026년 10월 기준 · 워드프레스 6.9 이상 필요 (이 글은 워드프레스 7.1.3에서 테스트했습니다)
AI 어시스턴트는 AI가 접근 가능한 도구 만큼만 유용합니다. 대부분의 워드프레스 사이트 운영자에게는 채팅창과 wp-admin 사이를 복사해서 붙여넣는 것에 불과했죠. 워드프레스의 공식 MCP 어댑터는 클로드 같은 클라이언트가 포스트 작성, 설정 확인 같은 작업을 웹사이트에 직접 작업할 수 있게 합니다.
이 가이드는 AI 워크플로우를 시도해보고 싶은 워드프레스 운영자, 개발자, 그리고 콘텐츠 팀을 위한 가이드입니다.
이 글에서는 MCP Adapter 설치, 어플리케이션 비밀번호 생성, 그리고 클로드 데스크탑 연결하는 방법을 살펴봅니다.
MCP 어댑터가 뭐고 왜 중요한가요?
이 구조는 세 가지 요소로 이루어져 있습니다
- MCP(Model Context Protocol)는 클로 같은 AI 애플리케이션이 외부 도구와 데이터에 일관되게 연결할 수 있도록 해주는 개방형 표준입니다. 모든 앱이 개별적으로 통합을 구축하는 대신, 워드프레스를 하나의 MCP 서버로 노출하면, 호환되는 클라이언트라면 누구나 사용할 수 있습니다.
- Abilities API는 워드프레스가 플러그인과 코어에 사이트가 할 수 있는 기능들, 예를 들어 ‘게시물 작성’이나 ‘사이트 정보 가져오기’ 같은 기능을 등록할 수 있도록 제공하는 내장 방식입니다(버전 6.9 기준). 각 기능은 이름, 설명, 그리고 정의된 입력 및 출력 집합을 가지고 있습니다.
- MCP 어댑터는 이 둘을 연결하는 공식 플러그인입니다. 사이트에 등록된 기능들을 MCP를 통해 노출하여 AI 클라이언트가 이를 인식하고 호출할 수 있게 합니다.
기본적으로 어댑터는 클라이언트에게 세 가지 도구를 제공합니다. 하나는 기능을 발견하는 도구, 하나는 특정 기능의 세부 정보를 얻는 도구, 그리고 마지막으로 실행하는 도구입니다. 어댑터가 AI가 무엇을 할 수 있는지 결정하지는 않습니다. 등록한 기능이 그렇습니다.
중요한 이유
- AI가 ‘wp-admin에서 이렇게 하세요’라고 안내만 하는 대신, 사이트에서 직접 작업을 수행합니다
- 범위를 제어합니다. AI는 등록된 기능만 수행할 수 있으며, 로그인한 워드프레스 사용자의 권한이 있어야만 가능합니다. 예를 들어, 기본값이 초안으로 설정된 게시물 생성 기능은 실제로 게시물이 올라가기 전에 사람이 반드시 확인하도록 합니다.
- 표준을 기반으로 만들어졌습니다. MCP와 워드프레스 자체 API를 사용하기 때문에, 이 설정은 클로드뿐만 아니라 다른 호환 클라이언트에서도 동일하게 작동합니다.
준비사항
- 워드프레스 6.9 이후, HTTPS 적용된 웹사이트
- 클로드 데스크탑과 Node.js (for
npx) - 어드민 계정
1. 플러그인 설치
플러그인 디렉터리에서 MCP 어댑터를 설치하고 활성화합니다.

WordPress.org가 게시한 “MCP Adapter”을 찾습니다.
WP-CLI로도 가능합니다:
wp plugin install https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip --activate
2. 애플리케이션 비밀번호를 만듭니다

사용자 → 프로필 → 애플리케이션 비밀번호로 이동해 이름을 로 정하고 비밀번호를 복사하세요. 비밀번호가 해당 사용자의 권한을 담고 있으니, AI에 부여할 권한만 가진 전용 사용자를 사용합니다.
3. 클로드 데스크탑 설정

- 클로드 데스크탑에서 설정 → 개발자로 이동해 설정 변경 버튼을 누릅니다.
claude_desktop_config.json파일이 들어 있는 폴더가 열립니다. - 이 파일을 텍스트 편집기로 열어 아래 내용을 추가합니다.
이 코드를 claude_desktop_config.json에 추가합니다
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://your-site.com/wp-json/mcp/mcp-adapter-default-server",
"WP_API_USERNAME": "your-username",
"WP_API_PASSWORD": "your application password"
}
}
}
}
WP_API_URL에는 본인 사이트 주소를, WP_API_USERNAME에는 2단계에서 사용한 사용자 이름을, WP_API_PASSWORD에는 복사해 둔 애플리케이션 비밀번호를 넣습니다. 이미 다른 MCP 서버 설정이 있다면 mcpServers 안에 wordpress 항목만 추가하세요.
저장한 뒤 클로드 데스크탑을 완전히 종료하고 다시 실행합니다.
4. 테스트
클로드에게 아래처럼 요청합니다.
mcp-adapter-discover-abilities를 호출해서 이 사이트에 등록된 기능 목록을 보여줘.
정상적으로 연결되었다면 사이트에 등록된 기능 목록이 표시됩니다. 기본 상태에서는 사이트 정보, 사용자 정보, 환경 정보를 읽어 오는 읽기 전용 기능 몇 개만 보입니다.
문제 해결: 401 오류
제 경우에는 플러그인이 작동했는데도 첫 시도에서 401 오류가 발생했습니다. 원인은 http:// URL이었습니다. 워드프레스는 비 HTTPS 사이트에서 애플리케이션 비밀번호를 비활성화하며, 리디렉션은 Authorization 헤더를 손실시킬 수 있습니다. WP_API_URL을 https://로 변경하니 문제가 해결되었습니다. 그래도 401이 뜬다면, 사용자 이름, 전체 비밀번호, 그리고 인증 헤더를 제거하는 보안 플러그인이나 호스트 규칙을 확인해 보세요.
5. 실제 기능 추가하기
어댑터는 기능을 연결해 줄 뿐입니다. 플러그인이나 직접 작성한 코드가 이를 등록해야 합니다. 예를 들어, 초안 게시물을 작성하는 create-post 기능이 그렇습니다.
플러그인 저장소에서 가져온 예시입니다
https://github.com/WordPress/mcp-adapter/blob/trunk/docs/getting-started/basic-examples.md
<?php
// Register the ability
add_action( 'wp_abilities_api_init', function() {
wp_register_ability( 'my-plugin/create-post', [
'label' => 'Create Post',
'description' => 'Creates a new WordPress post with the specified content',
'category' => 'site',
'input_schema' => [
'type' => 'object',
'properties' => [
'title' => [
'type' => 'string',
'description' => 'The post title',
'minLength' => 1,
'maxLength' => 200
],
'content' => [
'type' => 'string',
'description' => 'The post content (HTML allowed)',
'minLength' => 1
],
'status' => [
'type' => 'string',
'description' => 'Post status',
'enum' => ['draft', 'publish'],
'default' => 'draft'
],
'category' => [
'type' => 'string',
'description' => 'Category name (optional)'
]
],
'required' => ['title', 'content']
],
'output_schema' => [
'type' => 'object',
'properties' => [
'post_id' => [
'type' => 'integer',
'description' => 'The ID of the created post'
],
'post_url' => [
'type' => 'string',
'description' => 'The URL of the created post'
],
'edit_url' => [
'type' => 'string',
'description' => 'The admin edit URL'
]
]
],
'execute_callback' => function( $input ) {
if ( empty( $input['title'] ) ) {
return new \WP_Error( 'missing_title', 'Post title is required.' );
}
$post_data = array(
'post_title' => sanitize_text_field( $input['title'] ),
'post_content' => wp_kses_post( $input['content'] ),
'post_status' => in_array( $input['status'], array( 'draft', 'publish' ), true ) ? $input['status'] : 'draft',
'post_type' => 'post',
);
// Handle category if provided
if ( ! empty( $input['category'] ) ) {
$category = get_category_by_slug( sanitize_title( $input['category'] ) );
if ( ! $category ) {
// Create category if it doesn't exist
$category_id = wp_create_category( $input['category'] );
} else {
$category_id = $category->term_id;
}
$post_data['post_category'] = [ $category_id ];
}
$post_id = wp_insert_post( $post_data );
if ( is_wp_error( $post_id ) ) {
throw new Exception( 'Failed to create post: ' . $post_id->get_error_message() );
}
return [
'post_id' => $post_id,
'post_url' => get_permalink( $post_id ),
'edit_url' => get_edit_post_link( $post_id, 'raw' )
];
},
'permission_callback' => function() {
return current_user_can( 'publish_posts' );
},
'meta' => [
'public' => true, // Expose to clients, including MCP
'annotations' => [
'priority' => 2.0,
'readOnlyHint' => false,
'destructiveHint' => false
]
]
]);
});
이 코드를 플러그인으로 만들어 사이트에 추가하면 클로드가 게시물 초안을 직접 작성할 수 있습니다.
마무리
여기까지 따라 오셨다면 클로드로 워드프레스 사이트를 관리할 준비가 끝났어요. 다만 아직은 새로운 기능이라 어댑터에 연결할 수 있는 플러그인 생태계가 크지 않습니다. 기능이 필요하다면 직접 등록하는 방법도 함께 고려해 보세요.
더 자세한 내용은 MCP Adapter 저장소에서 확인할 수 있습니다. 막히는 부분이 있다면 댓글로 남겨 주세요.

답글 남기기