{{ message }}
fix: Add explicit type annotations to MCP tool parameters - #394
Merged
Conversation
Fixes #393 - Add TagType annotation to write_note.tags parameter - Replace StringOrInt type alias with inline union type in build_context.depth - Ensures MCP protocol compatibility with clients that require explicit types MCP clients like qwen code were skipping these tools due to missing or non-serializable type information in parameter schemas. All MCP tool parameters must have explicit, JSON-serializable type annotations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Paul Hernandez <phernandez@users.noreply.github.com>
Contributor
Pyright doesn't allow type alias variables in function signatures. Changed tags: TagType to tags: list[str] | str | None to match the pattern used in build_context.py. Fixes type checking errors across all platforms. Signed-off-by: phernandez <paul@basicmachines.co>
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
Fixes #393
This PR adds explicit type annotations to MCP tool parameters that were causing tools to be skipped by MCP clients like
qwen code.Changes
TagTypeannotation towrite_note.tagsparameterStringOrInttype alias with inline union type inbuild_context.depthRoot Cause
MCP clients require all tool parameters to have explicit, JSON-serializable type annotations. The issues were:
write_note: Thetagsparameter had no type annotation (tags=None)build_context: Used Python 3.12+ type alias (type StringOrInt = str | int) which doesn't serialize to JSON schemaTesting
qwen codeCLIGenerated with Claude Code