@pairsystems/goodmem-mcp 0.1.13 → 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 +54 -58
- package/dist/index.js +459 -256
- 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
|
-
###
|
|
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
|
-
|
|
|
113
|
-
|
|
114
|
-
| `
|
|
115
|
-
| `
|
|
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
|
-
|
|
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` |
|
|
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
|
-
|
|
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` |
|
|
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
|
-
|
|
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` |
|
|
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
|
-
|
|
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,78 @@ 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
|
|
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
|
-
| `
|
|
180
|
-
| `
|
|
181
|
-
| `
|
|
182
|
-
| `
|
|
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
|
-
| `
|
|
185
|
-
| `
|
|
186
|
-
| `
|
|
187
|
-
| `
|
|
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` |
|
|
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
|
-
| `
|
|
202
|
-
| `
|
|
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
|
|
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` |
|
|
218
|
-
| `goodmem_system_init` | Initialize the
|
|
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
|
-
| `
|
|
211
|
+
| `goodmem_admin_drain` | Request the server to enter drain mode |
|
|
212
|
+
| `goodmem_admin_license_reload` | Reload the active license from disk |
|
|
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 |
|
|
217
|
+
|
|
218
|
+
### Ping
|
|
227
219
|
|
|
228
|
-
|
|
220
|
+
| Tool | Description |
|
|
221
|
+
|------|-------------|
|
|
222
|
+
| `goodmem_ping_once` | Run a single ping probe |
|
|
223
|
+
| `goodmem_ping_stream` | Stream ping probe results |
|
|
229
224
|
|
|
225
|
+
<!-- AUTO-GENERATED MCP TOOL TABLE END -->
|
|
230
226
|
## Auto-inference
|
|
231
227
|
|
|
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.
|
|
228
|
+
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
229
|
|
|
234
230
|
**Example**: calling `goodmem_embedders_create` with `model_identifier: "text-embedding-3-large"` auto-fills:
|
|
235
231
|
- `provider_type` → `"OPENAI"`
|
|
@@ -241,7 +237,7 @@ User-provided values always override inferred defaults. Use `goodmem_lookup_mode
|
|
|
241
237
|
|
|
242
238
|
## Credential validation
|
|
243
239
|
|
|
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
|
|
240
|
+
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
241
|
|
|
246
242
|
For self-hosted or local providers (vLLM, TEI, Ollama, custom endpoints), credentials are optional.
|
|
247
243
|
|