# seonix-ai/seonix-mcp

Platform-agnostic MCP server that audits any website for SEO, GEO/AEO and speed problems and returns how-it-should-be recommendations. Read-only, free, works with any AI client (Claude, Cursor, …).

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Author:** seonix-ai
- **License:** MIT
- **Source:** https://github.com/seonix-ai/seonix-mcp

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-10-20T09:18:42.311Z
- **Version scanned:** HEAD
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.
**Findings**
- injection-shaped content (note) in the `wp_update_content` tool: Links to undeclared domain: 

## Tools

11 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `wp_list_content` — List WordPress posts or pages (id, link, title, status, and computed SEO title/description lengths). Requires WP auth. Use this to find the id of the content yo
- `wp_get_content` — Get one WordPress post or page with its RAW block content and meta (context=edit). Use this to read the exact markup before editing it (e.g. to fix image alt at
- `wp_update_content` — Update a WordPress post/page's content (post_content / block markup). Use to fix alt attributes inside blocks, remove emoji from headings, or rewrite http:// re
- `wp_set_media_alt` — Set the alt text on a WordPress media (attachment) item. This fixes 'image missing alt' for images served from the media library. IMPORTANT: decorative images m
- `wp_set_post_author` — Reassign the author of a post/page to a real WordPress user. Fixes JSON-LD Article author that renders as an empty Person ({name:'',@id:''}) — that is caused by
- `wp_set_yoast_meta` — Set the Yoast SEO title and/or meta description for a specific post/page (_yoast_wpseo_title / _yoast_wpseo_metadesc). CONSTRAINT: Yoast meta is NOT writable vi
- `wp_set_yoast_title_template` — Set the Yoast SEO title TEMPLATE for a post type site-wide (e.g. title-post / title-page in the wpseo_titles option). Changing it to drop '%%sep%% %%sitename%%'
- `audit_site` — READ-ONLY, platform-agnostic site auditor. Works on ANY website (WordPress, Shopify, custom, static — anything). Audits SEO, GEO/AEO and speed: it SHOWS problem
- `speed_audit` — READ-ONLY speed-only audit of ONE page. Always runs the HTML speed heuristics on the fetched page; when PAGESPEED_API_KEY is set it also runs Google PageSpeed I
- `propose_fixes`
- `preview_fix`

## Install

This entry has no npm package and no hosted endpoint, so there is nothing for an MCP client to launch or connect to. It is indexed as source only.

## Blast radius

Contained to moderate — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: read-only tool surface.
- Floor 3, ceiling 33 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/seonix-ai%2Fseonix-mcp
- Install plan: https://forgeregistry.com/api/v1/packages/seonix-ai%2Fseonix-mcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/seonix-ai%2Fseonix-mcp
- HTML page: https://forgeregistry.com/registry/seonix-ai%2Fseonix-mcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
