Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Eds MCP Server

by Focus-GTSversion 0.15.0i★ –iRuns on your computer
Registry nameio.github.focusgts/eds-mcp-server

Install

Overview

Description from the maker (original English)

41 tools for Adobe Edge Delivery Services: read, audit, track, monitor, fix, publish, undo — safely.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: EDS_OWNER, EDS_REPO, EDS_API_KEY, EDS_DOMAIN_KEY, EDS_DA_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: EDS_OWNER, EDS_REPO, EDS_REF, EDS_API_KEY, EDS_DOMAIN_KEY, EDS_DA_TOKEN, EDS_DA_ORG, EDS_DA_REPO

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into 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"
      }
    }
  }
}

Run this in your terminal

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

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • EDS_OWNER required env
    GitHub org/user that owns the EDS site repo
  • EDS_REPO required env
    GitHub repository name for the EDS site
  • EDS_REF env
    Git branch (default: main)
  • EDS_API_KEY secret env
    Admin API key for preview/publish/cache operations
  • EDS_DOMAIN_KEY secret env
    OpTel domain key for Core Web Vitals, 404s, and experiment queries
  • EDS_DA_TOKEN secret env
    Document Authoring IMS access token — enables the eds_da_* source and bulk tools
  • EDS_DA_ORG env
    Document Authoring org (defaults to EDS_OWNER)
  • EDS_DA_REPO env
    Document Authoring repo/site (defaults to EDS_REPO)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Focus-GTS, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32708 servers in this category
  • Published to the registry more recently than 29% of the other 32708 servers in this category
  • Basic checks equal to or better than 100% of the other 32708 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Eds MCP Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: EDS_OWNER, EDS_REPO, EDS_API_KEY, EDS_DOMAIN_KEY, EDS_DA_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.15.0) reached the registry 3 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, OpenTakeoff

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

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

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

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

Runs in the cloud★ 211Updated 2 days ago
Install

OpenTakeoff

by Kentucky-ai

Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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-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.

The loop that makes it different
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.


🧠 How it works

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.


🔑 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). EDS_API_KEY works as the CI / fallback path.


🛠️ The 41 tools

Edge Delivery Services — publish, content, analytics

Publishing

  • eds_preview_page
  • eds_publish_page
  • eds_unpublish_page
  • eds_preview_and_publish
  • eds_get_status
  • eds_purge_cache
  • eds_bulk_preview
  • eds_bulk_publish
  • eds_get_job_status

Content

  • eds_get_page
  • eds_list_pages
  • eds_search_pages
  • eds_get_metadata
  • eds_get_sitemap
  • eds_get_redirects

Analytics & config

  • eds_get_cwv
  • eds_get_404s
  • eds_get_experiments
  • eds_get_config
  • eds_get_logs
  • eds_get_api_keys
Document Authoring (DA) — the authored *source*, not the rendered output

Nine 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_sources
  • eds_da_get_source
  • eds_da_get_versions

Write

  • eds_da_put_source
  • eds_da_delete_source
  • eds_da_copy_source
  • eds_da_move_source

Bulk ("clone") + safe writes

  • eds_da_export
  • eds_da_push
  • eds_da_rollback

`eds_da_export` / `eds_da_push` bring the efficiency of aem content clone to agents: export a whole DA subtree in one call, operate on it, and push the batch back in one call — no local checkout, no aem-cli. Same model, network-native.

Safe by default. eds_da_push takes dryRun: true to preview exactly what a bulk edit would do (create / update / unchanged, with line-diff counts) without writing a thing, and withUndo: true to make the write reversible — it returns an undo object you hand to eds_da_rollback to 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_TOKEN is an Adobe IMS access token for Document Authoring — grab it from an authenticated da.live session (the IMS access_token). Document paths assume .html when no extension is given (index → index.html).

Content audit — find what's wrong, before you fix it
  • eds_audit_page
  • eds_audit_site
  • eds_audit_report
  • eds_audit_snapshot
  • eds_audit_trend
  • eds_audit_monitor

It tells you what's wrong. eds_audit_site sweeps 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 a domain — performance (Core Web Vitals) and 404s from Adobe's own real-user data. eds_audit_page does 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_snapshot records 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_monitor audits, diffs against the last snapshot, and reports a status — ok / degraded / broken — and, when you give it a webhook, 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.

Safe fixes — repair what the audit finds
  • eds_fix_metadata
  • eds_bulk_fix_metadata
  • eds_fix_redirect
  • eds_fix_audit

It fixes what it finds — reversibly. eds_fix_metadata repairs 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). Pass publish: true to 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_site surfaces the broken links from real-user data, and this adds the 301 redirect rules (to the site's redirects sheet) 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_rollback undoes all of it. dryRun previews the whole plan; publish: true makes it live.


🔌 Add it to your tool

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>

⚙️ Configuration

VariableRequiredDescription
EDS_OWNERYesGitHub org/user that owns the EDS site repo
EDS_REPOYesGitHub repository name
EDS_REFNoGit branch (default: main)
EDS_API_KEYNoAdmin token (see Authentication). Browser login is the alternative.
EDS_DOMAIN_KEYNoOpTel domain key for analytics queries (CWV, 404s, experiments)
EDS_DA_TOKENNoDocument Authoring IMS access token — enables the eds_da_* source & bulk tools
EDS_DA_ORGNoDA org (defaults to EDS_OWNER)
EDS_DA_REPONoDA 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.


🔐 Authentication

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

Only the beginning is shown; read the rest in the repo

Ask PopNx