Skip to content

best-mcp: instructions via initialize, real version, workflow-first nudges - #9

Merged
riccardone merged 1 commit into
mainfrom
mcp-initialize-instructions
Aug 26, 2026
Merged

best-mcp: instructions via initialize, real version, workflow-first nudges#9
riccardone merged 1 commit into
mainfrom
mcp-initialize-instructions

Conversation

@riccardone

Copy link
Copy Markdown
Contributor

Client-side follow-up to the 0.9.4 workflows capability, after a live Copilot retry showed the agent STILL bypassing recipes:

  • Instructions now reach hosts: they were only in a non-standard _meta on tools/list, which Copilot et al. never read. Now in the initialize result''s standard instructions field (the _meta copy remains).
  • Real version in serverInfo: was hardcoded 1.0.0; now read from package.json - "which best-mcp am I running" becomes answerable.
  • Workflow-first nudges in tool descriptions: get_command_catalogue / get_command_schema / get_query_catalogue now name the workflows cross-link and direct the model to read the recipe before hand-assembling multi-step choreography - tool descriptions are the one text every host feeds the model.

Verified over stdio: initialize carries serverInfo + 4.4 KB instructions incl. the workflows-first rule. tsc clean.

Release after merge: LC_ALL=en_US.UTF-8 ./scripts/release-mcp.sh 2.3.1.

🤖 Generated with Claude Code

…ow nudges

A live Copilot retry against a 0.9.4 server showed the agent still going
catalogue -> raw schema without ever consulting workflows, and unable to
say which best-mcp it was running. Root causes, all client-side:

- SERVER_INSTRUCTIONS were only attached as a non-standard `_meta` on
  tools/list, which standard hosts (Copilot, Claude Desktop, Cursor) never
  read. They now ride the initialize result''s `instructions` field - the
  channel hosts actually consume. The `_meta` copy stays for hosts that
  surface it.
- serverInfo.version was hardcoded ''1.0.0''; it now reads the real
  package.json version, so "which version am I running" is answerable.
- The catalogue/schema tool descriptions now name the `workflows`
  cross-link and tell the model to read the recipe (get_workflows with
  workflow_id) before hand-assembling a multi-step sequence - tool
  descriptions being the one text every host feeds the model.

Verified over stdio: initialize carries serverInfo with the package
version and 4.4 KB of instructions including the workflows-first rule.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@riccardone
riccardone merged commit 4b476ed into main Aug 26, 2026
1 check passed
@riccardone
riccardone deleted the mcp-initialize-instructions branch August 26, 2026 13:22
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