Transcribe and summarize audio and video files with per-job pricing paid via Stripe or USDC.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 27 days ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The weftly MCP server exposes 11 tools, focused primarily on general-purpose capabilities. Its published description reads: "Transcribe and summarize audio and video files with per-job pricing paid via Stripe or USDC". It communicates over Streamable HTTP using the 2026-07-28 protocol revision, and does not require authorization to connect. MCPGrade currently rates weftly F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Data-exfiltration parameters" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check weftly's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add weftly to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://api.weftly.ai/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Transcribe audio or video to text, including per-word timestamps for precise editing. Three-call flow: (1) call with `filename` to receive {job_id, payment_challenge}; (2) pay via MPP, then call with
Summarize an audio or video file — returns both a text summary AND the full transcript (with per-word timestamps). Do not also call transcribe on the same file. Three-call flow: (1) call with `filenam
START HERE for any clip workflow on a video — `find_clips` is the canonical entry point and includes a full transcription as a free byproduct. **Do not call `transcribe` first**: doing so doubles the
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: transcribe
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
_id` + `payment_credential` to receive {upload_url} (presigned PUT, 1h expRecommendationRemove side-channel parameters; constrain tool inputs.
tool: transcribe
A tool description tries to alter the model’s use of another tool.
the bytes, then complete_upload(job_id), then poll get_job_status(job_id). On cRecommendationDescriptions must describe only their own tool.
tool: transcribe
The input schema declares a parameter that asks the caller to hand over a password, key, token, or other secret — a credential-harvest / token-passthrough risk. (Bare pagination `token` params are excluded.)
parameter "payment_credential"RecommendationNever pass secrets as tool arguments; authenticate out-of-band and remove credential parameters from the schema.
tool: summarize
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
_id` + `payment_credential` to receive {upload_url} (presigned PUT, 1h expRecommendationRemove side-channel parameters; constrain tool inputs.
tool: summarize
A tool description tries to alter the model’s use of another tool.
o not also call transcribe on the same file. Three-call flow: (1) call witRecommendationDescriptions must describe only their own tool.
tool: summarize
The input schema declares a parameter that asks the caller to hand over a password, key, token, or other secret — a credential-harvest / token-passthrough risk. (Bare pagination `token` params are excluded.)
parameter "payment_credential"RecommendationNever pass secrets as tool arguments; authenticate out-of-band and remove credential parameters from the schema.
tool: find_clips
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
_id` + `payment_credential` to receive {upload_url} (presigned PUT, 1h expRecommendationRemove side-channel parameters; constrain tool inputs.
tool: find_clips
A tool description tries to alter the model’s use of another tool.
**Do not call `transcribe` first**: doing so doubles the upload, doublesRecommendationDescriptions must describe only their own tool.
tool: find_clips
The input schema declares a parameter that asks the caller to hand over a password, key, token, or other secret — a credential-harvest / token-passthrough risk. (Bare pagination `token` params are excluded.)
parameter "payment_credential"RecommendationNever pass secrets as tool arguments; authenticate out-of-band and remove credential parameters from the schema.
tool: extract_clip
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
_id` + `payment_credential` to start processing. No upload step. Poll get_RecommendationRemove side-channel parameters; constrain tool inputs.
tool: extract_clip
A tool description tries to alter the model’s use of another tool.
arize, or video transcribe). Operates on a parent job — possessing the parRecommendationDescriptions must describe only their own tool.
tool: extract_clip
The input schema declares a parameter that asks the caller to hand over a password, key, token, or other secret — a credential-harvest / token-passthrough risk. (Bare pagination `token` params are excluded.)
parameter "payment_credential"RecommendationNever pass secrets as tool arguments; authenticate out-of-band and remove credential parameters from the schema.
tool: extract_vertical_clip
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
_id` + `payment_credential` to start processing. Poll get_job_status(job_iRecommendationRemove side-channel parameters; constrain tool inputs.
tool: extract_vertical_clip
A tool description tries to alter the model’s use of another tool.
arize, or video transcribe), suitable for direct upload to TikTok, InstagrRecommendationDescriptions must describe only their own tool.
tool: extract_vertical_clip
The input schema declares a parameter that asks the caller to hand over a password, key, token, or other secret — a credential-harvest / token-passthrough risk. (Bare pagination `token` params are excluded.)
parameter "payment_credential"RecommendationNever pass secrets as tool arguments; authenticate out-of-band and remove credential parameters from the schema.
tool: complete_upload
A tool description tries to alter the model’s use of another tool.
upload_url from transcribe or summarize) and start processing. Verifies thRecommendationDescriptions must describe only their own tool.
tool: get_job_status
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: mpp_smoke_test
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
n with `payment_credential` set to the resulting Authorization header valuRecommendationRemove side-channel parameters; constrain tool inputs.
tool: mpp_smoke_test
A tool description tries to alter the model’s use of another tool.
product tools (transcribe, summarize), so a green run here means real paiRecommendationDescriptions must describe only their own tool.
tool: mpp_smoke_test
The input schema declares a parameter that asks the caller to hand over a password, key, token, or other secret — a credential-harvest / token-passthrough risk. (Bare pagination `token` params are excluded.)
parameter "payment_credential"RecommendationNever pass secrets as tool arguments; authenticate out-of-band and remove credential parameters from the schema.
tool: publish_to_youtube
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
tores the OAuth token. Captions are auto-generated from the session tRecommendationRemove side-channel parameters; constrain tool inputs.
tool: publish_to_youtube
A tool description tries to alter the model’s use of another tool.
ng video from a transcribe or summarize job to YouTube. Creates a paid pubRecommendationDescriptions must describe only their own tool.
tool: publish_to_youtube
The input schema declares a parameter that asks the caller to hand over a password, key, token, or other secret — a credential-harvest / token-passthrough risk. (Bare pagination `token` params are excluded.)
parameter "access_token"RecommendationNever pass secrets as tool arguments; authenticate out-of-band and remove credential parameters from the schema.
tool: trigger_youtube_publish
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
,"properties":{"session_token":{"type":"string","description":"Session token"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: trigger_youtube_publish
A tool description tries to alter the model’s use of another tool.
Call this after publish_to_youtube once payment_status is "paid". Returns immediatRecommendationDescriptions must describe only their own tool.
tool: get_youtube_publish_status
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
,"properties":{"session_token":{"type":"string","description":"Session token"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: get_youtube_publish_status
A tool description tries to alter the model’s use of another tool.
iodically after trigger_youtube_publish — the upload takes 1-10 minutes depending on viRecommendationDescriptions must describe only their own tool.
tool: (server instructions)
A tool description tries to alter the model’s use of another tool.
d of production, install `weftly-setup-dev` and run `/weftly-setup-dev:wefRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: transcribe
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "transcribe"RecommendationScope tools to the minimum needed.
tool: summarize
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "summarize"RecommendationScope tools to the minimum needed.
tool: find_clips
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "find_clips"RecommendationScope tools to the minimum needed.
tool: extract_clip
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "extract_clip"RecommendationScope tools to the minimum needed.
tool: extract_vertical_clip
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "extract_vertical_clip"RecommendationScope tools to the minimum needed.
tool: complete_upload
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "complete_upload"RecommendationScope tools to the minimum needed.
tool: get_job_status
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "get_job_status"RecommendationScope tools to the minimum needed.
tool: mpp_smoke_test
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "mpp_smoke_test"RecommendationScope tools to the minimum needed.
tool: publish_to_youtube
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "publish_to_youtube"RecommendationScope tools to the minimum needed.
tool: trigger_youtube_publish
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "trigger_youtube_publish"RecommendationScope tools to the minimum needed.
tool: get_youtube_publish_status
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "get_youtube_publish_status"RecommendationScope tools to the minimum needed.
tool: (server instructions)
The description pairs a fetch imperative with a hardcoded external URL, letting the server relocate its real instructions off-metadata and mutate them after review. Fires only when a fetch verb and a URL co-occur, so benign documentation links do not.
-wallet>`. See https://github.com/woven-record-media/weftly-plugins for details.RecommendationDo not direct the model to fetch and act on external URLs; treat linked content as untrusted.
tool: extract_vertical_clip
An unusually long description is a common injection-padding tactic.
description length 2620 charsRecommendationKeep descriptions concise.
The server exposes one or more ui:// (MCP Apps) resources whose HTML/JS renders inside the host client — a client-side injection / data-exposure surface most scanners ignore. Flagged for review, not damning on its own.
2 ui:// resource(s); e.g. ui://weftly/clip-resultsRecommendationReview each ui:// resource’s markup and scripts; treat host-rendered UI as untrusted, sandbox it, and never expose secrets or conversation context to it.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Cut and assemble a clip from any prior video job (find_clips, summarize, or video transcribe). Operates on a parent job — possessing the parent `source_job_id` is the capability, no upload step. Pass
Cut a 9:16 vertical clip from any prior video job (find_clips, summarize, or video transcribe), suitable for direct upload to TikTok, Instagram Reels, or YouTube Shorts. Default output is 1080×1920 H.
Confirm that the file has been uploaded (via HTTP PUT to the upload_url from transcribe or summarize) and start processing. Verifies that the file is present in storage and that the job has been paid.
Check the status of a transcribe or summarize job. Returns the current state and, when completed, an `outputs` array. Each output has either `content` (returned inline) or a presigned, time-limited (1
Smoke-test the MPP payment plumbing end-to-end via this MCP server, for $0.01 USDC. Two-call flow: (1) call with no arguments to receive an MPP `payment_challenge`; (2) pay via MPP and call again with
Publish an existing video from a transcribe or summarize job to YouTube. Creates a paid publish job (flat $1.75 price) and stores the OAuth token. Captions are auto-generated from the session transcri
Start the YouTube upload after payment is confirmed. Call this after publish_to_youtube once payment_status is "paid". Returns immediately — the upload runs as a durable Workflow in the background. Po
Check the status of a YouTube publish job. Poll periodically after trigger_youtube_publish — the upload takes 1-10 minutes depending on video size. Returns status (pending, publishing, completed, fail