wontopos-mcp 1.0.17 → 1.0.18
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 +2 -2
- package/index.mjs +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ Create a key in the [console](https://wontopos.com). Optional env:
|
|
|
58
58
|
| `WONTOPOS_MODEL` | The engine. Default `tablet-2` — same token price as `tablet-1` and the one that can serve photos and re-ask. Also `tablet-1`, `scroll-1`, `scroll-1.2`. |
|
|
59
59
|
| `WONTOPOS_VERIFY` | Default re-ask passes for `search`, 0-3. Default `0`. Each pass is another engine call, billed for what it delivers; the agent can raise it per call. |
|
|
60
60
|
| `WONTOPOS_MAX_IMAGES` | Default photo results per `search`, 0-5. Default `0` — see below. |
|
|
61
|
-
| `WONTOPOS_BASE_URL` |
|
|
61
|
+
| `WONTOPOS_BASE_URL` | A different API host. Leave unset for the default. |
|
|
62
62
|
| `WONTOPOS_READ_ONLY` | `1` / `true` / `yes` / `on` / `y` / `t` = read tools only, see Security. A value that is none of those (and none of `0` / `false` / `no` / `off`) stops the server rather than being read as off. |
|
|
63
63
|
| `WONTOPOS_ALLOW_STORE_OVERRIDE` | `1` (same spellings) = multi-store; default = pinned, see Security. |
|
|
64
64
|
|
|
@@ -279,7 +279,7 @@ automatic retries, redirect refusal, response caps, and key hygiene apply as-is.
|
|
|
279
279
|
used the trimmed value, so `create_store` made `alice` while every read and write
|
|
280
280
|
went to `" alice \n"` — a different collection — and the console still printed
|
|
281
281
|
`store "alice" verified`. And an oversized result was capped by slicing the
|
|
282
|
-
serialized JSON, handing the model
|
|
282
|
+
serialized JSON, handing the model truncated JSON with no closing bracket and a final
|
|
283
283
|
memory cut mid-sentence (measured: 131,041 bytes of unparseable text from a 764 KB
|
|
284
284
|
search). Now whole entries are dropped instead, the reply stays valid JSON, and
|
|
285
285
|
what was dropped is stated in the payload — a truncation nobody can see is worse
|
package/index.mjs
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// WONTOPOS_MAX_IMAGES default photo results per search, 0-5 (default 0). Zero
|
|
20
20
|
// because this server answers a MODEL: an image memory it
|
|
21
21
|
// cannot look at is a row of context that buys nothing.
|
|
22
|
-
// WONTOPOS_BASE_URL
|
|
22
|
+
// WONTOPOS_BASE_URL a different API host; unset for the default
|
|
23
23
|
// WONTOPOS_READ_ONLY "1" = read tools only (recall/search/list_memories/engram/
|
|
24
24
|
// stats/revisions); no tool can write, update, or delete. For
|
|
25
25
|
// agents that should consult memory, not own it.
|
|
@@ -135,7 +135,7 @@ const DATE_ONLY_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
|
135
135
|
* A bare "2026-03-14" is the form a model naturally emits. The current API accepts
|
|
136
136
|
* it, so this is not the only thing standing between an agent and a working call —
|
|
137
137
|
* it stays for the two things it still does: it rejects a non-date locally with a
|
|
138
|
-
* message saying what to send, and it works against an older or
|
|
138
|
+
* message saying what to send, and it works against an older or unfamiliar backend
|
|
139
139
|
* that takes only the full form.
|
|
140
140
|
* Returns null when the value is not a date at all, so the caller can refuse it. */
|
|
141
141
|
function normalizeEventDate(raw) {
|
|
@@ -519,7 +519,7 @@ function modelCaps() {
|
|
|
519
519
|
// `null` = the catalogue answered but said nothing usable about this model —
|
|
520
520
|
// either it did not name it, or it named it and declared no `capabilities`.
|
|
521
521
|
// Both are "we do not know", and both must read the same way. That is not
|
|
522
|
-
// the same as "cannot": a
|
|
522
|
+
// the same as "cannot": a backend we do not know lists whatever it runs, and
|
|
523
523
|
// this server must not invent a refusal on its behalf. See how it is read
|
|
524
524
|
// below. This one IS cached — it is an answer, not a missing answer.
|
|
525
525
|
return c ? { images: c.images === true, reAsk: c.re_ask === true } : null;
|
|
@@ -679,7 +679,7 @@ registerTool(
|
|
|
679
679
|
// drop would bill for a search the agent believes it
|
|
680
680
|
// shaped; the service refuses it anyway, one round trip
|
|
681
681
|
// later and with less to say about which install it is.
|
|
682
|
-
// unknown (
|
|
682
|
+
// unknown (an unfamiliar host, or the catalogue is unreachable) → send nothing by
|
|
683
683
|
// default, forward an explicit ask and let the service
|
|
684
684
|
// answer. Refusing locally on a guess would deny a
|
|
685
685
|
// capability the deployment may well have.
|
|
@@ -687,7 +687,7 @@ registerTool(
|
|
|
687
687
|
// `?? DEFAULT` collapses "the agent asked for this" and "nobody said anything"
|
|
688
688
|
// into one value, and the unknown-engine branch below needs to tell them apart:
|
|
689
689
|
// forwarding an ASK lets the service decide, while forwarding a DEFAULT would put
|
|
690
|
-
// a field on every search that
|
|
690
|
+
// a field on every search that an older engine may refuse — every search,
|
|
691
691
|
// including the ones that never mentioned photos.
|
|
692
692
|
const askedVerify = verify != null;
|
|
693
693
|
const wantVerify = askedVerify ? verify : DEFAULT_VERIFY;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wontopos-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.18",
|
|
4
4
|
"mcpName": "com.wontopos/mcp",
|
|
5
5
|
"description": "(beta) Wontopos (WOS) long-term memory as an MCP server — one memory across Claude Code, Claude Desktop, Cursor, ChatGPT, and your own agents.",
|
|
6
6
|
"keywords": [
|