Sync MCP tool manifest with hosted server metadata (senderkit-app #156/#168)#41
Merged
Merged
Conversation
Mirror the richer MCP tool descriptions and tightened input fields that senderkit-app's hosted MCP server had been overriding at the app layer, so the canonical @senderkit/sdk manifest (consumed by the CLI-bundled MCP server and CLI --help) stays in lockstep. - Richer channel-led descriptions for send, send_raw, templates_list, templates_get, messages_list, messages_get - messages_list.status is now a strict enum (MESSAGE_STATUSES) matching the API's accepted lifecycle statuses - send.to description covers all four channels - Template slug descriptions note slugs are lowercase
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.
Why
Routine review of
senderkit-appchanges merged tomainsince the last run (PRs #154–#169). Most were internal/UI/onboarding/billing work with no SDK surface. One change deliberately created an app ↔ SDK divergence in the MCP tool surface, and another altered an SDK-facing workflow. This PR brings the canonical@senderkit/sdkMCP manifest — consumed by the CLI-bundled stdio/HTTP MCP server and the CLI's--help— back in lockstep.Affected area 1 — MCP tool metadata (app #156)
app#156 (
feat(mcp): richer tool metadata for directory quality scores) noted that the published manifest ships terse one-line descriptions, and rather than wait on an SDK release, the hosted server overrode them at the app layer, explicitly flagging "A follow-up can mirror this wording into the next SDK release." This PR is that follow-up, so the CLI-bundled server and--helpmatch whatmcp.senderkit.comserves.senderkit_send,senderkit_send_raw,senderkit_templates_list,senderkit_templates_get,senderkit_messages_list,senderkit_messages_getnow lead with the email/SMS/push/web-push channel keywords and describe the use case. Send-tool descriptions stay the base wording — each server still appends its own live/test mode note.senderkit_messages_list.statusis now a strict enum (scheduled, queued, rendered, dispatched, sent, delivered, failed, opted_out, canceled) instead of free text, matching the API, which already rejects unknown statuses with a 400. Exported asMESSAGE_STATUSES. The CLI now validates--statusclient-side and lists the choices in--help.senderkit_send.todescription now covers all four channels (email address / E.164 phone / push device token / web-push PushSubscription).Affected area 2 — template slugs are now lowercase (app #168)
app#168 (
Fix duplicate template slugs (case sensitivity)) canonicalizes template slugs to lowercase on every write path. Read/by-slug lookups stay case-sensitive, so a mixed-case slug passed to send/get won't resolve. Doc-only clarification here (no behavioral change — legacy uppercase slugs are intentionally not force-lowercased client-side):senderkit_send.templateandsenderkit_templates_get.slugdescriptions note slugs are lowercase.Not requiring SDK changes
The remaining merged PRs were assessed as internal/no-impact: billing customer naming (#154), light-mode code colors (#155), dashboard onboarding checklist and its many follow-ups (#157, #159–#167), email preview/test-send editor tab (#158), PHP-SDK quickstart snippets in onboarding (#163, app-rendered docs only), and PostHog identity stitching (#169). (app#170 was closed without merging.)
Verification
pnpm -r typecheck— clean (incl. examples after build)pnpm -r build— cleanCLI ↔ manifest parity(CLI summaries derive from the manifest, so they update in lockstep).senderkit messages list --helprenders the new description and--statuschoices.Changeset included (
@senderkit/sdkminor,@senderkit/clipatch).Generated by Claude Code