Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Self-hosted WordPress MCP server with per-capability permission controls and a full audit log.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://{hostname}/wp-json/agent-abilities-for-mcp/mcp주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
터미널에서 이 명령어를 실행하세요
claude mcp add --transport http agent-abilities-for 'https://{hostname}/wp-json/agent-abilities-for-mcp/mcp'주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"agent-abilities-for": {
"url": "https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"agent-abilities-for": {
"type": "http",
"url": "https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://{hostname}/wp-json/agent-abilities-for-mcp/mcp주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
주소에 내 값이 필요해서 대신 도구 목록을 읽을 수 없어요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 unaibamir 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
주소에 내 계정 값이 필요해서 대신 점검할 수 없어요
주소에 내 계정 값이 필요해서 대신 점검할 수 없어요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.11.0)은 어제 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Tethered Trust
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
WordPress MCP server for Claude and ChatGPT with limited access, a pause switch, read-only mode, drafts you approve, playbooks and an audit log.
| Contributors | unaibamir |
| Tags | mcp-server, ai-agent, claude, mcp, abilities-api |
| Requires at least | 6.9 |
| Tested up to | 7.1 |
| Requires PHP | 7.4 |
| Stable tag | 1.11.0 |
| License | GPL-2.0-or-later |
This is the GitHub home of a free WordPress plugin that adds an MCP endpoint to a site, so Claude, ChatGPT, Cursor and other MCP clients can work on it as a WordPress user you choose. It ships 184 abilities (90 core, 94 for plugins such as WooCommerce, ACF and Yoast SEO) and every one starts switched off.
The listing for site owners lives on WordPress.org. This page is for anyone who wants to read the code, wire the plugin into their own stack or send a patch.
Abilities are registered on the WordPress 6.9 Abilities API and served through the official MCP Adapter, which is bundled, so if the standalone Adapter plugin is active too the plugin simply uses whichever copy loads first. Every call to its tools runs as the WordPress user the connection belongs to, over OAuth or an Application Password, and is checked against that user's capabilities.
The admin screen has a switch for each ability, plus read-only mode, per-role and per-connection allowlists, a rate limit, an IP allowlist and Pause all access, and each OAuth connection gets its own pause, end date, rate limit and access preset. An Activity Log table in the site's own database records the acting user, the tool, the argument keys and an identifier-only note, and it never stores free-text content.
Playbooks are step-by-step instructions the owner writes, and agents read the Active ones through two read tools, aafm/list-playbooks and aafm/get-playbook. Writes through the general content tools to pages owned by Elementor, Divi, Beaver Builder, Avada or Visual Composer are refused. Avada's two dedicated tools are the exception, and they refuse changes to its shortcodes.
One scope note: the Adapter has a default server that other plugins can publish tools to, and those tools are outside this plugin's controls. A Settings choice (Automatic, Always on, Always off) decides whether that server runs, and this plugin's own tools are never on it.
/wp-content/plugins/agent-abilities-for-mcp, or install it from the Plugins screen, and activate it.The getting started guide and connecting a client cover each client. Claude takes the endpoint under Customize, then Connectors, as a custom connector, while ChatGPT takes it on the web under Plugins, Add custom MCP server, and per OpenAI's help article that needs a Business or Enterprise/Edu workspace for full access, or Pro for read and fetch only.
The endpoint sits under your REST API (replace example.com with your domain):
https://example.com/wp-json/agent-abilities-for-mcp/mcp
OAuth discovery documents are served at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server, so a server rule that blocks dotfile paths makes discovery fail, and the nginx rule that fixes it is in the troubleshooting guide.
Editors and command-line clients use a config file. The standard block runs the open-source mcp-remote bridge on your own machine, which walks you through the same one-time OAuth approval in the browser, so the file itself holds no secret:
{
"mcpServers": { "agent-abilities": { "command": "npx", "args": ["-y", "mcp-remote", "https://example.com/wp-json/agent-abilities-for-mcp/mcp"] } } }
VS Code keys the same block as servers in .vscode/mcp.json. If you'd rather use an Application Password, create the dedicated agent user the Connection tab offers (a Subscriber, so raise its role to match the job) and connect through the @automattic/mcp-wordpress-remote bridge:
{
"mcpServers": { "agent-abilities": { "command": "npx", "args": ["-y", "@automattic/mcp-wordpress-remote@latest"], "env": { "WP_API_URL": "https://example.com/wp-json/agent-abilities-for-mcp/mcp", "WP_API_USERNAME": "your-agent-user", "WP_API_PASSWORD": "PASTE-APPLICATION-PASSWORD-HERE" } } } }
The Connection tab generates both blocks with your real endpoint, plus a Windows variant that wraps npx in cmd /c. Keep in mind that an Application Password works across the whole REST API, so this plugin's limits apply only to calls through its MCP endpoint, whereas a token it issues over OAuth works on that endpoint alone.
These are the main extension points. Every name starts with aafm_.
| Hook | Type | What it does |
|---|---|---|
aafm_mcp_allowed_origins | filter | The browser origins allowed to call the endpoint, as scheme://host[:port]. Defaults to the site's own origin plus claude.ai, claude.com, chatgpt.com and chat.openai.com. A request with no Origin header is never affected. |
aafm_meta_write_full_resave | filter | Receives false, 'post' or 'term', and the ID. Return true to re-save the object after an agent changes only its custom fields, for page caches that listen to save_post. The default only clears the cache entry. |
aafm_agent_meta_written | action | Fires with 'post' or 'term' and the ID after an agent changes only custom fields. |
aafm_oauth_min_capability | filter | The capability needed to approve an OAuth connection. Default edit_posts. If any callback is attached, it overrides the Settings role list. |
aafm_playbook_starters | filter | Add starter playbooks. The five built-in starters are restored after the filter, so it cannot remove or replace them. |
aafm_ability_called | action | Fires with the normalized record after an Activity Log row is written. |
aafm_write_completed | action | Fires with a copy of the result and the target once a write's outcome is decided, for every status. |
aafm_force_read_only_mode | filter | Return true to force read-only mode on. It can only turn the mode on, never off. |
aafm_high_risk_abilities | filter | Add aafm/* ability names to the high-risk set. The built-ins are merged back in, so it can only add. Bridged abilities are not affected. |
aafm_rate_limit_per_min, aafm_ip_allowlist, aafm_max_title_len | filters | Adjust the stored value. A filter cannot switch off a limit the site owner set in Settings. |
aafm_page_builder_markers | filter | Map of post meta key to builder name used by the page builder guard. |
aafm_allowed_post_types | filter | Custom post types exposed to the content tools. Types that fail the eligibility check stay refused. |
wp aafm catalog export [--pretty] [--include-native]
It prints the abilities that other active plugins register as aafm.catalog/v1 JSON, and --include-native appends this plugin's own abilities.
Everything runs in DDEV on PHP 8.3:
ddev exec phpunit
ddev exec phpcs ddev exec phpstan analyse
Don't run wp plugin check against the dev checkout, because the plugin is symlinked to the repo root and Plugin Check follows the link into the bundled WordPress install. CONTRIBUTING.md explains how to run it against a clean export, and how an ability goes from a registry row to an MCP tool.
Patches are welcome. Read CONTRIBUTING.md first and keep each commit to one logical change. A vulnerability should go through the Report a vulnerability option on the repository's Security tab (see SECURITY.md) and not a public issue.
The plugin calls no AI provider and sends no telemetry. It makes two kinds of request itself: the Connection tab's checks against your own site's address and, only if you enable the off-by-default upload-media-from-url ability, a fetch of the HTTPS URL an agent supplies, which refuses private and reserved addresses, follows no redirects and carries none of your content or credentials. The bridges above run on your own machine and are not bundled.
The Model Context Protocol is an open specification that Anthropic originally developed. Claude, ChatGPT, Cursor, VS Code, Gemini and other product names belong to their owners, and Agent Abilities for MCP is a third-party plugin that isn't affiliated with, endorsed by or sponsored by any of them.
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요