Conversation
…estone Milestone.user_stories is always fully expanded by python-taiga's parser, making the embedded field potentially large. Add include_user_stories (default True, preserving current output) to both tools so callers can opt into a trimmed response with that key stripped. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…tests Minor code-review follow-ups: replace the Any -> Any signature with the actual dict[str, Any] | list[dict[str, Any]] shape it's always called with, and add unit tests exercising the helper directly (dict, list, and no-op-when-absent cases) rather than only through list_milestones/ get_milestone. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…es toggle Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## issue/mcp-optional-project-param #275 +/- ##
====================================================================
+ Coverage 97.68% 97.69% +0.01%
====================================================================
Files 12 12
Lines 1340 1346 +6
Branches 94 95 +1
====================================================================
+ Hits 1309 1315 +6
Misses 20 20
Partials 11 11
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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
Adds an
include_user_storiesoption (defaultTrue) to the MCP server'slist_milestonesandget_milestonetools.Milestone.user_storiesis alwaysfully expanded by python-taiga's parser into complete
UserStoryobjects, whichthe MCP server's
to_jsonable()then serializes in full — making the embeddedfield potentially large. Passing
include_user_stories=Falsestrips that keyfrom each returned milestone via a new
_strip_user_stories()helper. Defaultbehavior (and output shape) is unchanged for existing callers.
Also updates
docs/mcp.rstto document the new flag.Builds on
issue/mcp-optional-project-param(project-parameter optionality fixfor
list_milestones/list_wiki_pages) — this PR is stacked on that branch.References
No linked issue (minor/internal MCP server improvement).
Checklist
inv lintchangesfile included — skipped: no GitHub issue number exists for this minor change, andchanges/<issue>.<type>fragment names must reference one per CONTRIBUTING.rstAI usage
Model: Claude Sonnet 5 (Claude Code), via the
/nephila-flowcompany lifecycle command.Scope: Full implementation — design discussion (bounded-path brainstorming),
TDD implementation, an independent code-review subagent pass, documentation sync,
and a rubric-scored evaluation (94%,
artifacts/evaluations/2026-09-14-mcp-milestone-user-stories-toggle.md).Prompts (faithful summary): "add to taiga.mcp_server.server.list_milestones
the option to return the full taiga response for the given endpoint or to remove
user_stories attribute from returned data" — refined through clarifying questions
into the
include_user_storiestoggle described above, then implemented andreviewed per the standard flow, with the human author approving the design, the
branch, each commit, and the push at every gate.
Agent usage