{"name":"com.synder/gl-importer-mcp","slug":"synder-gl-importer-mcp","title":null,"description":"Import CSV/XLSX accounting data into QuickBooks Online or Xero via the Synder Importer API.","url":"https://mcp.market/server/synder-gl-importer-mcp","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":46,"last_push_at":"2026-07-13T00:26:51.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/SynderAccounting/gl-importer-plugin","website":null,"version":"0.1.1","remotes":[],"packages":[{"registryType":"npm","identifier":"@cloudbusiness/gl-importer-mcp","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Bearer token for the Synder Importer API. Generate at importer.synder.com -> Account -> API Keys.","isRequired":true,"format":"string","isSecret":true,"name":"IMPORTER_API_TOKEN"},{"description":"Override API base URL (for staging/test). Defaults to https://importer.synder.com/api/v1.","format":"string","default":"https://importer.synder.com/api/v1","name":"IMPORTER_BASE_URL"}]}],"tools":[{"name":"account_get","description":"Returns the current Synder Importer account: email, name, status, subscription, and connected-company count. Call this first to verify the IMPORTER_API_TOKEN is valid.","write_action":false,"price_micros":0,"input_schema":null},{"name":"companies_list","description":"Lists all accounting companies connected to the Importer account (QuickBooks Online via 'intuit', Xero via 'xero'). Use the returned 'id' as companyId for downstream tools.","write_action":false,"price_micros":0,"input_schema":null},{"name":"entities_list","description":"Lists importable entity types for a company (Invoice, Bill, JournalEntry, Customer, Vendor, etc.). Use the returned 'name' as entityName for fields_get and import tools.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fields_get","description":"Returns the field schema for an entity in a company: every field with its type, required flag, alternativeTitles, and predefinedValues. Use to build or verify a mapping before running an import.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_auto","description":"Uploads a file and asks the server to auto-map columns to the target entity. Set dryRun=true to get the proposed mapping back without creating an import — useful for showing the user what will happen and asking 'does this look right?' before committing. Set dryRun=false (default) to auto-map and import in one call.","write_action":true,"price_micros":0,"input_schema":null},{"name":"import_cancel","description":"Cancels a SCHEDULED or IN_PROGRESS import. Already-imported rows are NOT rolled back — use import_revert for that. Returns the updated import status.","write_action":true,"price_micros":0,"input_schema":null},{"name":"import_csv","description":"Happy-path CSV/XLSX importer. Two-step: first call (without confirmed) auto-resolves the company, uploads the file, and returns the server's proposed mapping plus any missingRequired fields — show this to the user. Re-call with confirmed=true (and the same filePath) to run the real import and poll until it terminates. Returns { stage: 'DRY_RUN' | 'DONE', importId?, status, summary?, proposedMappin","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_execute","description":"Uploads a CSV/XLSX file and starts an import using an existing mapping. The MCP server reads the file from disk — pass an absolute path. Returns the created import object including importId. Status starts as SCHEDULED — poll import_status or use import_wait. Limits: .csv/.xlsx/.xls only, 50MB max.","write_action":true,"price_micros":0,"input_schema":null},{"name":"import_results","description":"Returns per-row results for a finished import. Filter by 'type' (INFO / WARNING / ERROR) to surface only failures. Paginated — defaults to 20 rows per page, max 100.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_revert","description":"Reverts a FINISHED or FINISHED_WITH_WARNINGS import — deletes the QuickBooks/Xero entries the import created, using their live SyncTokens. Status transitions FINISHED → REVERTING → REVERTED. Confirm with the user before calling — irreversible from their perspective.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_status","description":"Returns a single import's current status and summary (total / succeeded / failed / warnings). Status lifecycle: SCHEDULED → IN_PROGRESS → FINISHED | FINISHED_WITH_WARNINGS | FAILED | CANCELED. FINISHED can transition to REVERTING → REVERTED.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_wait","description":"Polls import_status until the import reaches a terminal state (FINISHED, FINISHED_WITH_WARNINGS, FAILED, CANCELED, REVERTED). Exponential backoff (2s → 1.5× → cap 30s). Default timeout 600s — if exceeded, returns { status: 'POLLING', importId, lastSeen } so the LLM can re-call. Includes a per-type result count summary on terminal states (INFO / WARNING / ERROR; null if the server didn't return tot","write_action":false,"price_micros":0,"input_schema":null},{"name":"imports_list","description":"Lists recent imports for a company with status and timestamps. Use to find an importId for status / results / revert / cancel.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mapping_create","description":"Creates a new field mapping for an entity (e.g. 'Journal Entry', 'Bill', 'Invoice'). Look up valid target fields with fields_get first. Returns the created mapping including its id.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mapping_delete","description":"Deletes a saved mapping. Irreversible. Imports that referenced this mapping keep their historical record but new imports can no longer pick it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mapping_update","description":"Replaces an existing mapping in full. Fetch the current mapping with mappings_list first and send the whole desired shape — this is a PUT, not a patch. Returns the updated mapping.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mappings_list","description":"Lists field mappings saved for a company. Each mapping is reusable across imports of the same entity type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"settings_get","description":"Returns per-company import settings (dateFormat, document-number behavior, product/account auto-creation, duplicate-skip). Check dateFormat before importing — CSV date columns must match.","write_action":false,"price_micros":0,"input_schema":null},{"name":"settings_update","description":"Updates per-company import settings. Pass only the fields you want to change inside 'settings' (e.g. { dateFormat: 'dd/MM/yyyy' }). Fetch current values with settings_get first so you don't clobber unrelated fields. Returns the updated settings.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-26T21:21:02.728Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T21:21:02.648Z","components":{"code":{"score":25,"max":25,"notes":["25 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 76 days ago"]},"identity":{"score":6,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@cloudbusiness/gl-importer-mcp","version":"0.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-06-20T00:13:33.204Z","repositoryUrl":"git+https://github.com/SynderAccounting/gl-importer-plugin.git","weeklyDownloads":46}],"repo":{"found":true,"owner":"SynderAccounting","repo":"gl-importer-plugin","archived":false,"pushedAt":"2026-07-13T00:26:51Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/92920740?v=4","ownerCreatedAt":"2021-10-21T10:02:10Z","license":"MIT"},"icon":{"url":"https://cdn.prod.website-files.com/622efc5ff4a0f4c4a8b262d5/659557f7e235c696a27d8aa1_Synder.png","source":"site","width":256,"height":256},"presence":{"stars":0,"forks":0,"downloadsWeek":46,"license":"MIT","lastPushAt":"2026-07-13T00:26:51.000Z","score":18}}}},"grade_history":[],"reviews":[]}