@pairsystems/goodmem-mcp 0.1.14 → 0.1.15
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 +4 -3
- package/dist/index.js +57 -21
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -208,11 +208,12 @@ Memory spaces are containers that associate a set of memories with an embedder.
|
|
|
208
208
|
| Tool | Description |
|
|
209
209
|
|------|-------------|
|
|
210
210
|
| `goodmem_admin_background_jobs_purge` | Purge completed background jobs |
|
|
211
|
-
| `goodmem_admin_delete` | Delete a RetrieveMemory log policy |
|
|
212
211
|
| `goodmem_admin_drain` | Request the server to enter drain mode |
|
|
213
|
-
| `goodmem_admin_get` | Get a RetrieveMemory log policy |
|
|
214
212
|
| `goodmem_admin_license_reload` | Reload the active license from disk |
|
|
215
|
-
| `
|
|
213
|
+
| `goodmem_admin_retrieve_memory_log_policies_create` | Create a RetrieveMemory log policy |
|
|
214
|
+
| `goodmem_admin_retrieve_memory_log_policies_delete` | Delete a RetrieveMemory log policy |
|
|
215
|
+
| `goodmem_admin_retrieve_memory_log_policies_get` | Get a RetrieveMemory log policy |
|
|
216
|
+
| `goodmem_admin_retrieve_memory_log_policies_list` | List RetrieveMemory log policies |
|
|
216
217
|
|
|
217
218
|
### Ping
|
|
218
219
|
|
package/dist/index.js
CHANGED
|
@@ -21843,7 +21843,7 @@ function autoInferFromRegistry(registryType, args) {
|
|
|
21843
21843
|
}
|
|
21844
21844
|
var server = new McpServer({
|
|
21845
21845
|
name: "goodmem",
|
|
21846
|
-
version: "0.1.
|
|
21846
|
+
version: "0.1.15"
|
|
21847
21847
|
});
|
|
21848
21848
|
server.tool("goodmem_configure", "Configure GoodMem server connection. Call this before using other GoodMem tools if GOODMEM_BASE_URL and GOODMEM_API_KEY environment variables are not set. Session credentials override environment variables. For bootstrap workflows that need to call /v1/system/info or /v1/system/init before keys exist, api_key may be omitted; most other tools will return AuthenticationException until a real key is provided.", {
|
|
21849
21849
|
base_url: external_exports.string().describe("GoodMem server URL (e.g., https://your-server.example.com)"),
|
|
@@ -21925,7 +21925,7 @@ ${allModels.join("\n")}` }] };
|
|
|
21925
21925
|
});
|
|
21926
21926
|
server.tool("goodmem_client_info", "Return the MCP client package version and the goodmem server commit it was built against. No server connection required.", {}, async () => {
|
|
21927
21927
|
return { content: [{ type: "text", text: JSON.stringify({
|
|
21928
|
-
mcp_version: "0.1.
|
|
21928
|
+
mcp_version: "0.1.15",
|
|
21929
21929
|
based_on_goodmem_commit: BASED_ON_GOODMEM_COMMIT
|
|
21930
21930
|
}, null, 2) }] };
|
|
21931
21931
|
});
|
|
@@ -21948,19 +21948,6 @@ function registerTools() {
|
|
|
21948
21948
|
const result = await callApi("POST", `/v1/admin/background-jobs:purge`, body);
|
|
21949
21949
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21950
21950
|
});
|
|
21951
|
-
server.tool("goodmem_admin_delete", "Delete a RetrieveMemory log policy\n\nIdempotently tombstones an immutable RetrieveMemory log policy.", {
|
|
21952
|
-
id: external_exports.string().describe("The UUID of the policy to delete"),
|
|
21953
|
-
reason: external_exports.string().describe("Optional tombstone reason.").optional()
|
|
21954
|
-
}, async (args) => {
|
|
21955
|
-
if (typeof args.id !== "string" || args.id === "") {
|
|
21956
|
-
throw new Error("'id' must be a non-empty string");
|
|
21957
|
-
}
|
|
21958
|
-
const body = {};
|
|
21959
|
-
if (args.reason !== void 0)
|
|
21960
|
-
body["reason"] = args.reason;
|
|
21961
|
-
await callApi("DELETE", `/v1/admin/retrieve-memory-log-policies/${encodeURIComponent(String(args.id))}`, body);
|
|
21962
|
-
return { content: [{ type: "text", text: "Deleted successfully." }] };
|
|
21963
|
-
});
|
|
21964
21951
|
server.tool("goodmem_admin_drain", "Request the server to enter drain mode\n\nInitiates drain mode and optionally waits for the server to quiesce.", {
|
|
21965
21952
|
timeout_sec: external_exports.number().int().describe("Maximum seconds to wait for the server to quiesce before returning.").optional(),
|
|
21966
21953
|
reason: external_exports.string().describe("Human-readable reason for initiating drain mode.").optional(),
|
|
@@ -21976,7 +21963,60 @@ function registerTools() {
|
|
|
21976
21963
|
const result = await callApi("POST", `/v1/admin:drain`, body, void 0, ((args.timeout_sec ?? 900) + 30) * 1e3);
|
|
21977
21964
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21978
21965
|
});
|
|
21979
|
-
server.tool("
|
|
21966
|
+
server.tool("goodmem_admin_license_reload", "Reload the active license from disk\n\nTriggers the server to reload its license file from the configured directory and returns metadata about the currently active license.", {}, async (args) => {
|
|
21967
|
+
const result = await callApi("POST", `/v1/admin/license:reload`, void 0);
|
|
21968
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21969
|
+
});
|
|
21970
|
+
server.tool("goodmem_admin_retrieve_memory_log_policies_create", "Create a RetrieveMemory log policy\n\nCreates an immutable administrative policy that can automatically enable durable RetrieveMemory request logging.", {
|
|
21971
|
+
policy_id: external_exports.string().describe("Optional client-provided policy UUID.").optional(),
|
|
21972
|
+
display_name: external_exports.string().describe("Human-readable policy name."),
|
|
21973
|
+
description: external_exports.string().describe("Optional operator description.").optional(),
|
|
21974
|
+
condition: external_exports.object({
|
|
21975
|
+
matchAll: external_exports.boolean().describe("When true, match every authenticated RetrieveMemory request. Defaults to false when omitted.").optional(),
|
|
21976
|
+
anyOf: external_exports.array(external_exports.object({
|
|
21977
|
+
requestorUserIds: external_exports.array(external_exports.string()).describe("Authenticated requestor user UUID strings.").optional(),
|
|
21978
|
+
apiKeyIds: external_exports.array(external_exports.string()).describe("API key UUID strings used to authenticate RetrieveMemory requests.").optional(),
|
|
21979
|
+
spaceIds: external_exports.array(external_exports.string()).describe("Post-permission accessible space UUID strings.").optional(),
|
|
21980
|
+
apiKeyLabelSelectors: external_exports.record(external_exports.string(), external_exports.string()).describe("Exact API-key label selectors that must all match.").optional(),
|
|
21981
|
+
spaceLabelSelectors: external_exports.record(external_exports.string(), external_exports.string()).describe("Exact space label selectors that must match at least one accessible space.").optional()
|
|
21982
|
+
}).passthrough()).describe("OR clauses used for scoped matching. Required when matchAll is false or omitted, and must contain at least one non-empty clause.").optional()
|
|
21983
|
+
}).passthrough().describe("Policy match condition."),
|
|
21984
|
+
active_from: external_exports.number().int().describe("Inclusive activation time in milliseconds since epoch.").optional(),
|
|
21985
|
+
active_until: external_exports.number().int().describe("Exclusive deactivation time in milliseconds since epoch.").optional(),
|
|
21986
|
+
labels: external_exports.record(external_exports.string(), external_exports.string()).describe("Operator labels for listing and administration.").optional()
|
|
21987
|
+
}, async (args) => {
|
|
21988
|
+
const body = {};
|
|
21989
|
+
if (args.policy_id !== void 0)
|
|
21990
|
+
body["policyId"] = args.policy_id;
|
|
21991
|
+
if (args.display_name !== void 0)
|
|
21992
|
+
body["displayName"] = args.display_name;
|
|
21993
|
+
if (args.description !== void 0)
|
|
21994
|
+
body["description"] = args.description;
|
|
21995
|
+
if (args.condition !== void 0)
|
|
21996
|
+
body["condition"] = args.condition;
|
|
21997
|
+
if (args.active_from !== void 0)
|
|
21998
|
+
body["activeFrom"] = args.active_from;
|
|
21999
|
+
if (args.active_until !== void 0)
|
|
22000
|
+
body["activeUntil"] = args.active_until;
|
|
22001
|
+
if (args.labels !== void 0)
|
|
22002
|
+
body["labels"] = args.labels;
|
|
22003
|
+
const result = await callApi("POST", `/v1/admin/retrieve-memory-log-policies`, body);
|
|
22004
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
22005
|
+
});
|
|
22006
|
+
server.tool("goodmem_admin_retrieve_memory_log_policies_delete", "Delete a RetrieveMemory log policy\n\nIdempotently tombstones an immutable RetrieveMemory log policy.", {
|
|
22007
|
+
id: external_exports.string().describe("The UUID of the policy to delete"),
|
|
22008
|
+
reason: external_exports.string().describe("Optional tombstone reason.").optional()
|
|
22009
|
+
}, async (args) => {
|
|
22010
|
+
if (typeof args.id !== "string" || args.id === "") {
|
|
22011
|
+
throw new Error("'id' must be a non-empty string");
|
|
22012
|
+
}
|
|
22013
|
+
const body = {};
|
|
22014
|
+
if (args.reason !== void 0)
|
|
22015
|
+
body["reason"] = args.reason;
|
|
22016
|
+
await callApi("DELETE", `/v1/admin/retrieve-memory-log-policies/${encodeURIComponent(String(args.id))}`, body);
|
|
22017
|
+
return { content: [{ type: "text", text: "Deleted successfully." }] };
|
|
22018
|
+
});
|
|
22019
|
+
server.tool("goodmem_admin_retrieve_memory_log_policies_get", "Get a RetrieveMemory log policy\n\nRetrieves a live RetrieveMemory log policy by UUID, or a tombstoned policy when include_deleted is true.", {
|
|
21980
22020
|
id: external_exports.string().describe("The UUID of the policy to retrieve"),
|
|
21981
22021
|
include_deleted: external_exports.boolean().describe("Whether to include tombstoned policies. Also accepts include_deleted.").optional()
|
|
21982
22022
|
}, async (args) => {
|
|
@@ -21989,11 +22029,7 @@ function registerTools() {
|
|
|
21989
22029
|
const result = await callApi("GET", `/v1/admin/retrieve-memory-log-policies/${encodeURIComponent(String(args.id))}`, void 0, query);
|
|
21990
22030
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21991
22031
|
});
|
|
21992
|
-
server.tool("
|
|
21993
|
-
const result = await callApi("POST", `/v1/admin/license:reload`, void 0);
|
|
21994
|
-
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21995
|
-
});
|
|
21996
|
-
server.tool("goodmem_admin_retrieve_memory_log_policies", "List RetrieveMemory log policies\n\nLists RetrieveMemory log policies with optional tombstone, active-time, name, label, sort, and pagination filters. LABEL FILTERS: Label filters accept either label.<key>=<value> or label[key]=value (for example, label.environment=production or label[environment]=production).", {
|
|
22032
|
+
server.tool("goodmem_admin_retrieve_memory_log_policies_list", "List RetrieveMemory log policies\n\nLists RetrieveMemory log policies with optional tombstone, active-time, name, label, sort, and pagination filters. LABEL FILTERS: Label filters accept either label.<key>=<value> or label[key]=value (for example, label.environment=production or label[environment]=production).", {
|
|
21997
22033
|
include_deleted: external_exports.boolean().describe("Whether to include tombstoned policies. Also accepts include_deleted.").optional(),
|
|
21998
22034
|
name_filter: external_exports.string().describe("Case-insensitive substring filter on policy display names. Also accepts name_filter.").optional(),
|
|
21999
22035
|
active_at: external_exports.number().int().describe("Only return policies active at this millisecond epoch timestamp. Also accepts active_at.").optional(),
|