@pairsystems/goodmem-mcp 0.1.12 → 0.1.13
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/dist/index.js +11 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21927,7 +21927,7 @@ function autoInferFromRegistry(registryType, args) {
|
|
|
21927
21927
|
}
|
|
21928
21928
|
var server = new McpServer({
|
|
21929
21929
|
name: "goodmem",
|
|
21930
|
-
version: "0.1.
|
|
21930
|
+
version: "0.1.13"
|
|
21931
21931
|
});
|
|
21932
21932
|
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.", {
|
|
21933
21933
|
base_url: external_exports.string().describe("GoodMem server URL (e.g., https://your-server.example.com)"),
|
|
@@ -21994,7 +21994,7 @@ ${allModels.join("\n")}` }] };
|
|
|
21994
21994
|
});
|
|
21995
21995
|
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 () => {
|
|
21996
21996
|
return { content: [{ type: "text", text: JSON.stringify({
|
|
21997
|
-
mcpVersion: "0.1.
|
|
21997
|
+
mcpVersion: "0.1.13",
|
|
21998
21998
|
basedOnGoodmemCommit: BASED_ON_GOODMEM_COMMIT
|
|
21999
21999
|
}, null, 2) }] };
|
|
22000
22000
|
});
|
|
@@ -22104,7 +22104,7 @@ function registerTools() {
|
|
|
22104
22104
|
quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
|
|
22105
22105
|
}).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
|
|
22106
22106
|
labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
|
|
22107
|
-
}).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Required for SaaS providers
|
|
22107
|
+
}).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Required for SaaS providers; optional for local or proxy providers.").optional(),
|
|
22108
22108
|
labels: external_exports.record(external_exports.string(), external_exports.string()).describe("User-defined labels for categorization").optional(),
|
|
22109
22109
|
version: external_exports.string().describe("Version information").optional(),
|
|
22110
22110
|
monitoring_endpoint: external_exports.string().describe("Monitoring endpoint URL").optional(),
|
|
@@ -22267,7 +22267,7 @@ function registerTools() {
|
|
|
22267
22267
|
quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
|
|
22268
22268
|
}).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
|
|
22269
22269
|
labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
|
|
22270
|
-
}).passthrough().describe("Structured credential payload describing how to authenticate with the provider.
|
|
22270
|
+
}).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Required for SaaS providers; optional for local or proxy providers.").optional(),
|
|
22271
22271
|
labels: external_exports.record(external_exports.string(), external_exports.string()).describe("User-defined labels for categorization").optional(),
|
|
22272
22272
|
version: external_exports.string().describe("Version information").optional(),
|
|
22273
22273
|
monitoring_endpoint: external_exports.string().describe("Monitoring endpoint URL").optional(),
|
|
@@ -22512,7 +22512,7 @@ function registerTools() {
|
|
|
22512
22512
|
const result = await callApi("POST", `/v1/memories:batchGet`, body);
|
|
22513
22513
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
22514
22514
|
});
|
|
22515
|
-
server.tool("goodmem_memories_create", "Create a
|
|
22515
|
+
server.tool("goodmem_memories_create", "Create a memory from text content or base64-encoded content. Content must be provided via exactly one of `original_content` or `original_content_b64`.", {
|
|
22516
22516
|
memory_id: external_exports.string().describe("Optional client-provided UUID for the memory. If omitted, the server generates one. Returns ALREADY_EXISTS if the ID is already in use.").optional(),
|
|
22517
22517
|
space_id: external_exports.string().describe("ID of the space where this memory will be stored"),
|
|
22518
22518
|
original_content: external_exports.string().describe("Original content as plain text (use either this or originalContentB64)").optional(),
|
|
@@ -22583,7 +22583,7 @@ function registerTools() {
|
|
|
22583
22583
|
const result = await callApi("GET", `/v1/memories/${encodeURIComponent(String(args.id))}`, void 0, query);
|
|
22584
22584
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
22585
22585
|
});
|
|
22586
|
-
server.tool("goodmem_memories_list", "
|
|
22586
|
+
server.tool("goodmem_memories_list", "Lists memories within a given space. Results are paginated \u2014 the returned `Page` eagerly fetches the first page. Access `.data` for items and `.next_token` to resume. Use `for mem in page` to auto-paginate all pages, `page_size` to control items per API call, and `max_items` to cap total results.", {
|
|
22587
22587
|
space_id: external_exports.string().describe("The UUID of the space containing the memories"),
|
|
22588
22588
|
include_content: external_exports.boolean().describe("Whether to include the original content in the response (defaults to false).").optional(),
|
|
22589
22589
|
include_processing_history: external_exports.boolean().describe("Whether to include background job processing history in the response (defaults to false).").optional(),
|
|
@@ -22639,7 +22639,7 @@ function registerTools() {
|
|
|
22639
22639
|
const result = await callApi("GET", `/v1/memories/${encodeURIComponent(String(args.id))}/pages`, void 0, query);
|
|
22640
22640
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
22641
22641
|
});
|
|
22642
|
-
server.tool("goodmem_memories_retrieve", "
|
|
22642
|
+
server.tool("goodmem_memories_retrieve", "Performs a streaming semantic search across one or more memory spaces and returns matching chunks ranked by relevance as well as LLM-postprocessed results (like summarization, question-answering, etc.).", {
|
|
22643
22643
|
message: external_exports.string().describe("Primary query/message for semantic search."),
|
|
22644
22644
|
context: external_exports.array(external_exports.object({
|
|
22645
22645
|
text: external_exports.string().describe("Text content for this context item.").optional(),
|
|
@@ -22694,7 +22694,7 @@ function registerTools() {
|
|
|
22694
22694
|
const result = await callApiNdjson("POST", `/v1/memories:retrieve`, body, void 0, args.timeout_sec);
|
|
22695
22695
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
22696
22696
|
});
|
|
22697
|
-
server.tool("goodmem_ocr_document", "Run OCR on a document or image", {
|
|
22697
|
+
server.tool("goodmem_ocr_document", "Run OCR on a document or image. Pass base64-encoded document bytes as `content`. Optionally specify `format` (e.g., PDF, PNG) \u2014 if omitted, the server auto-detects.", {
|
|
22698
22698
|
content: external_exports.string().describe("Base64-encoded document bytes"),
|
|
22699
22699
|
format: external_exports.enum(["AUTO", "PDF", "TIFF", "PNG", "JPEG", "BMP"]).describe("Input format hint (AUTO, PDF, TIFF, PNG, JPEG, BMP)").optional(),
|
|
22700
22700
|
include_raw_json: external_exports.boolean().describe("Include raw OCR JSON payload in the response").optional(),
|
|
@@ -22742,7 +22742,7 @@ function registerTools() {
|
|
|
22742
22742
|
quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
|
|
22743
22743
|
}).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
|
|
22744
22744
|
labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
|
|
22745
|
-
}).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Required for SaaS providers; optional for local
|
|
22745
|
+
}).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Required for SaaS providers; optional for local or proxy providers.").optional(),
|
|
22746
22746
|
labels: external_exports.record(external_exports.string(), external_exports.string()).describe("User-defined labels for categorization").optional(),
|
|
22747
22747
|
version: external_exports.string().describe("Version information").optional(),
|
|
22748
22748
|
monitoring_endpoint: external_exports.string().describe("Monitoring endpoint URL").optional(),
|
|
@@ -22924,7 +22924,7 @@ function registerTools() {
|
|
|
22924
22924
|
const result = await callApi("GET", `/v1/spaces/${encodeURIComponent(String(args.id))}`, void 0);
|
|
22925
22925
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
22926
22926
|
});
|
|
22927
|
-
server.tool("goodmem_spaces_list", "List spaces", {
|
|
22927
|
+
server.tool("goodmem_spaces_list", "List spaces accessible to the caller, with optional filtering by owner, labels, and name. Results are paginated \u2014 the returned `Page` eagerly fetches the first page. Access `.data` for items and `.next_token` to resume. Use `for space in page` to auto-paginate all pages, `page_size` to control items per API call, and `max_items` to cap total results.", {
|
|
22928
22928
|
owner_id: external_exports.string().describe("Filter spaces by owner ID. With LIST_SPACE_ANY permission and ownerId omitted, returns all visible spaces. Otherwise returns caller-owned spaces only. Specifying ownerId without LIST_SPACE_ANY returns PERMISSION_DENIED.").optional(),
|
|
22929
22929
|
name_filter: external_exports.string().describe("Filter spaces by name using glob pattern matching").optional(),
|
|
22930
22930
|
max_results: external_exports.number().int().describe("Maximum number of results to return in a single page (defaults to 50, clamped to [1, 1000])").optional(),
|
|
@@ -22980,7 +22980,7 @@ function registerTools() {
|
|
|
22980
22980
|
const result = await callApi("POST", `/v1/system/init`, void 0);
|
|
22981
22981
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
22982
22982
|
});
|
|
22983
|
-
server.tool("goodmem_users_get", "
|
|
22983
|
+
server.tool("goodmem_users_get", "Retrieves a user by ID or email address. Exactly one of `id` and `email` must be provided. For getting your own profile, use `client.users.me()`.", {
|
|
22984
22984
|
id: external_exports.string().describe("The UUID of the user to retrieve").optional(),
|
|
22985
22985
|
email: external_exports.string().describe("The email address of the user to retrieve").optional()
|
|
22986
22986
|
}, async (args) => {
|