DRAFT: wire tool annotations + structured output (needs upstream MCP.jl release)#13
Draft
samtalki wants to merge 1 commit into
Draft
DRAFT: wire tool annotations + structured output (needs upstream MCP.jl release)#13samtalki wants to merge 1 commit into
samtalki wants to merge 1 commit into
Conversation
6a64bf3 to
018fb7d
Compare
Rebased onto main (post-review). Uses the forked ModelContextProtocol.jl features so Claude Code gets behavioral hints and machine-readable tool results. - annotations on all eight tools: info -> readOnly+idempotent; reset/pkg/session -> destructive; eval -> destructive+openWorld; activate/revise -> idempotent. - output_schema + structured_content on info and session(list) as exemplars. - E2E assertions for annotations, outputSchema, structuredContent. DRAFT, not mergeable: Project.toml [sources] pins ModelContextProtocol to the fork branch (feat/structured-output, v0.5.0), [compat] widened to "0.4, 0.5". When the upstream PRs land in a release, drop [sources] and restore a normal [compat] bound. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
018fb7d to
74c25d3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft — do not merge yet. Depends on two unreleased ModelContextProtocol.jl features (tool annotations + structured output). Stacked on #12.
What this shows
With the framework features available, AgentREPL's tools gain:
info→readOnlyHint+idempotentHint;reset/pkg/session→destructiveHint;eval→destructiveHint+openWorldHint;activate/revise→idempotentHint. Lets Claude Code reason about side effects / auto-approval.infoandsession(list)—outputSchemaon the tool +structuredContentin the result, so the client gets machine-readable data instead of scraping text. Freeform tools (eval) stay text-only.Verified live over raw JSON-RPC: every tool carries
annotations;info/sessioncarryoutputSchema;inforeturnsstructuredContent(session,julia_version,worker_pid,variables, …).Why it can't merge
Project.toml[sources]pinsModelContextProtocolto the fork branchfeat/structured-output(v0.5.0) and[compat]is widened to"0.4, 0.5". That pin must not reachmain.Unblock: when the upstream PRs land in a release, drop the
[sources]block and set a normal[compat]bound. Upstream changes live onsamtalki/ModelContextProtocol.jlbranchesfeat/tool-annotationsandfeat/structured-output(not yet proposed to JuliaSMLM).🤖 Generated with Claude Code