feat(mcp): read_note tool + per-param schema descriptions + glama.json (Glama TDQS)#88
Merged
Merged
Conversation
Three additive Glama TDQS drivers (all non-breaking): - read_note(path): fetch a located note's full markdown content, bounded to indexed notes -- index membership is the security boundary, so traversal/absolute/non-note paths return found:false, content:null (no out-of-vault read). Closes the TDQS 'Completeness' gap (no way to read a note's body). - Every MCP tool parameter now carries a schema description via Annotated[..., Field] (was 0% coverage), addressing the TDQS 'Parameters' dimension across all read tools and the gated commit_note write tool. - glama.json (maintainers) for the Glama MCP directory. TDD: new tests for read_note's index-bounded reads and for full param-description coverage; updated tool-set assertions + READ_TOOL_NAMES. Docs (mcp-tools.md) + CHANGELOG synced. Tool-naming consistency intentionally NOT changed -- it would break the published MCP tool contract and the ChatGPT-prefix alias. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Leonard Sellem <leonard@sellem.me>
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.
What
Three additive, non-breaking Glama TDQS drivers (the fourth — tool-naming consistency — was intentionally dropped: it would break the published MCP tool contract and the ChatGPT-prefix
hypermnesic_searchalias):read_note(path)read tool — fetch a located note's full markdown content. Index membership is the security boundary: only committed, in-vault notes are readable, so../traversal, absolute paths, and non-note files (.env,.git/) returnfound: false/content: null— never an out-of-vault read. Closes the TDQS "Completeness" gap (no way to read a note's body).Annotated[..., Field(description=...)](was 0% coverage) — addresses the TDQS "Parameters" dimension across all read tools and the gatedcommit_notewrite tool.glama.json(maintainers) for the Glama directory.No behavior change to existing tools — only added metadata + one new read tool.
Tests / gates
test_read_note_reads_indexed_notes_only(verifies the index-bounded security boundary rejects traversal/absolute/non-note paths) +test_tools_document_their_parameters(every param of every tool, incl.commit_note, carries a description). Updated tool-set assertions +READ_TOOL_NAMES.docs/reference/mcp-tools.md) +CHANGELOG [Unreleased]synced in the same PR.🤖 Generated with Claude Code