domain: github.com/firecracker-microvm/firecracker · 8 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
Read the current configuration: `curl --unix-socket /tmp/firecracker.socket -X GET http://localhost/machine-config`.
Fully (re)configure with PUT — pre-boot only: `curl --unix-socket /tmp/firecracker.socket -X PUT --data '{"vcpu_count": 2, "mem_size_mib": 1024, "smt": false, "track_dirty_pages": false}' http://localhost/machine-config`.
PUT is not a merge: any optional field you omit resets to its default (smt=false, track_dirty_pages=false, cpu_template=None, huge_pages=None).
To change one field without resetting others use PATCH (also pre-boot only): `curl --unix-socket /tmp/firecracker.socket -X PATCH --data '{"vcpu_count": 4}' http://localhost/machine-config`.
Respect vcpu_count constraints: integer in [1, 32]; with "smt": true it must be 1 or an even number.
smt (default false) can only be enabled on x86. track_dirty_pages (default false) enables incremental/diff memory snapshots instead of full-copy-only.
huge_pages options: "None" (default, 4K pages), "Transparent" (THP via madvise MADV_HUGEPAGE), "2M" (explicit hugetlbfs 2MB pages — mem_size_mib must then be a multiple of 2).
Official doc (MachineConfiguration + /machine-config): https://github.com/firecracker-microvm/firecracker/blob/main/src/firecracker/swagger/firecracker.yaml
Known gotchas
PUT and PATCH /machine-config are pre-boot only — they fail after InstanceStart.
If any parameter is invalid, the WHOLE update fails — no partial application.
PUT resets every unspecified optional field to defaults; use PATCH for single-field changes.
SMT is x86-only and constrains vcpu_count to 1 or an even number.
2M huge pages require mem_size_mib to be a multiple of 2.
Give your agent this knowledge — and 18,200+ more routes
One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?