Releases: SynderAccounting/gl-importer-plugin
Release list
v0.1.5 — verb_noun naming + optional config knobs
What's in
- Tool naming: all 19 tools renamed to verb_noun MCP convention.
account_get → get_account,companies_list → list_companies, etc.
Full rename list in the commit body. - Optional config (×3):
importer_request_timeout_ms(default 30000),
importer_log_level(default "info"),importer_max_retries(default 2). - Real wiring — the new env vars do real work:
- Timeout via AbortController on every fetch.
- Log level gates
process.stderrwrites byerror|warn|info|debug. - Max retries overrides the client's 429 attempt cap.
- New
TIMEOUTErrorCode so users see a specific code when an AbortController fires.
Breaking
Pre-1.0 rename: any caller hard-coding old tool names (account_get,
mapping_create, etc.) needs to switch to the new verb_noun names. MCP hosts
that use tools/list discovery (Claude Desktop, Cursor, Smithery toolbox)
auto-rebind.
Why
Targets the last 17pt in the Smithery quality rubric (Naming -4.44pt,
Optional config -15pt). Should land us at ~100/100; if Optional-config
hypothesis is wrong we still bank the +4.44 naming bump.
Re-publish to Smithery
curl -L -o /tmp/gl-importer-mcp-0.1.5.mcpb https://github.com/SynderAccounting/gl-importer-plugin/releases/download/v0.1.5/gl-importer-mcp-0.1.5.mcpb && smithery mcp publish /tmp/gl-importer-mcp-0.1.5.mcpb -n michael-012x/gl-importer-mcpv0.1.4 — Output schemas + tool annotations (Smithery score)
What's in
outputSchemaper tool — every one of the 19 tools now declares the JSON shape of its successful response (top-level fields, types, descriptions, required keys). Source:src/tools/*.tscarries the shared shape objects (IMPORT_OBJECT_SHAPE,MAPPING_OUTPUT_SHAPE,IMPORT_RESULT_ROW_SHAPE) so the runtime server card matches the static manifest.- MCP standard
annotationsper tool —readOnlyHint,destructiveHint,idempotentHint,openWorldHint. Highlights:- read-only:
account_get,companies_list,settings_get,entities_list,fields_get,mappings_list,imports_list,import_status,import_results,import_wait - destructive:
mapping_delete,import_cancel,import_revert - idempotent (safe to retry):
settings_update,mapping_update,mapping_delete,import_cancel,import_revert - openWorld: all (we call out to QBO/Xero)
- read-only:
- Wiring:
tools/listJSON-RPC now includesoutputSchema+annotationswhen present, matching what's inmcpb/manifest.json.
Why
Smithery's quality score detail showed:
- Capability Quality 22/40 — Output schemas 0/19 (-10.37pt), Annotations 0/19 (-5.93pt)
This release targets +16.30pt → ~51/100 once redeployed.
Compatibility
No breaking changes. Tool names, input schemas, and handlers all preserved. New fields are additive.
Tests
61/61 passing (no test changes needed).
Re-publish to Smithery
curl -L -o /tmp/gl-importer-mcp-0.1.4.mcpb https://github.com/SynderAccounting/gl-importer-plugin/releases/download/v0.1.4/gl-importer-mcp-0.1.4.mcpb && smithery mcp publish /tmp/gl-importer-mcp-0.1.4.mcpb -n michael-012x/gl-importer-mcpv0.1.3 — Smithery API fix (inputSchema per tool)
What's in
mcpb/manifest.json: each of the 19 tools now carriesinputSchema(the standard MCPToolshape Smithery's deploy API requires).mcpb/build.sh: packs the bundle with rawzipinstead ofnpx @anthropic-ai/mcpb pack. Bypasses MCPB v0.3/v0.4's strictMcpbManifestToolSchema = z.strictObject({name, description})so the richer per-tool shape survives the bundle.
Why
v0.1.2 publish to Smithery returned 400 Invalid input: expected object, received undefined once per tool. Smithery's CLI forwards manifest.tools straight to its server-card API; the API expects standard MCP Tool objects with inputSchema. MCPB's strict packer wouldn't let us include it, so we removed Anthropic's packer from the build path. Smithery and Claude Desktop both just JSON.parse the manifest from inside the zip — no client-side validation depends on MCPB's strict shape.
Compatibility
- Claude Desktop one-click install — still works (Anthropic's
@anthropic-ai/mcpbconsumer also just reads the manifest at install time). - Smithery stdio bundle deploy — fixes the 400.
- npm
@cloudbusiness/gl-importer-mcp— unchanged; this release affects bundle packaging only.
Re-publish to Smithery
curl -L -o /tmp/gl-importer-mcp-0.1.3.mcpb https://github.com/SynderAccounting/gl-importer-plugin/releases/download/v0.1.3/gl-importer-mcp-0.1.3.mcpb && smithery mcp publish /tmp/gl-importer-mcp-0.1.3.mcpb -n michael-012x/gl-importer-mcpv0.1.2 — Smithery score boost: 19 tools declared in MCPB manifest
What's new
Adds the full 19-tool inventory to the MCPB manifest so marketplaces (Smithery, Glama) can show tool names + descriptions without having to scan the running server.
Why
Smithery's getBundleDeployPayload reads tools, prompts, resources, and user_config directly from the manifest. Without static tools, Smithery falls back to a runtime MCP connection — which fails for stdio servers that need an API token, and tanks the listing quality score.
Format note
MCPB v0.3/v0.4 strict schema only allows {name, description} per tool, so inputSchema lives only in the server code. MCP clients discover full input schemas via the standard tools/list RPC at runtime — no functional change.
Install (Claude Desktop)
Download gl-importer-mcp-0.1.2.mcpb below and double-click. Enter your Importer API token when prompted.
Smithery re-publish (one-liner)
```bash
curl -L -o /tmp/gl-importer-mcp-0.1.2.mcpb https://github.com/SynderAccounting/gl-importer-plugin/releases/download/v0.1.2/gl-importer-mcp-0.1.2.mcpb && smithery mcp publish /tmp/gl-importer-mcp-0.1.2.mcpb -n michael-012x/gl-importer-mcp
```
🤖 Generated with Claude Code
v0.1.1 — gl-importer MCP
First MCPB-bundled release of the Synder gl-importer MCP server.
Install in Claude Desktop (one click)
Download gl-importer-mcp-0.1.1.mcpb below and double-click it. Claude Desktop will prompt for your Synder Importer API token (generate at importer.synder.com → Account → API Keys), then the server is live with all 19 tools.
Install via npm / npx
npx -y @cloudbusiness/gl-importer-mcpThen add to your .mcp.json / Claude Desktop config:
{
"mcpServers": {
"gl-importer": {
"command": "npx",
"args": ["-y", "@cloudbusiness/gl-importer-mcp"],
"env": {
"IMPORTER_API_TOKEN": "your_token_here"
}
}
}
}Distribution
- npm: @cloudbusiness/gl-importer-mcp@0.1.1
- Official MCP Registry:
com.synder/gl-importer-mcpv0.1.1 (DNS-authenticated under synder.com) - Cursor Directory: cursor.directory/plugins/gl-importer
- Glama: glama.ai/mcp/servers/SynderAccounting/gl-importer-plugin
What's in the bundle
- 19 MCP tools covering import (auto + explicit mapping), wait-for-finish polling, status, results, cancel, revert, mappings CRUD, settings, entities, fields, companies, account info
- 2 composite "happy path" tools (
import_csv,import_wait) for simple flows - All production dependencies bundled — no
npm installneeded - ~3 MB compressed, ~10 MB unpacked
License
MIT