MCP, MCP server
io.github.Algorismus-io/elementor-ultra-mcp
The agent control surface for Elementor. A Model Context Protocol server + companion WordPress plugin that let AI agents read, build, refactor and govern real Elementor sites the way engineers ship software — Editor V4 atomic elements first, V3 classic fallback — with autho
Compatibility: Not stated.
Grade D
Two or more Medium findings, or a High finding. Only try it in a sandbox.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 98e31b97ec98, unchanged since the check below.
SECRETS_PATH_CREDENTIAL OBFUSCATION_MINIFIED_PAYLOAD
Why this grade
- SECRETS_PATH_CREDENTIAL Medium
Mentions a credential store path (~/.ssh, id_rsa, .npmrc, .aws/credentials, credentials.json, .netrc).
dev/playground/provision.php, line 48
file_put_contents('/ultra-out/credentials.json', json_encode([ - OBFUSCATION_MINIFIED_PAYLOAD Medium
Contains a very long line with almost no spaces in a script or style file.
packages/server/_lay.mjs, line 7
function dry(elements){return new Promise(res=>{const p=spawn('node',['dist/index.js'],{env,stdio:['pipe','pipe','pipe']});let buf='';p.stdout.on('data',d=>buf+=d);const send=o=>p.
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Pass
No shell or command execution found, and no extra permission was declared.
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
dev/setup.sh, line 27
until curl -fsS -o /dev/null "$URL" 2>/dev/null; do sleep 2; done
dev/setup.sh, line 69
Verify: curl -u $ADMIN_USER:$APP_PASS $URL/wp-json/elementor-ultra/v1/site/capabilities
dev/playground/setup-playground.mjs, line 95
Verify: curl -u ${c.WP_USER}:${c.WP_APP_PASSWORD} ${c.WP_URL}/wp-json/elementor-ultra/v1/site/capabilities
Show more
packages/server/src/convert/figma-client.ts, line 370
/** ISO timestamp of the fetch (asset URLs expire 14/30 days after it). */
packages/server/src/convert/figma-client.ts, line 425
// ── RESUME: a complete manifest means never re-fetch (the §7 convention). ────────────────────
packages/server/src/convert/figma-pipeline.ts, line 419
* `convert.figma_to_tree`: fetch (or RESUME) the frame extraction, run the pure figma-parse stage
packages/server/src/runtime/capabilities-cache.ts, line 32
* @param fetcher The single capability fetch (typically `ctx.wp.siteCapabilities`).
packages/server/src/test-harness/e2e-scenario.ts, line 993
const res = await fetch(url, { headers: { 'Cache-Control': 'no-cache' } });
packages/server/src/transport/http.test.ts, line 401
const res = await fetch(`http://127.0.0.1:${port}/not-mcp`, { method: 'GET' });
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_CREDENTIAL
dev/playground/provision.php, line 48
file_put_contents('/ultra-out/credentials.json', json_encode([
dev/playground/setup-playground.mjs, line 23
const CREDS = join(OUT, 'credentials.json');
packages/server/src/server.ts, line 475
const mcpApiKey = (process.env['WP_MCP_API_KEY'] ?? '').trim();
Show more
packages/server/src/server.ts, line 477
const appPassword = process.env['WP_APP_PASSWORD'] ?? '';
packages/server/src/convert/figma-client.ts, line 163
const env = options?.env ?? resolveFigmaEnv();
packages/server/src/test-harness/dry-run-roundtrip.contract.ts, line 36
const appPassword = process.env['WP_APP_PASSWORD'];
packages/server/src/test-harness/e2e-scenario.ts, line 48
const appPassword = process.env['WP_APP_PASSWORD'];
packages/server/src/test-harness/html-corpus.contract.ts, line 333
const appPassword = process.env['WP_APP_PASSWORD'];
packages/server/src/test-harness/inspector-smoke.ts, line 90
return Boolean(process.env['WP_URL'] && process.env['WP_USER'] && process.env['WP_APP_PASSWORD']);
packages/server/src/test-harness/render-assertion.contract.ts, line 42
const appPassword = process.env['WP_APP_PASSWORD'];
packages/server/src/test-harness/roundtrip-identity.contract.ts, line 30
const appPassword = process.env['WP_APP_PASSWORD'];
.gitignore, line 38
.mcp.json
scripts/convert-corpus.mjs, line 23
* (`mcpServers["elementor-ultra"].env`), then - CI fallback - an Application Password minted via
scripts/convert-corpus.mjs, line 51
const env = mcp?.mcpServers?.['elementor-ultra']?.env ?? {};
scripts/smoke-skill-cli.mjs, line 190
return JSON.parse(readFileSync(join(REPO, '.mcp.json'), 'utf8')).mcpServers['elementor-ultra'].env
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains a minified payload.
OBFUSCATION_MINIFIED_PAYLOAD
packages/server/_lay.mjs, line 7
function dry(elements){return new Promise(res=>{const p=spawn('node',['dist/index.js'],{env,stdio:['pipe','pipe','pipe']});let buf='';p.stdout.on('data',d=>buf+=d);const send=o=>p.
packages/server/algorismus-elementor-ultra-mcp-1.0.1.tgz, line 1
� ����F�(��~���c ����rY���,ޮ-HJ�G�.��$ ��`-�+�M|�wb"�'����ߛ�I�8K&
packages/server/algorismus-elementor-ultra-mcp-1.0.2.tgz, line 1
� ����F�(��~���c ����rY���,ޮ-HJ�G�.��$ ��`-�+�M|�wb"�'����ߛ�I�8K&
Show more
packages/server/youragency-elementor-ultra-mcp-1.0.1.tgz, line 1
� ����F�(��~���c ����rY���,ޮ-HJ�G�.��$ ��`-�+�M|�wb"�'����ߛ�I�8K&
packages/shared/src/rest/types.ts, line 1
/**
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 98e31b97ec98. can reach a host that is not written as a fixed address. reads a credential or environment file. contains a minified payload.
Date and source
Date checked:
github.com
Commit graded: 98e31b97ec989d3307dd67dfb17abbe1fb5a49b5
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.