{"name":"io.github.focusgts/eds-mcp-server","slug":"focusgts-eds-mcp-server","title":null,"description":"41 tools for Adobe Edge Delivery Services: read, audit, track, monitor, fix, publish, undo — safely.","url":"https://mcp.market/server/focusgts-eds-mcp-server","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":28,"stars":4,"forks":0,"downloads_week":169,"last_push_at":"2026-08-18T17:55:59.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Focus-GTS/eds-mcp-server","website":null,"version":"0.15.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@focusgts/eds-mcp-server","version":"0.15.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitHub org/user that owns the EDS site repo","isRequired":true,"format":"string","name":"EDS_OWNER"},{"description":"GitHub repository name for the EDS site","isRequired":true,"format":"string","name":"EDS_REPO"},{"description":"Git branch (default: main)","format":"string","name":"EDS_REF"},{"description":"Admin API key for preview/publish/cache operations","format":"string","isSecret":true,"name":"EDS_API_KEY"},{"description":"OpTel domain key for Core Web Vitals, 404s, and experiment queries","format":"string","isSecret":true,"name":"EDS_DOMAIN_KEY"},{"description":"Document Authoring IMS access token — enables the eds_da_* source and bulk tools","format":"string","isSecret":true,"name":"EDS_DA_TOKEN"},{"description":"Document Authoring org (defaults to EDS_OWNER)","format":"string","name":"EDS_DA_ORG"},{"description":"Document Authoring repo/site (defaults to EDS_REPO)","format":"string","name":"EDS_DA_REPO"}]}],"tools":[{"name":"eds_audit_monitor","description":"Watch 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_audit_page","description":"Audit 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_audit_report","description":"Run 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","write_action":true,"price_micros":0,"input_schema":null},{"name":"eds_audit_site","description":"Sweep 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_audit_snapshot","description":"Run 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","write_action":true,"price_micros":0,"input_schema":null},{"name":"eds_audit_trend","description":"Show 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_bulk_fix_metadata","description":"Fix 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_bulk_preview","description":"Start 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_bulk_publish","description":"Start 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"eds_da_copy_source","description":"Copy an authored source document to another path in Document Authoring. Requires EDS_DA_TOKEN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_da_delete_source","description":"Delete an authored source document from Document Authoring. Requires EDS_DA_TOKEN.","write_action":true,"price_micros":0,"input_schema":null},{"name":"eds_da_export","description":"Bulk-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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_da_get_source","description":"Get the raw authored source (typically HTML) of a Document Authoring document — the source of truth, not the rendered/previewed output. Requires EDS_DA_TOKEN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_da_get_versions","description":"Get the version history of a Document Authoring source document. Requires EDS_DA_TOKEN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_da_list_sources","description":"List authored source documents and folders in Document Authoring (DA) under a path. Requires EDS_DA_TOKEN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_da_move_source","description":"Move (rename) an authored source document to another path in Document Authoring. Requires EDS_DA_TOKEN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_da_push","description":"Bulk-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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_da_put_source","description":"Create or update (upsert) the authored source of a Document Authoring document. Requires EDS_DA_TOKEN.","write_action":true,"price_micros":0,"input_schema":null},{"name":"eds_da_rollback","description":"Undo 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_fix_audit","description":"Fix 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 ","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_fix_metadata","description":"Fix 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_fix_redirect","description":"Fix 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_404s","description":"Get a report of 404 errors for an EDS site including hit counts and referrer sources","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_api_keys","description":"List the API keys configured for the EDS site including their roles and creation dates","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_config","description":"Read the site configuration from the EDS config endpoint (fstab, headers, redirects, etc.)","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_cwv","description":"Get Core Web Vitals (LCP, CLS, INP, TTFB) for an EDS site from the RUM data pipeline","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_experiments","description":"Get A/B experiment results for an EDS site including variant views, clicks, and conversion rates","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_job_status","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_logs","description":"Get the project activity log showing recent preview, publish, and configuration actions","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_metadata","description":"Fetch the site-wide metadata sheet (metadata.json) containing SEO and social meta values","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_page","description":"Fetch the rendered HTML content of an EDS page via the .plain.html endpoint","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_redirects","description":"Fetch and parse the site redirects spreadsheet (redirects.json). Returns all redirect rules with source, destination, and type (301/302).","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_sitemap","description":"Fetch and parse the site sitemap.xml, returning all URLs with last-modified dates","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_get_status","description":"Get the current preview, live, and code-bus status for an EDS resource including URLs and modification timestamps","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_list_pages","description":"List pages from the site query index with pagination support","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_preview_and_publish","description":"Preview a page and then immediately publish it to live in a single atomic operation. The most common EDS workflow.","write_action":true,"price_micros":0,"input_schema":null},{"name":"eds_preview_page","description":"Trigger preview for an EDS page so changes from the content source are reflected on the preview domain (*.aem.page)","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_publish_page","description":"Publish an EDS page from preview to the live production domain (*.aem.live)","write_action":true,"price_micros":0,"input_schema":null},{"name":"eds_purge_cache","description":"Purge the CDN cache for an EDS page path so the next request fetches fresh content","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_search_pages","description":"Search for pages by keyword across titles, descriptions, and paths in the site query index","write_action":false,"price_micros":0,"input_schema":null},{"name":"eds_unpublish_page","description":"Remove an EDS page from the live production site. The page will no longer be publicly accessible.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":72,"grade":"B","scanned_at":"2026-11-02T06:14:04.630Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-02T06:14:04.605Z","components":{"code":{"score":25,"max":25,"notes":["57 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 76 days ago"]},"identity":{"score":4,"max":10,"notes":["namespace and repository owner differ"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@focusgts/eds-mcp-server","version":"0.15.0","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-08-18T17:56:44.006Z","repositoryUrl":"git+https://github.com/Focus-GTS/eds-mcp-server.git","weeklyDownloads":169}],"repo":{"found":true,"owner":"Focus-GTS","repo":"eds-mcp-server","archived":false,"pushedAt":"2026-08-18T17:55:59Z","stars":4,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/284977986?v=4","ownerCreatedAt":"2026-05-15T14:22:35Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/284977986?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":4,"forks":0,"downloadsWeek":169,"license":"Apache-2.0","lastPushAt":"2026-08-18T17:55:59.000Z","score":28}}}},"grade_history":[],"reviews":[]}