{"_id":"@dojocoding/hacienda-mcp","_rev":"3-66059212d91d4d8265ed2f3d1aa86b75","name":"@dojocoding/hacienda-mcp","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.0":{"name":"@dojocoding/hacienda-mcp","version":"0.2.0","keywords":["costa-rica","hacienda","electronic-invoicing","factura-electronica","comprobantes-electronicos","mcp","model-context-protocol"],"author":{"url":"https://dojocoding.io","name":"Dojo Coding Labs","email":"dev@dojocoding.io"},"license":"MIT","_id":"@dojocoding/hacienda-mcp@0.2.0","maintainers":[{"name":"0xbeja","email":"daniel@dojocoding.io"}],"homepage":"https://github.com/DojoCodingLabs/hacienda-cr#readme","bugs":{"url":"https://github.com/DojoCodingLabs/hacienda-cr/issues"},"bin":{"hacienda-mcp":"dist/cli.js"},"dist":{"shasum":"af73038eee79059157f254cec174fa0fc71ae34e","tarball":"https://registry.npmjs.org/@dojocoding/hacienda-mcp/-/hacienda-mcp-0.2.0.tgz","fileCount":8,"integrity":"sha512-o9nfqM6VCjBjV4zG0ooGY2hx8c7NQKxTsHkrWm4TLPfNTrU7kBgry7N1GHpm22onsgspUYihzH5VORf4/f0GvQ==","signatures":[{"sig":"MEUCIQCCDfOB3Q2ksBc+LwAcAYOOVIyrrS6Y2vH7X2sm1U9kHwIgAl08RPKh9R4U4jJfv0Dhyuxwf16eRQoyS6DGHeyi+Ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2074587},"main":"./dist/index.js","type":"module","_from":"file:dojocoding-hacienda-mcp-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src/","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"0xbeja","email":"daniel@dojocoding.io"},"_resolved":"/tmp/49837beb03bac079f87e4030ed785dba/dojocoding-hacienda-mcp-0.2.0.tgz","_integrity":"sha512-o9nfqM6VCjBjV4zG0ooGY2hx8c7NQKxTsHkrWm4TLPfNTrU7kBgry7N1GHpm22onsgspUYihzH5VORf4/f0GvQ==","repository":{"url":"git+https://github.com/DojoCodingLabs/hacienda-cr.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.9.4","description":"MCP Server for Costa Rica electronic invoicing (AI-accessible tools)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","@dojocoding/hacienda-sdk":"0.2.0","@modelcontextprotocol/sdk":"^1.26.0","@dojocoding/hacienda-shared":"0.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hacienda-mcp_0.2.0_1771785325455_0.6234068412445013","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dojocoding/hacienda-mcp","version":"0.3.0","description":"MCP Server for Costa Rica electronic invoicing (AI-accessible tools)","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"hacienda-mcp":"dist/cli.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"keywords":["costa-rica","hacienda","electronic-invoicing","factura-electronica","comprobantes-electronicos","mcp","model-context-protocol"],"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","zod":"^4.3.6","@dojocoding/hacienda-sdk":"0.3.0","@dojocoding/hacienda-shared":"0.3.0"},"license":"MIT","author":{"name":"Dojo Coding Labs","email":"dev@dojocoding.io","url":"https://dojocoding.io"},"repository":{"type":"git","url":"git+https://github.com/DojoCodingLabs/hacienda-cr.git","directory":"packages/mcp"},"homepage":"https://github.com/DojoCodingLabs/hacienda-cr#readme","scripts":{"build":"tsup","test":"vitest run","lint":"eslint src/","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"_id":"@dojocoding/hacienda-mcp@0.3.0","bugs":{"url":"https://github.com/DojoCodingLabs/hacienda-cr/issues"},"_integrity":"sha512-knOY8U/rXpCLyw9vyc5obrgqFIakG+jgnTr4MxiiYDmCnXv8aVKZ/1Y/6aMqcyfNJzOhRdzZAx6MMVEO57qFCA==","_resolved":"/tmp/c224aa15804c6ececb5efa095e0bbd68/dojocoding-hacienda-mcp-0.3.0.tgz","_from":"file:dojocoding-hacienda-mcp-0.3.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-knOY8U/rXpCLyw9vyc5obrgqFIakG+jgnTr4MxiiYDmCnXv8aVKZ/1Y/6aMqcyfNJzOhRdzZAx6MMVEO57qFCA==","shasum":"9f9f2711784a3750c8943ab423f084dd91517370","tarball":"https://registry.npmjs.org/@dojocoding/hacienda-mcp/-/hacienda-mcp-0.3.0.tgz","fileCount":8,"unpackedSize":2096773,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHQBAIMN72t3Rdt7WwcWmbeZ5tyPqaeyLJLQo5jfhRJeAiAqtKj4UiTGTbBnqY0IQH66p1ITbfg0gpEMH7UBy2STZQ=="}]},"_npmUser":{"name":"0xbeja","email":"daniel@dojocoding.io"},"directories":{},"maintainers":[{"name":"0xbeja","email":"daniel@dojocoding.io"},{"name":"bitfalt-dojo","email":"garbanzo@dojocoding.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hacienda-mcp_0.3.0_1787939253887_0.7742364630708889"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-22T18:35:25.373Z","modified":"2026-08-28T17:47:34.236Z","0.2.0":"2026-02-22T18:35:25.673Z","0.3.0":"2026-08-28T17:47:34.031Z"},"bugs":{"url":"https://github.com/DojoCodingLabs/hacienda-cr/issues"},"author":{"name":"Dojo Coding Labs","email":"dev@dojocoding.io","url":"https://dojocoding.io"},"license":"MIT","homepage":"https://github.com/DojoCodingLabs/hacienda-cr#readme","keywords":["costa-rica","hacienda","electronic-invoicing","factura-electronica","comprobantes-electronicos","mcp","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/DojoCodingLabs/hacienda-cr.git","directory":"packages/mcp"},"description":"MCP Server for Costa Rica electronic invoicing (AI-accessible tools)","maintainers":[{"name":"0xbeja","email":"daniel@dojocoding.io"},{"name":"bitfalt-dojo","email":"garbanzo@dojocoding.io"}],"readme":"# @dojocoding/hacienda-mcp\n\nMCP (Model Context Protocol) Server for Costa Rica electronic invoicing (Hacienda API v4.4).\n\nExposes the `@dojocoding/hacienda-sdk` as AI-accessible tools and resources via the Model Context Protocol, allowing AI assistants like Claude Desktop to create invoices, check document status, and look up taxpayer information.\n\n## Installation\n\n```bash\nnpm install -g @dojocoding/hacienda-mcp\n```\n\nRequires **Node.js 22+**.\n\n## Setup\n\n### Claude Desktop\n\nAdd this to your Claude Desktop configuration file:\n\n**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"hacienda-cr\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dojocoding/hacienda-mcp\"]\n    }\n  }\n}\n```\n\nOr if installed globally:\n\n```json\n{\n  \"mcpServers\": {\n    \"hacienda-cr\": {\n      \"command\": \"hacienda-mcp\"\n    }\n  }\n}\n```\n\n### Other MCP Clients\n\nThe server uses stdio transport. Start it with:\n\n```bash\nnpx @dojocoding/hacienda-mcp\n# or\nhacienda-mcp\n```\n\n### Programmatic Usage\n\n```ts\nimport { createServer } from \"@dojocoding/hacienda-mcp\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\n\nconst server = createServer();\nconst transport = new StdioServerTransport();\nawait server.connect(transport);\n```\n\n## Tools\n\n### `create_invoice`\n\nCreate a Factura Electronica (electronic invoice). Accepts emisor, receptor, and line items. Automatically computes taxes, totals, generates the clave numerica, and builds the XML.\n\n**Parameters:**\n\n- `emisor` -- Issuer information (name, ID, email)\n- `receptor` -- Receiver information (name, optional ID, optional email)\n- `codigoActividadEmisor` -- Issuer economic activity code (6 digits)\n- `proveedorSistemas` -- Invoicing-system provider ID (optional, defaults to the emisor ID)\n- `condicionVenta` -- Sale condition code (default: `\"01\"` = cash)\n- `medioPago` -- Payment method code (default: `\"01\"` = cash; emitted inside ResumenFactura per v4.4)\n- `lineItems` -- Array of line items with CABYS code, quantity, unit, description, price, and optional tax/discount\n- `plazoCredito` -- Credit term in days (optional)\n\n### `check_status`\n\nCheck the processing status of a document by its 50-digit clave numerica.\n\n**Parameters:**\n\n- `clave` -- The 50-digit clave numerica\n\n### `list_documents`\n\nList recent electronic documents with optional filters.\n\n**Parameters:**\n\n- `limit` -- Max results (1-100, default: 10)\n- `offset` -- Pagination offset (default: 0)\n- `emisorIdentificacion` -- Filter by issuer ID (optional)\n- `receptorIdentificacion` -- Filter by receiver ID (optional)\n- `fechaDesde` -- Start date filter, ISO 8601 (optional)\n- `fechaHasta` -- End date filter, ISO 8601 (optional)\n\n### `get_document`\n\nGet full details of an electronic document by its 50-digit clave numerica.\n\n**Parameters:**\n\n- `clave` -- The 50-digit clave numerica\n\n### `lookup_taxpayer`\n\nLook up a Costa Rica taxpayer by identification number (cedula). Returns name, ID type, and registered economic activities.\n\n**Parameters:**\n\n- `identificacion` -- Taxpayer ID number (9-12 digits)\n\n### `draft_invoice`\n\nGenerate a draft invoice template with sensible defaults. Returns JSON that can be passed to `create_invoice`.\n\n**Parameters:**\n\n- `emisorNombre` -- Issuer name\n- `emisorIdTipo` -- Issuer ID type (default: `\"02\"`)\n- `emisorIdNumero` -- Issuer ID number\n- `emisorEmail` -- Issuer email\n- `receptorNombre` -- Receiver name\n- `receptorIdTipo` -- Receiver ID type (optional)\n- `receptorIdNumero` -- Receiver ID number (optional)\n- `receptorEmail` -- Receiver email (optional)\n- `codigoActividadEmisor` -- Activity code (default: `\"620100\"`)\n- `description` -- Default line item description (default: `\"Servicio profesional\"`)\n- `amount` -- Default line item amount (default: `0`)\n- `includeIva` -- Include 13% IVA (default: `true`)\n\n## Resources\n\n| URI                                   | Description                                |\n| ------------------------------------- | ------------------------------------------ |\n| `hacienda://schemas/factura`          | JSON schema for invoice creation input     |\n| `hacienda://reference/document-types` | Document types, codes, and descriptions    |\n| `hacienda://reference/tax-codes`      | Tax codes, IVA rates, and units of measure |\n| `hacienda://reference/id-types`       | Identification types and validation rules  |\n\n## Full Documentation\n\nSee the [root README](../../README.md) for comprehensive documentation with examples.\n","readmeFilename":"README.md"}