@pairsystems/goodmem-mcp 0.1.13 → 0.1.14

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.
Files changed (3) hide show
  1. package/README.md +53 -58
  2. package/dist/index.js +423 -256
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -106,59 +106,47 @@ The MCP server auto-infers provider, endpoint, dimensions, and other fields from
106
106
 
107
107
  ## Available tools
108
108
 
109
- ### `goodmem_configure`
110
- Set server credentials at runtime. Call this if `GOODMEM_BASE_URL` / `GOODMEM_API_KEY` are not set as environment variables.
109
+ ### Utility tools (hand-coded, not derived from the IR)
111
110
 
112
- | Parameter | Type | Required | Description |
113
- |-----------|------|----------|-------------|
114
- | `base_url` | string | yes | GoodMem server URL |
115
- | `api_key` | string | yes | GoodMem API key (`gm_...`) |
116
-
117
- ### `goodmem_lookup_model`
118
- Inspect the built-in model registry. Shows what fields will be auto-inferred for a given model identifier.
111
+ | Tool | Description |
112
+ |------|-------------|
113
+ | `goodmem_configure` | Set `base_url` / `api_key` at runtime; overrides env vars. Call once after `npx @goodmem/mcp` if env isn't configured. |
114
+ | `goodmem_lookup_model` | Inspect the built-in model registry. Shows what fields auto-infer for a given `model_identifier`. |
115
+ | `goodmem_client_info` | Report MCP client package version and the goodmem server commit it was built against. No server connection required. |
119
116
 
120
- | Parameter | Type | Required | Description |
121
- |-----------|------|----------|-------------|
122
- | `model_identifier` | string | yes | Model name to look up |
123
- | `type` | string | no | `embedder`, `llm`, or `reranker` |
117
+ ### API tools (auto-generated from the OpenAPI/IR)
124
118
 
125
- ---
119
+ <!-- AUTO-GENERATED MCP TOOL TABLE START -->
126
120
 
127
121
  ### Embedders
128
122
 
129
123
  | Tool | Description |
130
124
  |------|-------------|
131
- | `goodmem_embedders_create` | Register an embedding model |
132
- | `goodmem_embedders_list` | List registered embedders |
133
- | `goodmem_embedders_get` | Get embedder by ID |
134
- | `goodmem_embedders_update` | Update embedder configuration |
125
+ | `goodmem_embedders_create` | Create a new embedder |
135
126
  | `goodmem_embedders_delete` | Delete an embedder |
136
-
137
- **Create parameters**: `display_name` (required), `model_identifier` (required), `credentials` (required for SaaS providers), `provider_type`, `endpoint_url`, `dimensionality` — last three auto-inferred from `model_identifier` for known models.
127
+ | `goodmem_embedders_get` | Get an embedder by ID |
128
+ | `goodmem_embedders_list` | List embedders |
129
+ | `goodmem_embedders_update` | Update an embedder |
138
130
 
139
131
  ### LLMs
140
132
 
141
133
  | Tool | Description |
142
134
  |------|-------------|
143
- | `goodmem_llms_create` | Register an LLM configuration |
144
- | `goodmem_llms_list` | List registered LLMs |
145
- | `goodmem_llms_get` | Get LLM by ID |
146
- | `goodmem_llms_update` | Update LLM configuration |
135
+ | `goodmem_llms_create` | Create a new LLM |
147
136
  | `goodmem_llms_delete` | Delete an LLM |
148
-
149
- **Create parameters**: `display_name` (required), `model_identifier` (required), `credentials` (required for SaaS providers) — `provider_type`, `endpoint_url`, `max_context_length` auto-inferred for known models.
137
+ | `goodmem_llms_get` | Get an LLM by ID |
138
+ | `goodmem_llms_list` | List LLMs |
139
+ | `goodmem_llms_update` | Update an LLM |
150
140
 
151
141
  ### Rerankers
152
142
 
153
143
  | Tool | Description |
154
144
  |------|-------------|
155
- | `goodmem_rerankers_create` | Register a reranker model |
156
- | `goodmem_rerankers_list` | List registered rerankers |
157
- | `goodmem_rerankers_get` | Get reranker by ID |
158
- | `goodmem_rerankers_update` | Update reranker configuration |
145
+ | `goodmem_rerankers_create` | Create a new reranker |
159
146
  | `goodmem_rerankers_delete` | Delete a reranker |
160
-
161
- **Create parameters**: `display_name` (required), `model_identifier` (required), `credentials` (required for SaaS providers) — `provider_type` and `endpoint_url` auto-inferred for known models.
147
+ | `goodmem_rerankers_get` | Get a reranker by ID |
148
+ | `goodmem_rerankers_list` | List rerankers |
149
+ | `goodmem_rerankers_update` | Update a reranker |
162
150
 
163
151
  ### Spaces
164
152
 
@@ -166,70 +154,77 @@ Memory spaces are containers that associate a set of memories with an embedder.
166
154
 
167
155
  | Tool | Description |
168
156
  |------|-------------|
169
- | `goodmem_spaces_create` | Create a memory space |
170
- | `goodmem_spaces_list` | List spaces |
171
- | `goodmem_spaces_get` | Get space by ID |
172
- | `goodmem_spaces_update` | Update space configuration |
157
+ | `goodmem_spaces_create` | Create a new Space |
173
158
  | `goodmem_spaces_delete` | Delete a space |
159
+ | `goodmem_spaces_get` | Get a space by ID |
160
+ | `goodmem_spaces_list` | List spaces |
161
+ | `goodmem_spaces_update` | Update a space |
174
162
 
175
163
  ### Memories
176
164
 
177
165
  | Tool | Description |
178
166
  |------|-------------|
179
- | `goodmem_memories_create` | Store a memory (text, base64, or file reference) |
180
- | `goodmem_memories_list` | List memories in a space |
181
- | `goodmem_memories_get` | Get memory by ID |
182
- | `goodmem_memories_update` | Update memory metadata |
167
+ | `goodmem_memories_batch_create` | Create multiple memories in a batch |
168
+ | `goodmem_memories_batch_delete` | Delete memories in batch |
169
+ | `goodmem_memories_batch_get` | Get multiple memories by ID |
170
+ | `goodmem_memories_create` | Create a new memory |
183
171
  | `goodmem_memories_delete` | Delete a memory |
184
- | `goodmem_memories_retrieve` | **Semantic search** — query memories by meaning |
185
- | `goodmem_memories_batch_create` | Create multiple memories in one request |
186
- | `goodmem_memories_batch_get` | Get multiple memories by IDs |
187
- | `goodmem_memories_batch_delete` | Delete multiple memories by IDs |
188
-
189
- **`goodmem_memories_retrieve` key parameters**: `space_keys` (required), `query` (required), `llm_id` (optional, for RAG), `reranker_id` (optional), `max_results`, `relevance_threshold`.
172
+ | `goodmem_memories_get` | Get a memory by ID |
173
+ | `goodmem_memories_list` | List memories in a space |
174
+ | `goodmem_memories_pages` | List memory page images |
175
+ | `goodmem_memories_retrieve` | Advanced semantic memory retrieval with JSON |
190
176
 
191
177
  ### OCR
192
178
 
193
179
  | Tool | Description |
194
180
  |------|-------------|
195
- | `goodmem_ocr_document` | Extract text from a document |
181
+ | `goodmem_ocr_document` | Run OCR on a document or image |
196
182
 
197
183
  ### Users
198
184
 
199
185
  | Tool | Description |
200
186
  |------|-------------|
201
- | `goodmem_users_me` | Get current authenticated user |
202
- | `goodmem_users_get` | Get user by ID or email |
187
+ | `goodmem_users_get` | Get a user by ID |
188
+ | `goodmem_users_me` | Get current user profile |
203
189
 
204
190
  ### API Keys
205
191
 
206
192
  | Tool | Description |
207
193
  |------|-------------|
208
- | `goodmem_apikeys_create` | Create an API key |
194
+ | `goodmem_apikeys_create` | Create a new API key |
195
+ | `goodmem_apikeys_delete` | Delete an API key |
209
196
  | `goodmem_apikeys_list` | List API keys |
210
197
  | `goodmem_apikeys_update` | Update an API key |
211
- | `goodmem_apikeys_delete` | Delete an API key |
212
198
 
213
199
  ### System
214
200
 
215
201
  | Tool | Description |
216
202
  |------|-------------|
217
- | `goodmem_system_info` | Get server version and configuration |
218
- | `goodmem_system_init` | Initialize the server (first-time setup) |
203
+ | `goodmem_system_info` | Retrieve server build metadata |
204
+ | `goodmem_system_init` | Initialize the system |
219
205
 
220
206
  ### Admin
221
207
 
222
208
  | Tool | Description |
223
209
  |------|-------------|
224
- | `goodmem_admin_drain` | Drain the server |
225
210
  | `goodmem_admin_background_jobs_purge` | Purge completed background jobs |
226
- | `goodmem_admin_license_reload` | Reload the server license |
211
+ | `goodmem_admin_delete` | Delete a RetrieveMemory log policy |
212
+ | `goodmem_admin_drain` | Request the server to enter drain mode |
213
+ | `goodmem_admin_get` | Get a RetrieveMemory log policy |
214
+ | `goodmem_admin_license_reload` | Reload the active license from disk |
215
+ | `goodmem_admin_retrieve_memory_log_policies` | List RetrieveMemory log policies |
216
+
217
+ ### Ping
227
218
 
228
- ---
219
+ | Tool | Description |
220
+ |------|-------------|
221
+ | `goodmem_ping_once` | Run a single ping probe |
222
+ | `goodmem_ping_stream` | Stream ping probe results |
229
223
 
224
+ <!-- AUTO-GENERATED MCP TOOL TABLE END -->
230
225
  ## Auto-inference
231
226
 
232
- When creating embedders, LLMs, or rerankers, provide `model_identifier` and the server fills in `provider_type`, `endpoint_url`, dimensions, and other fields automatically from the built-in registry of 79 models.
227
+ When creating embedders, LLMs, or rerankers, provide `model_identifier` and the MCP server fills in `provider_type`, `endpoint_url`, dimensions, and other fields automatically from the built-in registry of 79 models. Inference happens client-side in the MCP layer before the request is sent.
233
228
 
234
229
  **Example**: calling `goodmem_embedders_create` with `model_identifier: "text-embedding-3-large"` auto-fills:
235
230
  - `provider_type` → `"OPENAI"`
@@ -241,7 +236,7 @@ User-provided values always override inferred defaults. Use `goodmem_lookup_mode
241
236
 
242
237
  ## Credential validation
243
238
 
244
- SaaS providers require API credentials. If you call a create tool for a known SaaS endpoint (OpenAI, Cohere, Voyage, Jina, Anthropic via OpenAI-compatible API, Google, Mistral) without providing `credentials`, the server returns a clear error before the request is sent — no wasted round trips.
239
+ SaaS providers require API credentials. If you call a create tool for a known SaaS endpoint (OpenAI, Cohere, Voyage, Jina, Anthropic via OpenAI-compatible API, Google, Mistral) without providing `credentials`, the MCP server returns a clear error locally — before the request leaves the process — so there are no wasted round trips.
245
240
 
246
241
  For self-hosted or local providers (vLLM, TEI, Ollama, custom endpoints), credentials are optional.
247
242