Skip to content

fix(mcp): openWorldHint false for read-only and closed-workflow tools - #663

Merged
pcfreak30 merged 1 commit into
developfrom
fix/mcp-open-world-hints
Sep 1, 2026
Merged

fix(mcp): openWorldHint false for read-only and closed-workflow tools#663
pcfreak30 merged 1 commit into
developfrom
fix/mcp-open-world-hints

Conversation

@pcfreak30

@pcfreak30 pcfreak30 commented Sep 1, 2026

Copy link
Copy Markdown
Member

Derives the compiled-catalog openWorldHint from catalog.Safety instead of hardcoding true, so read-only tools declare openWorldHint=false alongside readOnlyHint=true, as directory validators require.

Sets download_file and vault_get_file to openWorldHint=false (closed workflows that pull content to a local sink and publish nothing); auth_status keeps its platform-required non-read, destructive, open-world override.


This pull request fixes the openWorldHint classification for MCP tools to align with the Claude/MCP directory validator requirements. The key changes are:

  1. Read-only tools now correctly report openWorldHint: false: Previously, all compiled MCP tools defaulted to openWorldHint: true regardless of their safety classification. Now, read-only operations (like pins_list) correctly set openWorldHint to false, since reads don't change external state. This also prevents conflicts with the readOnlyHint=true designation, as directory validators reject tools that are both read-only and open-world.

  2. Closed-workflow tools properly flagged: Tools like "Download IPFS content to a file" and "Download a file from the Pinner vault" now correctly report openWorldHint: false. While they fetch content from external networks (IPFS/Sia), they represent closed workflows that pull data into local storage without publishing anything to the public internet.

  3. auth_status override expanded: The special override for auth_status now includes an explicit openWorld: true flag, reflecting that this tool can trigger out-of-band SSO sign-in communication (emailed verification links) that cannot be undone.

These changes ensure the tool hints accurately represent each tool's actual behavior on the internet, improving compliance with platform requirements for the Claude/MCP directory.

Directory validators require reads (readOnlyHint=true) to declare
openWorldHint=false, and closed private workflows (download to local
storage) likewise. Derive the compiled-catalog open-world hint from
Safety instead of hardcoding true; auth_status keeps its
platform-required open-world override.
@kody-ai

kody-ai Bot commented Sep 1, 2026

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug
Performance
Security
Business Logic

Access your configuration settings here.

Comment thread internal/mcp/catalogsurface.go
Comment thread internal/mcp/core/transfer/download_file.go
Comment thread internal/mcp/vault/vault_get_file.go
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Code Coverage Report

Total Coverage: 50.1%

Generated from commit: c22416b
Repository: LumeWeb/pinner-cli

@pcfreak30
pcfreak30 marked this pull request as ready for review September 1, 2026 22:32
@pcfreak30
pcfreak30 merged commit 64aa726 into develop Sep 1, 2026
13 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