Bump to 0.2.0 to unblock republishing to npm (fixes #31) - #32
Open
benmont wants to merge 1 commit into
Open
Conversation
The npm-published 0.1.2 package still ships the old mcp-framework-based implementation, which returns invalid MCP content blocks (type: "error") on tool failures and misreports optional boolean fields as strings in generated input schemas. Both of these are already fixed on main via the migration to @modelcontextprotocol/sdk (PR calebl#15), but main was never republished under a new version, so npm and GitHub have diverged since April 2025. This bumps package.json/index.ts to 0.2.0, rebuilds dist/, and adds a CHANGELOG entry summarizing everything that shipped since 0.1.2 so this is ready to `npm publish`.
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.
Summary
Fixes #31.
The npm-published
0.1.2package predates this project's migration offmcp-framework(#15) and still ships that older implementation, even thoughmainmoved on some time ago. As a result, npm and GitHub have quietly diverged since April 2025 — anyone installing vianpx ynab-mcp-servergets the old, buggy build whilemainalready contains the fix.Concretely, the old
mcp-framework-based build has two bugs that are already fixed onmainby virtue of the SDK migration, but were never shipped:mcp-framework'sBaseTool.createErrorResponsereturns{ content: [{ type: "error", text: ... }] }."error"isn't a valid MCP content block type (valid types aretext,image,audio,resource_link,resource), so MCP clients reject these responses with a schema validation error instead of showing the real failure message. For a mutating tool likecreate_transaction, this means a client can't tell whether the call actually succeeded or failed without independently re-checking state.main's tools already returntype: "text"with a JSON{ success, error }payload via the sharedgetErrorMessagehelper, so this is fixed — just not released.mcp-framework'sgetJsonSchemaTypedoesn't unwrapZodOptional, so fields likecleared/approvedoncreate_transactionare reported to callers astype: "string"even though the validator requires real booleans. This is moot onmainsince tool schemas are now passed straight through to@modelcontextprotocol/sdk.This PR doesn't change any tool logic — it:
package.json/src/index.tsversion from0.1.2to0.2.0dist/from currentmainsourceCHANGELOG.mdentry summarizing everything that's shipped since0.1.2(SDK migration, tool renaming withynab_prefix, new tools, consistent error handling), so this is ready fornpm publishTest plan
npm run buildsucceedsnpm test— 169/169 tests passnpm publishafter merge so the fix actually reaches users