Skip to content

feat: Add tool annotations for improved LLM tool understanding#2

Open
bryankthompson wants to merge 1 commit intoxuanxt:mainfrom
bryankthompson:feat/add-tool-annotations
Open

feat: Add tool annotations for improved LLM tool understanding#2
bryankthompson wants to merge 1 commit intoxuanxt:mainfrom
bryankthompson:feat/add-tool-annotations

Conversation

@bryankthompson
Copy link
Copy Markdown

Summary

Adds MCP tool annotations (readOnlyHint, destructiveHint) to all 51 tools to help LLMs better understand tool behavior and make safer decisions about tool execution.

Changes

  • Added readOnlyHint: true to 26 read-only tools (queries, fetches, searches)
  • Added destructiveHint: true to 25 tools that create/update/delete data
  • Added title annotations for human-readable display

Tool Breakdown

Category Read-Only Destructive Total
Confluence 8 5 13
Jira 18 20 38
Total 26 25 51

Why This Matters

  • Annotations provide semantic metadata that helps LLMs understand tool behavior
  • readOnlyHint tells the LLM a tool is safe to call without side effects
  • destructiveHint signals the LLM should be more careful before executing
  • title provides a human-readable name for better context

Testing

  • Server builds successfully (npm run build)
  • TypeScript compilation passes with no errors
  • All 51 tools have annotations added

Before/After

Before:

{
  name: "jira_get_issue",
  description: "Get detailed information about a single Jira issue...",
  inputSchema: { ... }
  // No annotations
}

After:

{
  name: "jira_get_issue",
  description: "Get detailed information about a single Jira issue...",
  inputSchema: { ... },
  annotations: {
    title: "Get Issue",
    readOnlyHint: true
  }
}

🤖 Generated with Claude Code

Add readOnlyHint and destructiveHint annotations to all 51 tools
to help LLMs better understand tool behavior and make safer decisions.

Changes:
- Added readOnlyHint: true to 26 read-only tools (queries, fetches)
- Added destructiveHint: true to 25 tools that modify data
- Added title annotations for human-readable display

Tool breakdown:
- Confluence: 13 tools (8 read-only, 5 destructive)
- Jira: 38 tools (18 read-only, 20 destructive)

This improves tool safety metadata for MCP clients.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
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