Skip to content

feat!: move the skills to MCP v3 tool names and release 1.0.0 - #11

Merged
z4o4z merged 7 commits into
mainfrom
evgeny/mcp-v3-names
Nov 12, 2026
Merged

z4o4z merged 7 commits into
mainfrom
evgeny/mcp-v3-names

Conversation

@z4o4z

@z4o4z z4o4z commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Summary

The Voiceflow account MCP now serves v3 by default: one tool per operation, named vf_<group>_<operation>. Version 0.5.0 kept the skills working by pinning the server URL to ?version=2. This release moves every skill to the v3 names and pins the URL to ?version=3, so each plugin release pairs with one MCP server version and a later server default does not break it. It also brings the skills up to date with the Creator skill library, with one new skill. This is a breaking change, so the plugin goes to 1.0.0.

What changed

  • Every voiceflow_<group>.<operation> name in the skills, references and request examples is now the v3 tool name, such as vf_agent_get. Request examples drop the grouped-tool wrapper: path and query fields sit at the top level, and the write body goes in body.
  • The account MCP URL is https://mcp.voiceflow.com/mcp?version=3. Setup repairs a saved connection with no version or another version. A later plugin release moves the pin when a new MCP version ships.
  • scripts/validate.py accepts a vf_* name only when v3 serves it: an operation in the surface snapshot that the MCP does not always refuse, or one of vf_get_started, vf_skill_list, vf_skill_load and vf_describe_operations. It refuses other vf_* names and the old voiceflow_<group> names.
  • The plugin version is 1.0.0 in every manifest, with a CHANGELOG entry and a migration note.
  • docs/creator-sync.json still records the earlier synced revision, on purpose. The next weekly sync plans these changes again, finds them already ported, and ports the operations below once the snapshot lists them.
Skill Change
Optimize playbooks New: condense long instructions in one whole replace, or move a job out of the main agent's instructions, with tests before and after.
Build A workflow tool sits on the main agent, and every playbook can call it. A project with no Initialization setting refuses the set.
Workflows A new workflow needs a main-agent route only when the main agent should route to it.
Messages A playbook's exit paths also hold message IDs.
Prompting Points long instructions to the new skill.
Transcripts Pick the transcript view: summary first, formatted for a few, never logs.
Debug Bulk analysis uses the transcript views, and vf_evaluation_run scores one transcript per call. A call that does not end checks endTool.
Environments Unchanged: the change needs an operation listed below.
Evaluations Names only.
Functions Names only.
Knowledge Names only.
Wiring Names only.

Not ported

These operations ship with the same server release, but the pinned surface snapshot (CLI v0.303.0) does not list them, so the reference checks refuse their names. The skills keep their earlier guidance for these steps. The weekly sync ports them after the snapshot moves to the CLI release that has them.

  • Transcript grep: search the dialogue of many transcripts at once.
  • Environment audit_wiring: list every wiring gap in one call.
  • Environment diff: what a publish will promote, and whether Main has unpublished changes before a clone.
  • Function check: run a function's test cases in one call.
  • Test wait_runs: wait for test runs with a bounded timeout.
  • Evaluation queue_runs: queue many evaluations against many transcripts.
  • Playbook duplicate: needed to split one playbook into two, so that split is not offered yet.
  • Tool move: needed to move a tool from the main agent to a new playbook, so a split keeps the tools on the main agent.
  • Coach: it runs only inside a scheduled in-app review routine.

Testing

  • validate.py, the unit tests (102 run, 1 skipped) and build.py pass. The sync's own checks pass: the leak scan, the reference check, and the check that every planned skill is named here.

  • New unit tests cover served, unserved and always-refused vf_* names, and old voiceflow_<group> names.

  • New acceptance cases: playbook-condense, workflow-tool-main-agent, transcript-read-view and setup-mcp-version-pin. message-delete-owners now covers playbook exit paths. None has been run with a model yet.

  • Product facts were checked against the operations' schemas. The text is saved, not runtime-verified.

  • Not run: verify_cli.py and scan_secrets.py (no pinned vf or Gitleaks on this machine), live MCP or CLI acceptance, model evaluations.

  • The new skill says a turn of the running agent allows at most 10 model calls. That line comes from the source skill text and was not checked against the runtime.

Merge after

The Voiceflow MCP server release that serves v3 by default is live. Before that, the skills name tools the server does not serve by default.

🤖 Generated with Claude Code

z4o4z and others added 4 commits November 10, 2026 15:22
The account MCP now serves one tool per operation, named
vf_<group>_<operation>. The reference check derives those names from the
surface snapshot, plus the four v3 meta tools. It accepts a vf_* name only
when v3 serves it, and refuses an operation the MCP always refuses, as the
creator skill sync's leak check does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The account MCP serves v3 by default, with one tool per operation named
vf_<group>_<operation>. Every voiceflow_<group>.<operation> name in the
skills, references and request examples now uses the v3 name, and the
request examples drop the grouped-tool wrapper.

Port the Creator skill library changes up to the MCP v3 release:
- add voiceflow-optimize-playbooks: condense long instructions, or move a
  job out of the main agent's instructions, with tests before and after;
- a workflow tool sits on the main agent and every playbook can call it;
- a new workflow needs a main-agent route only when the main agent routes
  to it;
- playbook exit paths hold message IDs too;
- read transcripts with the summary view first and never the logs view;
- vf_evaluation_run scores one evaluation against one transcript per call;
- a call that does not end checks endTool.

Operations newer than the pinned surface snapshot are not named yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MCP v3 does not serve voiceflow_<group>.<operation> names, and the skills
no longer use them. The reference check now refuses them and names the v3
tool to write instead. CONTRIBUTING describes the v3 naming.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The skills now name the MCP v3 tools, so the account MCP URL goes back to
https://mcp.voiceflow.com/mcp, which serves v3 by default. Setup repairs a
saved connection that still pins version=2, and the chat evaluation
harness uses the plain URL and a v3 tool name.

BREAKING CHANGE: the skills name vf_<group>_<operation> tools and need the
Voiceflow MCP server release that serves v3 by default. Bump the plugin to
1.0.0 in every manifest, with a CHANGELOG entry and a migration note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@z4o4z
z4o4z marked this pull request as ready for review November 11, 2026 16:37
@z4o4z
z4o4z requested a review from Bradenream as a code owner November 11, 2026 16:37
The vf_ token pattern needed a letter right after vf_, so a glob such as vf_*_nonexistent was never
read and passed the reference check. It now uses the same pattern as the sync's translator, so a
leading-wildcard glob passes only when it matches a tool MCP v3 serves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
z4o4z and others added 2 commits November 12, 2026 13:40
Each plugin release now pairs with one MCP server version, so the server default can move to a
later version without breaking installed plugins. Setup repairs a saved connection with no version or
another version, and a new eval case covers the unversioned URL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A version heading is now just its number. prepare_release.py accepts a heading with or without a
suffix after an em-dash, so releasing 1.0.0 still finds its notes. A new test checks a bare heading
gives the notes and stops at the next version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

z4o4z commented Nov 12, 2026 •

Copy link
Copy Markdown
Member Author

Merge activity

  • Nov 12, 12:47 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Nov 12, 12:47 PM UTC: @z4o4z merged this pull request with Graphite.

@z4o4z
z4o4z merged commit b0adc80 into main Nov 12, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant