set_narrator_voice
Set the project's narrator TTS voice — required before generate_voiceover whenever the script has narration. Browse ids with list_voices. (Character dialogue voices are separate: set_character_voice.)
This record as markdown: /tools/com-framesail-framesail/set-narrator-voice.md
What set_narrator_voice does on Framesail
AI agents use set_narrator_voice to create or update resources in Framesail, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Framesail environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
voice_id | string | Yes | TTS voice ID for the narrator, from list_voices (use the provider matching the project's voice_tts_provider) |
project_id | string | Yes | Project ID, as returned by create_project or list_projects |
Parameters from the server's own tool schema.
Why set_narrator_voice is rated Medium
The tool creates or modifies project metadata (the narrator voice setting) but does not execute the actual voiceover generation (that's handled by generate_voiceover). It is reversible—the voice can be changed again before voiceover is generated. This qualifies as Write rather than Execute because it merely configures a parameter; the actual execution and rendering occurs elsewhere.
From the tool's definition 'Set the project's narrator TTS voice' — modifies project configuration by selecting a voice parameter that will be used in subsequent voiceover generation. This is a reversible modification of project state.
Attacks that exploit this kind of access
The rule that runs set_narrator_voice safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Framesail, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For set_narrator_voice, this is the rule to start with:
set_narrator_voice stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Framesail, apply this rule, and every set_narrator_voice call is checked against it from then on.
Questions about set_narrator_voice
Set the project's narrator TTS voice — required before generate_voiceover whenever the script has narration. Browse ids with list_voices. (Character dialogue voices are separate: set_character_voice.). It is categorised as a Write tool in the Framesail MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
set_narrator_voice accepts 2 parameters: voice_id, project_id. Required: voice_id, project_id. The full parameter table on this page comes from the server's own tool schema.
Register the Framesail MCP server in PolicyLayer and add a rule for set_narrator_voice: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Framesail. Nothing to install.
set_narrator_voice is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the set_narrator_voice rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for set_narrator_voice. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
set_narrator_voice is provided by the Framesail MCP server (https://api.framesail.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Framesail, and thousands of servers like it.
This server
Across the catalogue