@memoryprocess/mcp 0.0.3-beta.1 → 0.0.3-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @memoryprocess/mcp
|
|
2
2
|
|
|
3
|
-
MCP server exposing the memoryprocess toolkit to LLM agents
|
|
3
|
+
MCP server exposing the memoryprocess toolkit to LLM agents - the primary
|
|
4
4
|
agentic surface. Stdio transport; the agent's MCP client owns the server
|
|
5
5
|
process, so open process handles die with the session.
|
|
6
6
|
|
|
@@ -28,7 +28,7 @@ MEMP_NO_EVAL=1 # same as --no-eval
|
|
|
28
28
|
## Session model
|
|
29
29
|
|
|
30
30
|
There is no implicit "current process". `proc_open` returns a session handle
|
|
31
|
-
(`p1`, `p2`,
|
|
31
|
+
(`p1`, `p2`, ...); every `mem_*` tool takes it as `session`, so an agent can
|
|
32
32
|
hold several targets at once. `proc_close` releases the handle and any
|
|
33
33
|
watches/freezes bound to it.
|
|
34
34
|
|
|
@@ -37,38 +37,38 @@ watches/freezes bound to it.
|
|
|
37
37
|
| Tool | Description |
|
|
38
38
|
| --------------------- | -------------------------------------------------------------------------------------------------------- |
|
|
39
39
|
| `proc_list` | List running processes `{pid,name}[]` |
|
|
40
|
-
| `proc_open` | Open by `{pid}` or `{name}`
|
|
40
|
+
| `proc_open` | Open by `{pid}` or `{name}` -> `{session, describe}`. `access:"ro"` = read-only |
|
|
41
41
|
| `proc_close` | Close a session |
|
|
42
42
|
| `mem_describe` | `Process.describe()`: arch, modules, writable/exec regions, threads |
|
|
43
|
-
| `mem_read` | Typed read: `i8
|
|
44
|
-
| `mem_write` | Typed write. `dryRun:true`
|
|
45
|
-
| `mem_scan` | CE value scan
|
|
43
|
+
| `mem_read` | Typed read: `i8...i64/u8...u64`, `f32/f64`, `ptr`, `str`, `wstr`, `bytes[:N]` (+`len`) |
|
|
44
|
+
| `mem_write` | Typed write. `dryRun:true` -> `{addr,current,would,bytes}` preview. Journaled |
|
|
45
|
+
| `mem_scan` | CE value scan -> `{hits:[{addr,value}],count,truncated}` (`module`/`start`/`end`/`limit`) |
|
|
46
46
|
| `mem_scan_next` | Refine hits: `exact`/`changed`/`unchanged`/`increased`/`decreased`/`increasedBy`/`decreasedBy`/`between` |
|
|
47
|
-
| `mem_pointer_resolve` | `module`+`rva`+`offsets[]`
|
|
48
|
-
| `mem_watch` | Poll an i32 every `ms`
|
|
47
|
+
| `mem_pointer_resolve` | `module`+`rva`+`offsets[]` -> resolved address (CE pointer syntax) |
|
|
48
|
+
| `mem_watch` | Poll an i32 every `ms` -> `{watchId}`; changes accumulate |
|
|
49
49
|
| `mem_watch_poll` | Drain recorded changes `[{value,ts}]` for a `watchId` |
|
|
50
50
|
| `mem_unwatch` | Stop a watch |
|
|
51
|
-
| `mem_freeze` | Re-write a value every `ms`
|
|
51
|
+
| `mem_freeze` | Re-write a value every `ms` -> `{freezeId}` |
|
|
52
52
|
| `mem_unfreeze` | Stop a freeze |
|
|
53
53
|
| `mem_undo` | Revert last `n` journaled writes (self-correction primitive) |
|
|
54
54
|
| `mem_journal` | Write-log snapshot `[{index,addr,bytes}]` |
|
|
55
|
-
| `eval_js` | Run JS with `proc` (`Process`) in scope
|
|
55
|
+
| `eval_js` | Run JS with `proc` (`Process`) in scope - the escape hatch |
|
|
56
56
|
|
|
57
57
|
## Wire format (docs/json-conventions.md)
|
|
58
58
|
|
|
59
59
|
- Every result is `{ok:true,data}` or `{ok:false,error:{code,message,win32code?}}`
|
|
60
|
-
|
|
61
|
-
(`READ_FAILED`, `PROCESS_NOT_FOUND`,
|
|
60
|
+
- `error.code` is the typed code from `@memoryprocess/core`
|
|
61
|
+
(`READ_FAILED`, `PROCESS_NOT_FOUND`, ...) plus `UNKNOWN_SESSION`,
|
|
62
62
|
`UNKNOWN_WATCH`, `UNKNOWN_FREEZE`, `MODULE_NOT_FOUND`, `INVALID_ARGS`,
|
|
63
63
|
`EVAL_ERROR`.
|
|
64
|
-
- Addresses/pointers/64-bit values are `"0x
|
|
64
|
+
- Addresses/pointers/64-bit values are `"0x..."` hex strings; values that fit
|
|
65
65
|
in a JS number stay numbers; raw bytes are hex strings.
|
|
66
|
-
- Address args accept `"0x
|
|
66
|
+
- Address args accept `"0x..."`, decimal strings, or `"module+rva"`.
|
|
67
67
|
|
|
68
68
|
## Safety
|
|
69
69
|
|
|
70
|
-
All writes are journaled
|
|
70
|
+
All writes are journaled -> `mem_journal` + `mem_undo` let an agent preview
|
|
71
71
|
(`dryRun`), commit, inspect, and revert. `eval_js` runs arbitrary JS on the
|
|
72
|
-
host
|
|
72
|
+
host - it's on by default (agents already have code execution) and can be
|
|
73
73
|
disabled with `--no-eval` / `MEMP_NO_EVAL=1`, which omits it from
|
|
74
74
|
`tools/list` entirely.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memoryprocess/mcp",
|
|
3
|
-
"version": "0.0.3-beta.
|
|
4
|
-
"description": "MCP server exposing the memoryprocess toolkit to LLM agents
|
|
3
|
+
"version": "0.0.3-beta.2",
|
|
4
|
+
"description": "MCP server exposing the memoryprocess toolkit to LLM agents - the primary agentic surface.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "bun@1.4.4",
|
|
7
7
|
"bin": {
|