@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.
- package/README.md +53 -58
- package/dist/index.js +423 -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,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
|
|
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_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
|
|
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
|
|