Skip to content

test(everything): cover tool annotations during registration#4529

Open
jw-ond wants to merge 1 commit into
modelcontextprotocol:mainfrom
jw-ond:codex/everything-tool-annotation-regression-tests
Open

test(everything): cover tool annotations during registration#4529
jw-ond wants to merge 1 commit into
modelcontextprotocol:mainfrom
jw-ond:codex/everything-tool-annotation-regression-tests

Conversation

@jw-ond

@jw-ond jw-ond commented Jul 14, 2026

Copy link
Copy Markdown

Description

Adds regression coverage for tool annotations in the Everything reference server registration tests.

The Everything server already demonstrates readOnlyHint, destructiveHint, idempotentHint, and openWorldHint across its tools. This change makes that contract explicit in tests so future tool additions or refactors do not accidentally drop those annotations from standard, conditional, or task-based tool registrations.

Publishing Your Server

Not applicable. This modifies an existing reference server test.

Server Details

  • Server: Everything
  • Changes to: tests

Motivation and Context

Tool annotations are an important part of how MCP clients can reason about tool behavior before invocation. The Everything server is a reference implementation, so keeping annotation coverage explicit helps it remain a reliable example for client and server implementers.

How Has This Been Tested?

  • npm test --workspace @modelcontextprotocol/server-everything -- __tests__/registrations.test.ts
  • npm test --workspace @modelcontextprotocol/server-everything
  • npm run build --workspace @modelcontextprotocol/server-everything
  • git diff --check

Breaking Changes

None.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Protocol Documentation
  • My changes follows MCP security best practices
  • I have updated the server's README accordingly
  • I have tested this with an LLM client
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have documented all environment variables and configuration options

Additional context

No runtime behavior changes. This only adds regression assertions around existing registration metadata.

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