Tegas AI
REMOTE · API.TEGAS.AI · SCANNED OCT 4
AI video production for marketing and social media: script, scenes, voice-over, subtitles, music.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
Schema Quality & AI Usability0
- Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
- Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
- Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified
Unverified: 6 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.
How do I install the Tegas AI MCP server?
Tegas AI is a hosted endpoint at https://api.tegas.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.tegas.ai
claude mcp add --transport http ai-tegas-video 'https://api.tegas.ai/mcp'
{
"mcpServers": {
"ai-tegas-video": {
"url": "https://api.tegas.ai/mcp"
}
}
} {
"servers": {
"ai-tegas-video": {
"type": "http",
"url": "https://api.tegas.ai/mcp"
}
}
} [mcp_servers.ai-tegas-video] url = "https://api.tegas.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-tegas-video": {
"type": "remote",
"url": "https://api.tegas.ai/mcp",
"enabled": true
}
}
} openclaw mcp add ai-tegas-video --url 'https://api.tegas.ai/mcp' --transport streamable-http
mcp_servers:
ai-tegas-video:
url: "https://api.tegas.ai/mcp" {
"McpServers": {
"ai-tegas-video": {
"Transport": "http",
"Url": "https://api.tegas.ai/mcp"
}
}
} assistant mcp add ai-tegas-video -t streamable-http -u 'https://api.tegas.ai/mcp'
{
"mcpServers": {
"ai-tegas-video": {
"type": "http",
"url": "https://api.tegas.ai/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 16 Sept 26 0
- Endpoint reachability: reachable → behind authorisation ▼ security
- 15 Sept 26 38
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Oct 2026 · Probed https://api.tegas.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=render.tegas.ai | CN=YR1,O=Let's Encrypt,C=US | 14 Sept 2026 | 13 Dec 2026 | RSA 2048 | SHA256-RSA | 601e96d801220435f6bf868ec901fd2d2d5 |
| SANs: api.tegas.ai, docs.tegas.ai, media.tegas.ai, music.tegas.ai, render.tegas.ai, scenario.tegas.ai, subtitles.tegas.ai, video.tegas.ai, voice.tegas.ai | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.tegas.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| tegas.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On connection |
| HTTP status | 401 |
WWW-Authenticate challenge Bearer resource_metadata="https://api.tegas.ai/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://api.tegas.ai/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| www-authenticate | Bearer resource_metadata="https://api.tegas.ai/.well-known/oauth-protected-resource" |
Protected resource metadata
| Document | https://api.tegas.ai/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://api.tegas.ai/mcp |
| Authorisation server | https://api.tegas.ai |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.tegas.ai/mcp | Auth required | 401 | |
| http (plaintext) | http://api.tegas.ai/mcp | HTTPS enforced | 301 | https://api.tegas.ai/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
tegas_account Account and prices ~147
Free. Account overview: token balance, whether a plan is active, rate limits and the current price in tokens per second of video for each quality (480p/720p/1080p). Call this first to know the balance, and before starting a video to compute price = tokens_per_second[quality] * duration_sec. If plan.active is false, POST-type tools (scenario, heroes, video) will fail with no_active_plan: tell the user to activate a plan in the Tegas cabinet. If the balance is lower than a price, the start will fail with insufficient_tokens: tell the user to top up tokens in the cabinet.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
tegas_draw_heroes Draw hero sheets ~242
PAID. Draw hero sheets for the brief items chosen by `index` (from tegas_find_heroes, up to 3). Cost = price_each_tokens x number of items; pass price_each_tokens from tegas_find_heroes to avoid recomputing the brief. With confirm=false (default) nothing is drawn: the tool returns needs_confirmation=true and the price - show it to the user and ask for consent. Only after an explicit "yes" call again with confirm=true. Drawn sheets are attached to the scenario and used automatically by tegas_start_video with the same scenario_id. The result carries idempotency_key: if the call times out or fails with a network error, retry with the same idempotency_key - never start twice without it. On insufficient_tokens ask the user to top up; on no_active_plan ask them to activate a plan in the cabinet.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | – |
| idempotency_key | – | – | – |
| items | array | yes | – |
| price_each_tokens | – | – | – |
| scenario_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_edit_video Edit a finished video ~630
Free (no tokens charged). Edit a finished video in place and rebuild it: this REPLACES the whole video end to end and typically takes a few minutes, the same as the original render - it is not a quick patch. Tell the user what you are about to change before calling this, then poll with tegas_wait_video (or tegas_video_status) after the call; do not call this again for the same video until the rebuild finishes. Pass at least one of the groups below; omit a group entirely to leave it untouched: - scenes: list of {"index": int, "voiceover_text"?: str, "subtitles_text"?: str, "video_url"?: str} - one entry per scene to change, each needs at least one of the three fields. - voice: {"id"?: str, "gender"?: "female"|"male", "language"?: "ru"|"en"|"es"|"fr"|"de"} - changing any of id/gender/language RE-VOICES EVERY SCENE that has voice-over text, not just the ones listed in `scenes`. - subtitles: {"enabled"?: bool, "style"?: "tiktok"|"phrases"|"contrast", "appearance"?: {"alignment"?, "font_size"?, "font_family"?, "text_color"? (hex "#RRGGBB"), "color_saturation"?}} - you cannot disable subtitles and set their style/appearance in the same call, that fails with 422 validation_error; disable them in one call and restyle in a later one. - music: {"enabled"?: bool, "url"?: str} - url must come from tegas_upload_music (or another public https URL). - volumes: {"voice"?: int, "music"?: int, "master"?: int} - each 0..100. - watermark: bool - the Tegas watermark on the finished video. Must be the ONLY change in the call, not combined with scenes/voice/subtitles/music/volumes: the renderer rebuilds the watermark through a separate step, so mixing it with other changes fails with 422 validation_error. Change the watermark in its own call. Returns video_id, status "processing" and edits_accepted - the list of groups that were actually applied (e.g. ["voice", "subtitl…
| Name | Type | Req | Description |
|---|---|---|---|
| music | – | – | – |
| scenes | – | – | – |
| subtitles | – | – | – |
| video_id | string | yes | – |
| voice | – | – | – |
| volumes | – | – | – |
| watermark | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_find_heroes Find recurring heroes ~135
Free (requires an active plan). Brief of recurring characters and the hero product of a scenario: up to 3 items with `index`, kind (character/object), name and an image prompt, plus price_each_tokens - the price of drawing one hero sheet. Hero sheets keep a character consistent across all episodes of the video. style: photorealistic | 3d_cartoon | 2d_animation | anime (omit to follow the scenario). Drawing is a separate paid step: tegas_draw_heroes.
| Name | Type | Req | Description |
|---|---|---|---|
| scenario_id | string | yes | – |
| style | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_list_videos List recent videos ~51
Free. The user's most recent videos (newest first, limit 1..100) with status, file_url, price_tokens, quality and scenario_id.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_start_video Start a video ~383
PAID. Start rendering a video from a Tessa scenario (scenario_id) or your own scenario_text - exactly one of them. Cost = tokens_per_second[quality] x duration_sec (see tegas_account); pass duration_sec returned by tegas_write_scenario so the quote is exact. With confirm=false (default) nothing is started: the tool returns needs_confirmation=true with the price and the balance - show them to the user and ask for consent. Only after an explicit "yes" call again with confirm=true; it then starts the render and returns video_id with status queued plus the idempotency_key used. If the call times out or fails with a network error, retry with the same idempotency_key (it makes the retry free of double charge); never start twice without it. Then call tegas_wait_video. quality 480p | 720p | 1080p; voice - id from tegas_voices (omit for the default); music, subtitles (style tiktok | phrases | contrast); reference_urls - product/character images; watermark - the Tegas watermark on the finished video, omit to keep the account default. Errors: insufficient_tokens -> ask the user to top up in the cabinet; no_active_plan -> ask them to activate a plan; rate_limited with details.active -> wait for a running video to finish.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | – |
| duration_sec | – | – | – |
| idempotency_key | – | – | – |
| music | boolean | – | – |
| quality | string | – | – |
| reference_urls | – | – | – |
| scenario_id | – | – | – |
| scenario_text | – | – | – |
| subtitle_style | string | – | – |
| subtitles | boolean | – | – |
| voice | – | – | – |
| watermark | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_upload_music Upload a music track ~361
Free (requires an active plan). Upload one music track and get a `url` to reuse in tegas_edit_video's `music.url`. Give exactly one of audio_base64 or file_path. audio_base64 - the audio bytes as base64 (a `data:audio/mpeg;base64,...` URL is also accepted); this is the way for any remote agent, because the file never has to be public. file_path - a path on the FILESYSTEM OF THE MCP SERVER, so it only works for local / self-hosted runs where the server and the agent are on the same machine, and only when the server enables it (otherwise the tool answers with code local_files_disabled - then send audio_base64 instead). Formats mp3, wav, m4a, up to 25 MB. Bad input comes back as validation_error with details.reason, before anything is uploaded: one_source_required (gave both or neither), bad_base64, empty, not_audio, too_large; a file_path that cannot be read is file_not_readable, and a server that forbids local files answers with code local_files_disabled. label - a short note (e.g. "background track"), optional, kept to the first 120 characters. Returns music_id, the stored url, the label and expires_at. Pass the returned url in `music.url` of tegas_edit_video (and set `music.enabled` to true if music was off). Errors: no_active_plan -> ask the user to activate a plan in the cabinet.
| Name | Type | Req | Description |
|---|---|---|---|
| audio_base64 | – | – | – |
| file_path | – | – | – |
| label | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_upload_reference Upload a reference image ~419
Free (requires an active plan). Upload one reference image and get a `reference_id` to reuse: a product photo, a character, a brand shot. Give exactly one of image_base64 or file_path. image_base64 - the image bytes as base64 (a `data:image/png;base64,...` URL is also accepted); this is the way for any remote agent, because the image never has to be public. file_path - a path on the FILESYSTEM OF THE MCP SERVER, so it only works for local / self-hosted runs where the server and the agent are on the same machine, and only when the server enables it (otherwise the tool answers with code local_files_disabled - then send image_base64 instead). Formats jpeg, png, webp, heic, up to 10 MB, shorter side at least 360 px, longer at most 4096 px. Bad input comes back as validation_error with details.reason, before anything is uploaded: one_source_required (gave both or neither), bad_base64, empty, not_image, too_small, too_large_dimensions, too_large; a file_path that cannot be read is file_not_readable, and a server that forbids local files answers with code local_files_disabled. label - a short note (e.g. "hero", "product"), optional, kept to the first 120 characters. Returns reference_id, the stored url, the label and a model-written description. The reference expires together with scenarios (the server's scenario TTL, 7 days by default), so upload it again for a later video. Pass the returned reference_id in `reference_urls` of tegas_write_scenario or tegas_start_video - no public link needed. Errors: no_active_plan -> ask the user to activate a plan in the cabinet.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | – | – | – |
| image_base64 | – | – | – |
| label | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_video_status Check video status ~56
Free. Status of one video: queued | processing | completed | failed, progress 0..100, file_url when completed, error when failed (tokens are refunded automatically on failure).
| Name | Type | Req | Description |
|---|---|---|---|
| video_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_voices List voices ~80
Free. List voice-over voices for a language (ru, en, es, fr, de). Each item has an `id` that can be passed as `voice` to tegas_start_video; when `voice` is omitted the default natural voice is used, so calling this is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_wait_video Wait for a video ~93
Free. Wait for a video: polls the status every 10 s until completed (returns file_url), failed (returns error; tokens are refunded) or timeout_sec elapses (returns the last status with timed_out=true - call again to keep waiting). A 20-30 s video usually takes a few minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| timeout_sec | integer | – | – |
| video_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
tegas_write_scenario Write a scenario ~250
Free (requires an active plan). Tessa writes a complete video scenario from an idea in one call, without asking questions. duration_sec 5..60, aspect 9:16 | 16:9 | 1:1. reference_urls: public image URLs of a product/character (or reference_id `ref_...`), optional. Returns scenario_id (valid for a few days), the scenario text, episodes with per-episode durations, warnings and the actual duration_sec (may differ from the requested one). Typical flow: tegas_write_scenario -> (optional) tegas_find_heroes / tegas_draw_heroes -> tegas_start_video with confirm=false to get the price -> user consent -> confirm=true -> tegas_wait_video. Keep the returned duration_sec: pass it to tegas_start_video for the quote. Show the scenario text to the user; call again with a refined idea if they want changes.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect | string | – | – |
| category | – | – | – |
| duration_sec | integer | – | – |
| idea | string | yes | – |
| language | string | – | – |
| reference_urls | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
What is the Tegas AI MCP server?
Tegas AI is an MCP server listed in the public MCP registry as ai.tegas/video. AI video production for marketing and social media: script, scenes, voice-over, subtitles, music. This page covers its hosted endpoint (https://api.tegas.ai/mcp).
Is the Tegas AI MCP server safe to use?
Tegas AI scores 38 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Tegas AI MCP server expose?
Tegas AI exposes 12 tools: tegas_account, tegas_voices, tegas_upload_reference, tegas_upload_music, tegas_write_scenario, and 7 more. Their descriptions and schemas cost roughly 2,847 tokens of context every time the server is loaded.
Does the Tegas AI MCP server require authentication?
Yes. Tegas AI asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Tegas AI MCP server still maintained?
Tegas AI is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.