MCP Server

codefmt

dev.codefmt/codefmt
Developer Tools Public & reachable MCP 2025-11-25

What this MCP does

Formats and lints JavaScript, Python, HubL, and JSON for automation platforms and answers questions about its formatting rules.

ask_codefmt
Ask codefmt
Ask a natural-language question about codefmt: formatting and linting JavaScript, Python, and HubL for automation platforms (Zapier, n8n, Pipedream, Make, HubSpot). Returns a grounded answer drawn from codefmt's own content with cited source URLs and a confidence score (0-1, how much of the question the answer covers, weighted toward its rarer terms); off-topic or too-weakly-matched questions are refused rather than guessed.
Read only
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'The natural-language question about codefmt.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['answer', 'sources', 'results'], 'properties': {'answer': {'type': 'string', 'description': 'The grounded answer, or the refusal text.'}, 'results': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Ranked matching entries.'}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Cited source URLs.'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'How much of the question the answer covers, weighted toward its rarer terms.'}}}
format_code
Format code for automation platforms
Format and lint JavaScript, Python, or HubL code for Zapier, n8n, Pipedream, Make, or HubSpot. Wraps the source in each platform's runtime shell before formatting so top-level await, bare return, and injected globals don't break the formatter. Returns formatted code plus lint diagnostics.
Read only
Input schema
{'type': 'object', 'required': ['code', 'platform'], 'properties': {'code': {'type': 'string', 'description': 'Source code to format (≤50KB).'}, 'language': {'enum': ['javascript', 'python'], 'type': 'string', 'description': 'Defaults to javascript. zapier, n8n, pipedream, make, and hubspot support python; hubl does not.'}, 'platform': {'enum': ['zapier', 'n8n', 'pipedream', 'make', 'hubspot', 'hubl'], 'type': 'string', 'description': 'Target automation platform.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['diagnostics', 'error'], 'properties': {'error': {'type': ['string', 'null'], 'description': 'Why the format failed, or null on success.'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Lint findings with line and column.'}, 'formatted_code': {'type': 'string', 'description': 'The formatted source. Absent when the input was refused.'}, 'diagnostics_frame': {'enum': ['input', 'output'], 'type': 'string', 'description': 'Whether diagnostic positions refer to the submitted code or the formatted code.'}}}
format_json
Format a JSON document
Format (pretty-print or minify) a JSON document, optionally sorting object keys. Number literals are preserved exactly (64-bit IDs safe); parse errors report the exact line and column.
Read only
Input schema
{'type': 'object', 'required': ['json'], 'properties': {'json': {'type': 'string', 'description': 'The JSON text to format.'}, 'indent': {'enum': ['2', '4', 'tab', 'minify'], 'type': 'string', 'description': "Indentation: '2' or '4' spaces, 'tab', or 'minify'. Defaults to '2'."}, 'sort_keys': {'type': 'boolean', 'description': 'Sort object keys alphabetically. Defaults to false.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['error'], 'properties': {'error': {'type': ['string', 'null'], 'description': '"line L, col C: message" on a parse error, or null.'}, 'formatted_json': {'type': 'string', 'description': 'The formatted document. Absent when the input was refused.'}}}
Changed
format_json
Sept. 29, 2026, 2:50 a.m.
Changed
ask_codefmt
Sept. 29, 2026, 2:50 a.m.
Changed
format_code
Sept. 29, 2026, 2:50 a.m.
Added
format_json
Sept. 17, 2026, 12:39 p.m.
Added
ask_codefmt
Sept. 17, 2026, 12:39 p.m.
Added
format_code
Sept. 17, 2026, 12:39 p.m.