dial-pptx-mcp (photonn/dial-pptx-mcp) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 38 tools. No publisher has claimed this listing.
DIAL-aware remote MCP server for PowerPoint generation — extends GongRzhe/Office-PowerPoint-MCP-Server with streamable-http transport, per-session state, and DIAL Core file storage integration
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
photonn
Source: Glama · also listed on github_code
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
PPT_TEMPLATE_PATHno — Extra local directories searched by the local-path template tools (:-separated)PPT_MCP_ALLOWED_HOSTSPPT_MCP_TRANSPORTno stdio http (streamable-http, recommended for DIAL), sse, or stdioPPT_MCP_PORTno 8000 Listen port for http/ssePPT_MCP_HOSTno 127.0.0.1 Bind address; set 0.0.0.0 in containers (the Dockerfile does)VISUAL_QA_EXPOSE_TOOLDIAL_AUTH_MODEDIAL_API_KEYno — Server's own DIAL API key — the fallback identity in auto mode, the only identity in server modeDIAL_CORE_URLfor DIAL export — Base URL of DIAL Core, e.g. https://dial.example.com. Unset → DIAL upload/download tools return a clear error; local-path tools still workDIAL_UPLOAD_FOLDERno pptx-mcp Folder inside the bucket for exported decksPPT_MCP_STATE_TTL_SECONDSno 3600 Idle time before an in-memory presentation expiresPPT_MCP_STATE_MAX_PRESENTATIONSno 50 Max concurrently held presentations (LRU eviction)SOFFICE_PATHno soffice on PATH LibreOffice binary used to render slides (the Docker image includes LibreOffice)VISION_LLM_PROVIDERno auto Force the backend: direct or dial (default: direct when VISION_LLM_ENDPOINT is set, else dial)VISION_LLM_ENDPOINTVISION_LLM_PROVIDER no auto Force the backend: direct or dial (default: direct when is set, else dial)VISION_LLM_MODELfor visual QA — Vision model: the model name (direct endpoint) or the DIAL deployment name (DIAL provider); must accept image inputVISION_LLM_API_KEYdirect provider — Key for the direct endpoint (sent as api-key and Authorization: Bearer)VISION_LLM_API_VERSIONno — Optional ?api-version= for the DIAL-routed callVISUAL_QA_ON_UNRESOLVEDVISUAL_QA_ON_ERRORVISION_LLM_MAX_SLIDESno 15 Cap on slides sent per inspectionVISUAL_QA_MAX_ITERATIONS3. The deck is re-rendered and re-inspected; the loop repeats up to (default 10) inspections, stopping early if no repair makes progress.Tool annotations
10/38 tools have annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
38/38 tools missing one or more hints — get_server_info (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); update_chart_data (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); add_connector (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +35 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Destructive tools are labelled
1 tool perform destructive updates without destructiveHint — manage_image deletes at line 562 (os.unlink(temp_path))
Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.
Tool test coverage
Only 5/38 tools referenced in tests (13%)
Write tests that reference each tool by name so every tool has at least one test.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/photonn/dial-pptx-mcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check