Skip to content

add tools | #3589#3589

Merged
olaservo merged 1 commit intomodelcontextprotocol:mainfrom
SupunGeethanjana:task/3573
Mar 15, 2026
Merged

add tools | #3589#3589
olaservo merged 1 commit intomodelcontextprotocol:mainfrom
SupunGeethanjana:task/3573

Conversation

@SupunGeethanjana
Copy link
Contributor

@SupunGeethanjana SupunGeethanjana commented Mar 15, 2026

Description

Publishing Your Server

Note: We are no longer accepting PRs to add servers to the README. Instead, please publish your server to the MCP Server Registry to make it discoverable to the MCP ecosystem.

To publish your server, follow the quickstart guide. You can browse published servers at https://registry.modelcontextprotocol.io/.

Server Details

  • Server:
  • Changes to:

Motivation and Context

Issue Number: #3589

How Has This Been Tested?

Breaking Changes

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

@SupunGeethanjana SupunGeethanjana changed the title add tools | 3573 add tools | #3573 Mar 15, 2026
@SupunGeethanjana SupunGeethanjana changed the title add tools | #3573 add tools | #3589 Mar 15, 2026
@SupunGeethanjana
Copy link
Contributor Author

fixed #3573

Copy link
Member

@olaservo olaservo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All 12 git tool annotations are semantically correct:

Read-only tools (status, diff_unstaged, diff_staged, diff, log, show, branch): All correctly marked readOnlyHint=True, openWorldHint=False. These are pure git query operations with no side effects.

Write tools (add, commit, create_branch, checkout): Correctly marked readOnlyHint=False. Notable details:

  • git_add: idempotentHint=True — staging the same file twice is a no-op. Correct.
  • git_commit: idempotentHint=False — each call creates a new commit. Correct.
  • git_reset: destructiveHint=True, idempotentHint=True — unstages all changes (destructive), but resetting a clean index is a no-op (idempotent). Correct.

Minor note: the PR body references #3589 (itself) instead of #3573 in the issue field, and is marked as "Bug fix" rather than "New feature". No code impact.

LGTM — thanks @SupunGeethanjana!


Reviewed with the assistance of Claude Code (claude-opus-4-6). Annotation semantics verified against git server implementation and MCP specification.

@olaservo olaservo merged commit c7e0c7e into modelcontextprotocol:main Mar 15, 2026
31 of 37 checks passed
nielskaspers pushed a commit to nielskaspers/servers that referenced this pull request Mar 15, 2026
feat(git): add tool annotations

Adds MCP ToolAnnotations to all 12 git server tools, marking read-only operations (status, diff, log, show, branch) and distinguishing destructive (reset) from non-destructive write operations (add, commit, create_branch, checkout).

Fixes modelcontextprotocol#3573
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.

2 participants