Skip to content

[codex] Harden safe registration diagnostics - #1

Merged
sandking merged 1 commit into
mainfrom
codex/safe-registration-hardening
Jun 30, 2026
Merged

[codex] Harden safe registration diagnostics#1
sandking merged 1 commit into
mainfrom
codex/safe-registration-hardening

Conversation

@sandking

Copy link
Copy Markdown
Owner

What

  • Fix safe-core audit semantics for synchronous raw invoker failures so they record RAW_TOOL_FAILED instead of being classified as SAFE_TOOL_FAILED.
  • Move Spring AI raw callback identity reflection into a focused helper with tests for original MCP names, fallback behavior, blanks, and throwing accessors.
  • Split Spring AI boot starter responsibilities by extracting external raw provider diagnostics and safe callback provider assembly helpers.
  • Document the production integration checklist and Spring AI model-facing safe provider wiring guidance.

Why

FastMCP Java is a safe MCP registration/wrapping layer over Spring AI, AgentScope, and the underlying MCP SDKs. The production hardening path should make the safe provider the only model-facing tool path, keep reflection compatibility isolated, and make diagnostics and assembly easier to reason about.

Validation

  • git diff --check
  • mvn -B test with JDK 17.0.18
  • mvn -B -Pexamples test with JDK 17.0.18
  • JAVA_HOME=$(/usr/libexec/java_home -v 11) PATH="$JAVA_HOME/bin:$PATH" mvn -B -pl fastmcp-safe-core,fastmcp-safe-config -am test with JDK 11.0.30

Notes

This PR does not make FastMCP Java implement the MCP protocol itself. The documented production check is about verifying that Spring AI / AgentScope / MCP SDK integrations expose only safe virtual tools to the model.

@sandking
sandking marked this pull request as ready for review June 30, 2026 07:31
@sandking
sandking merged commit f223291 into main Jun 30, 2026
2 checks passed
@sandking
sandking deleted the codex/safe-registration-hardening branch June 30, 2026 08:01
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