{"_id":"@dennisk2025/array-flatten-unflatten","name":"@dennisk2025/array-flatten-unflatten","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@dennisk2025/array-flatten-unflatten","version":"1.0.0","description":"Provides tools to flatten nested arrays into a single-level array and to unflatten flattened arrays back into nested structures based on a given depth or structure.","type":"module","main":"index.js","bin":{"array-flatten-unflatten":"index.js"},"dependencies":{"@modelcontextprotocol/sdk":"latest"},"author":{"name":"dennisk2025"},"license":"MIT","_id":"@dennisk2025/array-flatten-unflatten@1.0.0","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-dSWpvStxkYSSUnWa7UJLrSJgxfFDXxEvciUfjIq+YmAj6XOGZ4taMyRcGNQK3rkec/Ay0OJeKHoREBlOJPRdrA==","shasum":"e12cc73bc0f50f88d3ed8072ac59e3337ba8f699","tarball":"https://registry.npmjs.org/@dennisk2025/array-flatten-unflatten/-/array-flatten-unflatten-1.0.0.tgz","fileCount":3,"unpackedSize":8467,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC5CDmF6j/PJZYKUDq3xK54zkodCordIQIFfmmJ4S5BFwIhAOdaEK6hZhCjW4SnPkNT4yOaKoGkISFaQ4p4x38JHvsj"}]},"_npmUser":{"name":"dennisk2025","email":"4dennisk@gmail.com"},"directories":{},"maintainers":[{"name":"dennisk2025","email":"4dennisk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/array-flatten-unflatten_1.0.0_1761424902270_0.7378342537095515"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-25T20:41:42.118Z","1.0.0":"2025-10-25T20:41:42.452Z","modified":"2025-10-25T20:41:42.715Z"},"maintainers":[{"name":"dennisk2025","email":"4dennisk@gmail.com"}],"description":"Provides tools to flatten nested arrays into a single-level array and to unflatten flattened arrays back into nested structures based on a given depth or structure.","author":{"name":"dennisk2025"},"license":"MIT","readme":"# array-flatten-unflatten\n\nProvides tools to flatten nested arrays into a single-level array and to unflatten flattened arrays back into nested structures based on a given depth or structure.\n\n## Installation\n\nYou can use this MCP server via npx or install globally:\n\n```\nnpx @dennisk2025/array-flatten-unflatten\n```\n\nor\n\n```\nnpm install -g @dennisk2025/array-flatten-unflatten\n```\n\n## Adding to Claude Desktop\n\nAdd this to your Claude Desktop config file at:\n- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\nExample configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"flatten\": {\n      \"command\": \"npx\",\n      \"args\": [\"@dennisk2025/array-flatten-unflatten\"]\n    }\n  }\n}\n```\n\n## Usage\n\nOnce the MCP server is running (automatically launched by Claude Desktop or manually), you can use the following tools:\n\n### Tools\n\n#### flatten-array\n**Description:**\nTakes a nested array (of any depth) and returns a new array with all the elements in a single level.\n\n**Parameters:**\n- `nested_array` (array, required): The nested array to flatten.\n\n**Example call:**\n```\nTool: flatten-array\nParameters:\n{\n  \"nested_array\": [[1, 2, [3]], 4, [5, [6, [7, 8]]]]\n}\n```\n**Response:**\n```\n{\n  \"result\": [1, 2, 3, 4, 5, 6, 7, 8]\n}\n```\n\n#### unflatten-array\n**Description:**\nTakes a flat array and reconstructs a nested array structure given a nesting scheme (e.g., depths per group).\n\n**Parameters:**\n- `flat_array` (array, required): The flat array to reshape into nested structure.\n- `structure` (array of integers, required): The blueprint for nesting (e.g. `[2, 2, 2]` means 2 arrays of 2 arrays of 2 items each).\n\n**Example call:**\n```\nTool: unflatten-array\nParameters:\n{\n  \"flat_array\": [1,2,3,4,5,6,7,8],\n  \"structure\": [2,2,2]\n}\n```\n**Response:**\n```\n{\n  \"result\": [ [[1,2],[3,4]], [[5,6],[7,8]] ]\n}\n```\n\n## Tool List\n\n- **flatten-array**\n  - `nested_array` (array, required): The nested array to flatten\n\n- **unflatten-array**\n  - `flat_array` (array, required): The flat array to reshape\n  - `structure` (array of integers, required): The nesting blueprint\n\n## Notes\n- Returns errors if required parameters are missing or of invalid types.\n- Restores original nested grouping for unflatten if \n  the total number of items matches the product of all structure dimensions.\n","readmeFilename":"README.md","_rev":"1-5353423705a6a77fc2efaa3a14ef8686"}