Eds MCP server
io.github.focusgts/eds-mcp-server·v0.15.0·4 stars41 tools for Adobe Edge Delivery Services: read, audit, track, monitor, fix, publish, undo — safely.
4 stars169 downloads/wk
Reviews
Write oneNobody has reviewed Eds yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Eds tools (41, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
eds_audit_monitorWatch a site on a schedule: run the audit, DIFF it against the last snapshot, and report a status — ok / degraded / broken (a new critical issue, or a dimension fallen to poor). Records the new snapshot (shares the eds_audit_snapshot/eds_audit_trend history). Pass a `webhook` (https Slack/Discord/generic URL) to get pinged when the status crosses `alertOn` (default 'broken') — the payload is compa
eds_audit_pageAudit a single page for SEO and accessibility issues (missing title/description, no H1, images without alt text, missing landmarks, etc.). Returns a prioritized list of findings with suggested fixes. Read-only.
eds_audit_reportwrite actionRun a site audit and return a beautiful, self-contained, client-ready HTML report — a Focus GTS Navigator letterhead, an executive summary, per-dimension health scores, a prioritized issue list with suggested fixes, and a "Save as PDF" button (browser print, no dependency). Navigator-branded by default. Optionally pass `brand` (your own agency name, logo as a data: URI, hex accentColor, preparedFo
eds_audit_siteSweep the whole site (or a subtree) and return a prioritized list of content-quality issues across SEO, accessibility, freshness, sitemap coverage, and — when a domain is supplied — performance (Core Web Vitals) and 404s from real-user data. Read-only; safe to run anytime. Pair with the eds_da_* write tools to fix what it finds.
eds_audit_snapshotwrite actionRun the site audit and RECORD its scores to a history sheet in the site's own Document Authoring content (default /audit-history.json, kept private/unpublished), so health can be tracked over time. Returns the overall score AND the change since the last snapshot (e.g. "89, ▲7 vs 2026-08-09"). One row per day — a same-day re-run updates that day's row. dryRun previews the row; publish:true makes th
eds_audit_trendShow site health OVER TIME from the recorded snapshots — returns a self-contained, theme-aware HTML trend view (an SVG sparkline of the overall score plus per-dimension movement since the last snapshot), ready to save or share. Reads the history sheet written by eds_audit_snapshot. Pass format:'text' for a short plain-text summary instead of HTML. Requires EDS_DA_TOKEN. Read-only.
eds_bulk_fix_metadataFix SEO/social metadata across MANY pages in one reversible operation. Takes a list of { path, metadata } (the agent supplies each page's values after auditing). Writes all changed pages in a single batch and returns ONE undo object that reverts the entire batch via eds_da_rollback. dryRun previews the whole plan; publish:true previews+publishes the batch live. Requires EDS_DA_TOKEN. Pair with eds
eds_bulk_previewStart an asynchronous bulk preview job over many pages in one call. Returns a job handle immediately; poll eds_get_job_status for progress. Use for section updates or content migrations.
eds_bulk_publishwrite actionStart an asynchronous bulk publish job from preview to the live production domain over many pages in one call. Returns a job handle immediately; poll eds_get_job_status for progress.
eds_da_copy_sourceCopy an authored source document to another path in Document Authoring. Requires EDS_DA_TOKEN.
eds_da_delete_sourcewrite actionDelete an authored source document from Document Authoring. Requires EDS_DA_TOKEN.
eds_da_exportBulk-export a whole Document Authoring subtree in one call: recursively fetch every document under a path and return all their sources together. The efficient "clone" read for operating on many pages at once (vs. one get per page). Requires EDS_DA_TOKEN.
eds_da_get_sourceGet the raw authored source (typically HTML) of a Document Authoring document — the source of truth, not the rendered/previewed output. Requires EDS_DA_TOKEN.
eds_da_get_versionsGet the version history of a Document Authoring source document. Requires EDS_DA_TOKEN.
eds_da_list_sourcesList authored source documents and folders in Document Authoring (DA) under a path. Requires EDS_DA_TOKEN.
eds_da_move_sourceMove (rename) an authored source document to another path in Document Authoring. Requires EDS_DA_TOKEN.
eds_da_pushBulk-push many edited Document Authoring documents back in one call. Set dryRun to PREVIEW what would change (create/update/unchanged) without writing anything — safest to run this first. Set withUndo to make the write reversible (returns an undo object for eds_da_rollback). Requires EDS_DA_TOKEN.
eds_da_put_sourcewrite actionCreate or update (upsert) the authored source of a Document Authoring document. Requires EDS_DA_TOKEN.
eds_da_rollbackUndo a previous eds_da_push. Pass the exact `undo` object returned by a push that used withUndo — it restores overwritten documents and deletes newly-created ones. Requires EDS_DA_TOKEN.
eds_fix_auditFix what the audit found — across metadata AND redirects — in ONE reversible operation. After eds_audit_site/eds_audit_report, findings that carry a `fix` are repairable here: pass `metadata` fixes (per page) and/or `redirects` ({ source, destination }) with the values YOU wrote from the findings — this tool never invents copy. Everything is pushed in a single batch, so ONE eds_da_rollback undoes
eds_fix_metadataFix a page's SEO/social metadata (title, description, Open Graph image) by editing its Document Authoring source. Adds or updates the page's Metadata block idempotently, through the safe-writes path (dry-run + undo). The AGENT supplies the values (e.g. write a good meta description); this tool writes them correctly and reversibly. Requires EDS_DA_TOKEN. Set publish:true to preview+publish so the c
eds_fix_redirectFix broken links (404s) by adding redirect rules to the site's `redirects` sheet — the EDS mechanism that serves 301 redirects. Pass one or many { source, destination } rules (source = relative path like /old-page; destination = a relative path or full URL). Idempotent (updates a rule for an existing source, never duplicates). Routed through the safe-writes path (dry-run + undo); publish:true publ
eds_get_404sGet a report of 404 errors for an EDS site including hit counts and referrer sources
eds_get_api_keysList the API keys configured for the EDS site including their roles and creation dates
eds_get_configRead the site configuration from the EDS config endpoint (fstab, headers, redirects, etc.)
eds_get_cwvGet Core Web Vitals (LCP, CLS, INP, TTFB) for an EDS site from the RUM data pipeline
eds_get_experimentsGet A/B experiment results for an EDS site including variant views, clicks, and conversion rates
eds_get_job_statusCheck the progress of an asynchronous bulk job started by eds_bulk_preview or eds_bulk_publish. Reports state (created/running/stopped) and processed/failed counts.
eds_get_logsGet the project activity log showing recent preview, publish, and configuration actions
eds_get_metadataFetch the site-wide metadata sheet (metadata.json) containing SEO and social meta values
eds_get_pageFetch the rendered HTML content of an EDS page via the .plain.html endpoint
eds_get_redirectsFetch and parse the site redirects spreadsheet (redirects.json). Returns all redirect rules with source, destination, and type (301/302).
eds_get_sitemapFetch and parse the site sitemap.xml, returning all URLs with last-modified dates
eds_get_statusGet the current preview, live, and code-bus status for an EDS resource including URLs and modification timestamps
eds_list_pagesList pages from the site query index with pagination support
eds_preview_and_publishwrite actionPreview a page and then immediately publish it to live in a single atomic operation. The most common EDS workflow.
eds_preview_pageTrigger preview for an EDS page so changes from the content source are reflected on the preview domain (*.aem.page)
eds_publish_pagewrite actionPublish an EDS page from preview to the live production domain (*.aem.live)
eds_purge_cachePurge the CDN cache for an EDS page path so the next request fetches fresh content
eds_search_pagesSearch for pages by keyword across titles, descriptions, and paths in the site query index
eds_unpublish_pagewrite actionRemove an EDS page from the live production site. The page will no longer be publicly accessible.
Public scan report
scanner v0.1.10 · 2026-11-02 · same rubric, same numbers if you re-run it
- Code scan57 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 76 days ago12/15
- Maintainer identitynamespace and repository owner differ4/10
How Eds compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 72/100
- higher than 38% of 48,255 servers
- Tools
- 41
- the typical server has 7
- Tools that change things
- 20%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 4
- more than 82% of 28,688 servers
- Downloads a week
- 169
- more than 72% of 12,191 servers with a package
What its tools let an agent do: 33 read · 8 change
Install Eds in Claude Code, Cursor or VS Code
Runs npx -y @focusgts/eds-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add eds-mcp-server -- npx -y @focusgts/eds-mcp-server
What the publisher says
From the Eds repository's README, as published. We do not edit it. Read it on GitHub
Let an AI agent run — and improve — your Adobe Edge Delivery site.
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.
⚡ Do it in three lines
claude mcp add eds -e EDS_OWNER=your-org -e EDS_REPO=your-site -- npx @focusgts/eds-mcp-serverThen 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.
The loop that makes it different
flowchart LR
A["📖 Read<br/>authored content (DA)"] --> B["🔍 Audit<br/>SEO · a11y · perf · freshness"]
B --> C["🛠️ Fix<br/>one page or the whole site"]
C --> D["🚀 Publish<br/>preview + live"]
D --> E["↩️ Undo<br/>one call reverts it all"]
E -. "re-audit to zero" .-> BIt 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 edsdarollback reverts. No other MCP server — including Adobe's own — does this end-to-end.
🧠 How it works
flowchart LR
A["AI agent<br/>(Claude Code · Cursor · Copilot)"] -- MCP / stdio --> B["eds-mcp-server<br/>41 tools"]
B --> C["Admin API<br/>admin.hlx.page"]
B --> D["Content API<br/>*.aem.live"]
B --> E["RUM / OpTel<br/>Core Web Vitals"]
B --> G["Document Authoring<br/>admin.da.live"]
C --> F["Your EDS site"]
D --> F
E --> F
G --> FThe agent calls tools; the server talks to the live EDS infrastructure. Read-only tools (content, sitemap, metadata) need no credentials at all.
🔑 One-click sign-in
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). EDSAPIKEY works as the CI / fallback path.
🛠️ The 41 tools
Edge Delivery Services — publish, content, analytics
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Eds: common questions
- Is Eds MCP server safe?
- Mostly: it is graded B (72/100). Read the Eds safety report
- How do I install Eds?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Eds need an API key?
- Yes. The registry entry asks for
EDS_API_KEY,EDS_DOMAIN_KEY,EDS_DA_TOKEN. - Is Eds maintained?
- The last commit was 78 days ago (2026-08-18). The latest release is v0.15.0.
- How does Eds compare with other MCP servers?
- safety score 72/100 (higher than 38% of 48,255 servers); tools 41 (the typical server has 7); tools that change things 20% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.