feat(mcp): say what this deployment is on its own handshake #863
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!863
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/bk79-own-instructions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #647. The producing side of the same gap #862 opened the consuming side of.
The gap
Echo serves its own turn as an MCP tool and published no
Instructions. A client holding several servers sees a tool calledturnsitting beside data lookups, with nothing saying it is an agent rather than a lookup.Built from the definition, not fixed
Echo and Deep are one binary with different definitions, so a constant would publish the same sentence for both and distinguish nothing - which is exactly the failure I found in mcp-beaver while checking this. A test asserts the two differ.
It names the things a client gets wrong otherwise: it answers in prose rather than records, it may decline, and it is not a passthrough to the underlying model.
One thing I checked rather than assumed
The options pointer was
niland is now&mcp.ServerOptions{Instructions: ...}.NewServerdereferences a nil pointer into a zero-valueServerOptions, so setting onlyInstructionsleaves capabilities and every other field exactly as before. Verified in the SDK source, because mcp-beaver carries a comment about nil-versus-empty options changing the advertised capabilities and I did not want to trip the same wire.Verification
just gatePASS on all six steps. Four tests: the deployment is named, two deployments differ, an empty identity still yields a whole sentence, and the text stays short enough to be carried on every turn by a consumer that inlines it.