{
  "markdown": "# `@intentwake/mcp`\n\nUnified local stdio MCP server for IntentWake account workflows and complete\nfile transfers.\n\nThe server proxies the authenticated hosted IntentWake MCP tool surface without\nreimplementing its account, list, wallet, funding, policy, billing,\nidempotency, authorization, or audit behavior. It adds three local-only\nsemantic tools:\n\n- `upload_list_file` streams an allowed local file into a canonical IntentWake list.\n- `append_list_file` streams an allowed local file into a canonical append session.\n- `download_result_to_file` saves an already-unlocked NDJSON or CSV result artifact locally. It\n  never unlocks or charges.\n\nFile bytes move directly between the local process and IntentWake transfer endpoints. They do not\nenter MCP arguments, results, or model context.\n\n## Requirements\n\n- Node.js 22 or newer.\n- An IntentWake connection token with the scopes needed by the tools you call.\n- One or more absolute local roots that you explicitly approve.\n\n## Configure\n\nRun the server with:\n\n```text\nnpx -y @intentwake/mcp\n```\n\nConfigure these values in your MCP client's user-level secret/environment settings, not in a\nproject or tracked file and not as visible command arguments:\n\n- `INTENTWAKE_CONNECTION_TOKEN`: the IntentWake connection bearer.\n- `INTENTWAKE_ALLOWED_ROOTS`: approved absolute roots separated by `:` on macOS/Linux or `;` on\n  Windows.\n- `INTENTWAKE_MCP_URL`: optional hosted control-plane URL override.\n- `INTENTWAKE_API_URL`: optional public API URL override used for canonical CSV streams.\n- `INTENTWAKE_HOSTED_TOOL_POLICY`: optional hosted manifest policy. The default,\n  `open`, exposes every compatible hosted tool. `allowlist` pins the hosted\n  surface to the names shipped with this package version.\n\nWith no allowed roots configured, every file operation is refused. There are no implicit current\ndirectory or Downloads defaults.\n\nAt startup the server negotiates one authenticated hosted MCP connection,\nvalidates the complete hosted manifest, and fails closed if the gateway is\nunavailable, incompatible, missing required tool annotations, or collides with\na local tool. That same hosted connection handles proxied calls and the\ncontrol-plane steps used by local file transfers. Hosted names, schemas,\nannotations, structured results, safe errors, and metadata pass through\nunchanged.\n\n## File safety\n\nSource paths resolve to real paths inside an approved root and must be regular files. Directories,\ndevices, outside paths, and symlink escapes are refused. Upload and append parts stream in bounded\nbyte ranges and resume the same hosted session with the same idempotency key if transfer URLs\nexpire.\n\nDownloads default to `overwrite=false`. The bridge writes a unique sibling temporary file,\ncomputes byte count and SHA-256 while streaming, verifies expectations supplied by IntentWake, and\natomically installs the completed file. Partial temporary files are removed after failures.\nIf the bound destination directory moves outside its configured root during a transfer, the\nin-progress temporary file moves with that directory. The bridge rechecks directory identity and\nroot ancestry before streaming, after staging, and at installation; it removes the temporary file\nthrough the bound directory and returns `destination_changed` without installing a result.\n\nNDJSON downloads use an already-authorized result artifact URL. CSV downloads stream the existing\nauthenticated IntentWake CSV response; the bridge does not transform result rows locally. Locked\nartifacts fail closed and must be unlocked separately through an explicit IntentWake operation.\n\nThe hosted HTTP MCP endpoint remains available for clients without local filesystem access.\n\n## Registration and upgrade\n\nFor a filesystem-capable client, register one user-scoped server named `intentwake` that runs\n`npx -y @intentwake/mcp@0.2.3`. That published unified release exposes the complete hosted account\nworkflow and the three local-file tools. Do not register a second direct hosted server for the same\nclient unless the client cannot run stdio.\n\nFor a remote or hosted client without local filesystem access, direct hosted HTTP MCP remains the\nsupported fallback. Configure its bearer header with that client's environment-variable expansion\nfor `INTENTWAKE_CONNECTION_TOKEN`; do not paste a token into a command, tracked config, or chat.\n\nExisting `intentwake-cloud` and `intentwake-files` registrations are a temporary two-server setup.\nInspect those registrations and any same-name registration in another scope before changing\nanything. Add or replace a registration only after the user confirms; verify that the unified\nserver exposes hosted and local-file tools before the user removes either legacy registration.\n\nAfter npm publication, verify the available package version without starting a server:\n\n```text\nnpm view @intentwake/mcp version\n```\n\nUse version `0.2.0` or later for the unified hosted-plus-local surface. Production defaults to\n`https://mcp.intentwake.com/mcp`. For staging, set `INTENTWAKE_MCP_URL` (and\n`INTENTWAKE_API_URL` when CSV downloads are needed) to the approved staging origins; never point a\nstaging client at production by default.",
  "bytes": 5189,
  "sha": "6d28de6d22331e122d76bbf0e1c21b7c56412785178d6dd48b83a647f9a35f69",
  "repo_slug": "sjcoder/intentwake",
  "fonte": "npm",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_intentwake_intentwake_9734a7fb/readme"
}