Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
41 tools for Adobe Edge Delivery Services: read, audit, track, monitor, fix, publish, undo — safely.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
EDS_OWNER, EDS_REPO, EDS_REF, EDS_API_KEY, EDS_DOMAIN_KEY, EDS_DA_TOKEN, EDS_DA_ORG, EDS_DA_REPO비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"eds": {
"command": "npx",
"args": [
"-y",
"@focusgts/eds-mcp-server"
],
"env": {
"EDS_OWNER": "your-value",
"EDS_REPO": "your-value",
"EDS_REF": "your-value",
"EDS_API_KEY": "your-value",
"EDS_DOMAIN_KEY": "your-value",
"EDS_DA_TOKEN": "your-value",
"EDS_DA_ORG": "your-value",
"EDS_DA_REPO": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add eds --env EDS_OWNER=your-value --env EDS_REPO=your-value --env EDS_REF=your-value --env EDS_API_KEY=your-value --env EDS_DOMAIN_KEY=your-value --env EDS_DA_TOKEN=your-value --env EDS_DA_ORG=your-value --env EDS_DA_REPO=your-value -- npx -y @focusgts/eds-mcp-server실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"eds": {
"command": "npx",
"args": [
"-y",
"@focusgts/eds-mcp-server"
],
"env": {
"EDS_OWNER": "your-value",
"EDS_REPO": "your-value",
"EDS_REF": "your-value",
"EDS_API_KEY": "your-value",
"EDS_DOMAIN_KEY": "your-value",
"EDS_DA_TOKEN": "your-value",
"EDS_DA_ORG": "your-value",
"EDS_DA_REPO": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"eds": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@focusgts/eds-mcp-server"
],
"env": {
"EDS_OWNER": "your-value",
"EDS_REPO": "your-value",
"EDS_REF": "your-value",
"EDS_API_KEY": "your-value",
"EDS_DOMAIN_KEY": "your-value",
"EDS_DA_TOKEN": "your-value",
"EDS_DA_ORG": "your-value",
"EDS_DA_REPO": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
EDS_REF envEDS_DA_ORG envEDS_DA_REPO env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 Focus-GTS 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: EDS_OWNER, EDS_REPO, EDS_API_KEY, EDS_DOMAIN_KEY, EDS_DA_TOKEN
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.15.0)은 3개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Draugr
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
41 tools. No extra dependencies beyond the MCP SDK. Works with any EDS site. The first MCP server purpose-built for Edge Delivery Services.
Read your content → audit it → fix what's wrong → publish → undo any of it. One page or the whole site, in a single reversible operation. Preview before every write; undo after.
claude mcp add eds -e EDS_OWNER=your-org -e EDS_REPO=your-site -- npx @focusgts/eds-mcp-server
Then just ask your agent:
*"Audit the whole site and show me what's hurting SEO."*
*"Fix the meta description on every page that's missing one — preview first, then publish."*
*"Actually, undo that whole batch."*
*"Preview and publish the homepage."*
That's it — no local AEM, no scripts, no glue code. Every write is previewable and reversible.
flowchart LR
A["📖 Read authored content (DA)"] --> B["🔍 Audit SEO · a11y · perf · freshness"] B --> C["🛠️ Fix one page or the whole site"] C --> D["🚀 Publish preview + live"] D --> E["↩️ Undo one call reverts it all"] E -. "re-audit to zero" .-> B
It doesn't just *drive* your site — it improves it, safely. Point it at an EDS site and an agent can find what's wrong and repair it, one page or the whole site in a single batch that a single eds_da_rollback reverts. No other MCP server — including Adobe's own — does this end-to-end.
flowchart LR
A["AI agent (Claude Code · Cursor · Copilot)"] -- MCP / stdio --> B["eds-mcp-server 41 tools"] B --> C["Admin API admin.hlx.page"] B --> D["Content API *.aem.live"] B --> E["RUM / OpTel Core Web Vitals"] B --> G["Document Authoring admin.da.live"] C --> F["Your EDS site"] D --> F E --> F G --> F
The agent calls tools; the server talks to the live EDS infrastructure. Read-only tools (content, sitemap, metadata) need no credentials at all.
No more pasting a fresh admin token every day:
sequenceDiagram
participant You participant CLI as eds-mcp-server login participant Adobe as admin.hlx.page You->>CLI: npx @focusgts/eds-mcp-server login CLI->>Adobe: open browser (client_id=aem-cli) You->>Adobe: sign in & approve Adobe-->>CLI: siteToken → localhost callback CLI-->>You: cached ~/.aem/auth-token.json (reused automatically)
Use Chrome or Firefox — Safari blocks the local callback (same as Adobe's AEM CLI).
EDS_API_KEYworks as the CI / fallback path.
Publishing
eds_preview_pageeds_publish_pageeds_unpublish_pageeds_preview_and_publisheds_get_statuseds_purge_cacheeds_bulk_previeweds_bulk_publisheds_get_job_statusContent
eds_get_pageeds_list_pageseds_search_pageseds_get_metadataeds_get_sitemapeds_get_redirectsAnalytics & config
eds_get_cwveds_get_404seds_get_experimentseds_get_configeds_get_logseds_get_api_keysNine tools reach a site's Document Authoring source directly (admin.da.live), the source of truth behind an EDS site. Requires EDS_DA_TOKEN.
Read
eds_da_list_sourceseds_da_get_sourceeds_da_get_versionsWrite
eds_da_put_sourceeds_da_delete_sourceeds_da_copy_sourceeds_da_move_sourceBulk ("clone") + safe writes
eds_da_exporteds_da_pusheds_da_rollback`eds_da_export` / `eds_da_push` bring the efficiency of
aem content cloneto agents: export a whole DA subtree in one call, operate on it, and push the batch back in one call — no local checkout, noaem-cli. Same model, network-native.
Safe by default.
eds_da_pushtakesdryRun: trueto preview exactly what a bulk edit would do (create / update / unchanged, with line-diff counts) without writing a thing, andwithUndo: trueto make the write reversible — it returns anundoobject you hand toeds_da_rollbackto restore prior content and remove any docs the push created. Preview before writing, undo after: the difference between an impressive demo and something you'd point at a production site.
EDS_DA_TOKENis an Adobe IMS access token for Document Authoring — grab it from an authenticated da.live session (the IMSaccess_token). Document paths assume.htmlwhen no extension is given (index→index.html).
eds_audit_pageeds_audit_siteeds_audit_reporteds_audit_snapshoteds_audit_trendeds_audit_monitorIt tells you what's wrong.
eds_audit_sitesweeps the whole site (or a subtree) and returns a prioritized list of issues across SEO (missing titles/descriptions, no H1, blocked from indexing), accessibility (images without alt text, missing landmarks, unlabeled form inputs), freshness (pages not updated in over a year), sitemap coverage, and — with adomain— performance (Core Web Vitals) and 404s from Adobe's own real-user data.eds_audit_pagedoes the same for one page. Read-only and safe to run anytime.
`eds_audit_report` turns that audit into a beautiful, client-ready HTML report — a Focus GTS Navigator letterhead, an executive summary, per-dimension health scores, a prioritized issue list with each suggested fix, and a Save-as-PDF button (uses your browser's own print — no dependency). Self-contained (no external assets), ready to open, host, or send to a stakeholder. Pass an optional
brand(agency name, logo, accent, "prepared for" client) to white-label the letterhead.
Track it over time.
eds_audit_snapshotrecords each audit's scores to a history sheet in your site's own content (private by default) and tells you the change since last time — *"89, ▲7 since last week."* `eds_audit_trend` turns that history into a shareable HTML sparkline of your score over time plus per-dimension movement. One snapshot is a mirror; the trend is the story.
Watch it on autopilot.
eds_audit_monitoraudits, diffs against the last snapshot, and reports a status — ok / degraded / broken — and, when you give it awebhook, pings Slack/Discord the moment health breaks (a new critical, or a dimension fallen to poor). The server does the check + alert; you supply the schedule — a copy-paste [scheduled GitHub Action](examples/monitor.yml) or your agent runtime. Webhook is https-only and the payload carries no secrets.
eds_fix_metadataeds_bulk_fix_metadataeds_fix_redirecteds_fix_auditIt fixes what it finds — reversibly.
eds_fix_metadatarepairs a page's title, meta description and Open Graph image by editing its Document Authoring source, routed through the same dry-run + undo path as the write tools. The agent supplies the content (e.g. writes a fitting description); the tool writes it *correctly and idempotently* (merges into the page's Metadata block, never duplicates it). Passpublish: trueto preview + publish so the change goes live.
`eds_bulk_fix_metadata` does it across a whole site in one reversible operation — pass a list of
{ path, metadata }, and it writes every changed page in a single batch that returns one undo reverting all of it. The full loop: `eds_audit_site` → fix the batch → publish → re-audit to zero — with a single undo if anything looks off.
`eds_fix_redirect` closes the 404 loop:
eds_audit_sitesurfaces the broken links from real-user data, and this adds the 301 redirect rules (to the site'sredirectssheet) that fix them — one rule or many, idempotent, dry-run + undo. So the audit now has a fix for *every* major finding.
`eds_fix_audit` is the "fix it" button in agent form: after an audit, apply its fixable findings — metadata and redirects together — in one reversible batch. Findings the report marks ✦ Fixable carry a machine-readable fix; you supply the values (the tool never invents copy), and every change is pushed at once so a single
eds_da_rollbackundoes all of it.dryRunpreviews the whole plan;publish: truemakes it live.
Claude Code — one command
claude mcp add eds -e EDS_OWNER=your-org -e EDS_REPO=your-site -- npx @focusgts/eds-mcp-server
Cursor — .cursor/mcp.json
{
"mcpServers": { "eds": { "command": "npx", "args": ["@focusgts/eds-mcp-server"], "env": { "EDS_OWNER": "your-org", "EDS_REPO": "your-site" } } } }
</details>
VS Code (GitHub Copilot) — .vscode/mcp.json
{
"servers": { "eds": { "command": "npx", "args": ["@focusgts/eds-mcp-server"], "env": { "EDS_OWNER": "your-org", "EDS_REPO": "your-site" } } } }
</details>
| Variable | Required | Description |
|---|---|---|
EDS_OWNER | Yes | GitHub org/user that owns the EDS site repo |
EDS_REPO | Yes | GitHub repository name |
EDS_REF | No | Git branch (default: main) |
EDS_API_KEY | No | Admin token (see Authentication). Browser login is the alternative. |
EDS_DOMAIN_KEY | No | OpTel domain key for analytics queries (CWV, 404s, experiments) |
EDS_DA_TOKEN | No | Document Authoring IMS access token — enables the eds_da_* source & bulk tools |
EDS_DA_ORG | No | DA org (defaults to EDS_OWNER) |
EDS_DA_REPO | No | DA repo/site (defaults to EDS_REPO) |
Read-only tools (content, sitemap, metadata) need no keys. Write tools (preview, publish, cache) need an admin token. Analytics tools need EDS_DOMAIN_KEY. DA source tools need EDS_DA_TOKEN.
Admin operations require an EDS Admin token. Two ways to provide one.
Browser sign-in (recommended for interactive use)
EDS_OWNER=your-org EDS_REPO=your-site npx @focusgts/eds-mcp-server login
Opens your browser to Adobe's admin.hlx.page login (the same flow as the AEM CLI). The admin site token caches at ~/.aem/auth-token.json (mode 0600, ~24h) and is reused automatically. **Use Chrome or Firefox — Safari blocks t
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요