Skip to content

fix: date filter and status defaults for v1.6.2 - #12

Merged
drewburchfield merged 3 commits into
mainfrom
dev
Feb 13, 2026
Merged

fix: date filter and status defaults for v1.6.2#12
drewburchfield merged 3 commits into
mainfrom
dev

Conversation

@drewburchfield

@drewburchfield drewburchfield commented Feb 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix createdAfter/modifiedSince mismatch: Replace modifiedSince API param with createdAt query syntax across 4 tools (searchConversations, comprehensiveConversationSearch, advancedConversationSearch, structuredConversationFilter). Help Scout's modifiedSince filters by last modification date, not creation date, causing silent 0-result returns.
  • Fix advancedConversationSearch default status: Now sends status=all instead of omitting the param (API defaults to active-only when omitted)
  • Fix structuredConversationFilter status handling: Now sends status=all for ticket number lookups so closed/pending tickets are found
  • Add appendCreatedAtFilter helper: Shared method for consistent date range filtering via query syntax

Test plan

  • All 239 tests pass (3 skipped)
  • Type-check clean
  • Lint clean
  • Live API dogfood: all 8 MCP tools verified against Help Scout API
  • Programmatic verification of appendCreatedAtFilter helper
  • Confirmed comprehensiveConversationSearch finds results with createdAfter (was 0 on v1.6.1)
  • Confirmed advancedConversationSearch returns closed conversations by default (was 0 on v1.6.1)
  • Confirmed structuredConversationFilter finds closed ticket by number (was 0 on v1.6.1)

- Update package.json version
- Update Dockerfile version label
- Update MCP server version in source code
- Update mcp.json version
- Update MCPB manifest version
- Automated version bump for release
- Replace modifiedSince with createdAt query syntax for accurate creation date filtering
- Add appendCreatedAtFilter helper to consistently apply date ranges via query syntax
- Fix advancedConversationSearch to default to status=all instead of omitting param
- Fix structuredConversationFilter to send status=all for ticket number lookups
- Update integration tests to match new query format

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

View 5 additional findings in Devin Review.

Open in Devin Review

Comment thread src/tools/index.ts Outdated
- Validate ISO 8601 format in appendCreatedAtFilter to prevent query injection
- Strip milliseconds to match Help Scout expectations
- Remove explicit undefined args and duplicate comments at all call sites
- Standardize status default expression to input.status || 'all'
- Fix version assertion in index.test.ts for v1.6.2
@drewburchfield
drewburchfield merged commit 0e76bf2 into main Feb 13, 2026
8 checks passed
mkeizer added a commit to mkeizer/help-scout-mcp-server that referenced this pull request May 5, 2026
…playbook

Core rule added after test-lab matrix on ticket 1288666 (21:20): all 3
models (Haiku/Sonnet/Opus) failed the evening closing — Haiku+Opus used
"Fijne dag!" past 18:00, Sonnet used "Goedenavond!" as farewell (that's
a greeting). New Step 0 anti-pattern drewburchfield#12/#13 + expanded closing rules
in both triage.md and the antipatterns-top overlay.

Also lands: ssh-access.md rewrite (gateway first, direct SSH as rare
escape hatch), refined dry-run SSH hook (matches command invocation,
not text mentions), matrix-report.md (10-run analysis), extra configs
for the antipatterns-top matrix.

Co-Authored-By: Claude Opus 4.7 (1M context) <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.

1 participant