Skip to content

Commit 6c31397

Browse files
update tool defs for new entries
1 parent 3b625cd commit 6c31397

File tree

2 files changed

+285
-11
lines changed

2 files changed

+285
-11
lines changed

dev/catalog.clj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
(ns catalog
22
(:require
3+
[babashka.fs :as fs]
34
[clj-yaml.core :as yaml]
45
git
56
[medley.core :as medley]
67
prompts))
78

9+
(prompts/get-prompts {:prompts (fs/file "prompts/examples/mcp-memory.md")})
10+
(yaml/parse-string (slurp "prompts/examples/mcp-memory.md"))
11+
812
(defn f->prompt [f]
913
(prompts/get-prompts {:prompts f}))
1014

prompts/catalog.yaml

Lines changed: 281 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,7 @@ registry:
7373
command: [-c, 'echo ''{{insight|safe}}'' >> /thread/insights.txt']
7474
volumes: ['mcp-test:/mcp']
7575
prompts: 1
76-
resources:
77-
- name: Business Insights Memo
78-
description: A living document of discovered business insights
79-
uri: memo://insights
80-
mimeType: text/plain
81-
matches: resource:///thread/insights.txt
82-
default: {text: No business insights have been discovered yet.}
76+
resources: {}
8377
curl:
8478
description: Demonstration of curl tool (use curl to fetch GitHub gists for a user)
8579
ref: github:docker/labs-ai-tools-for-devs?ref=main&path=prompts/examples/curl.md
@@ -120,7 +114,7 @@ registry:
120114
greeting: {type: string, description: the greeting to send}
121115
container:
122116
image: busybox:latest
123-
command: [echo, '{{greeting|safe}}']
117+
command: [echo, '{{greeting}}']
124118
prompts: 1
125119
resources: {}
126120
ffmpeg:
@@ -221,12 +215,288 @@ registry:
221215
prompts: 1
222216
resources: {}
223217
speculative_execution:
224-
description: >
225-
Use lorax from Claude. Lorax is a speculative execution tool that can be used
226-
to make edits and run tools in an isolated sandbox.
218+
description: "Use lorax from Claude. Lorax is a speculative execution tool that can be used to make edits and run tools in an isolated sandbox. \n"
227219
ref: github:docker/labs-ai-tools-for-devs?path=prompts/lorax/speculative.md
228220
icon: https://vonwig.github.io/prompts.docs/img/speculative_hu15687469033092380316.webp
221+
tools:
222+
- type: function
223+
function:
224+
name: sandbox-source
225+
description: make a cloned host repo available to the sandbox
226+
parameters:
227+
type: object
228+
properties:
229+
host-dir: {type: string}
230+
container:
231+
image: vonwig/speculative:latest
232+
mounts: ['{{host-dir|safe}}:/repo']
233+
commands: [sandbox, source, /repo]
234+
- type: function
235+
function:
236+
name: sandbox-clone
237+
description: create a sandbox for a host repo and respond with the id of the new sandbox
238+
parameters:
239+
type: object
240+
properties:
241+
sandbox-name: {type: string}
242+
container:
243+
image: vonwig/speculative:latest
244+
commands: [sandbox, clone, user-source, --name, '{{sandbox-name}}']
245+
- type: function
246+
function:
247+
name: sandbox-snapshot
248+
description: snapshot the current state of a sandbox
249+
parameters:
250+
type: object
251+
properties:
252+
sandbox-id: {type: string}
253+
container:
254+
image: vonwig/speculative:latest
255+
commands: [sandbox, snapshot, '{{sandbox-id}}']
256+
- type: function
257+
function:
258+
name: sandbox-restore
259+
description: snapshot the current state of a sandbox
260+
parameters:
261+
type: object
262+
properties:
263+
sandbox-id: {type: string}
264+
tree-id: {type: string}
265+
container:
266+
image: vonwig/speculative:latest
267+
commands: [sandbox, restore, '{{sandbox-id}}', '{{tree-id}}']
268+
- type: function
269+
function:
270+
name: sandbox-exec
271+
description: exec a container in the current sandbox
272+
parameters:
273+
type: object
274+
properties:
275+
sandbox-id: {type: string}
276+
image: {type: string}
277+
container:
278+
image: vonwig/speculative:latest
279+
commands: [sandbox, exec, --mount-image, '{{image}}', '{{sandbox-id}}']
280+
- type: function
281+
function:
282+
name: sandbox-delete-file
283+
description: exec a container in the current sandbox
284+
parameters:
285+
type: object
286+
properties:
287+
sandbox-id: {type: string}
288+
path: {type: string}
289+
container:
290+
image: vonwig/speculative:latest
291+
commands: [sandbox, delete, '{{sandbox-id}}', '{{path}}']
292+
- type: function
293+
function:
294+
name: sandbox-rm
295+
description: exec a container in the current sandbox
296+
parameters:
297+
type: object
298+
properties:
299+
sandbox-id: {type: string}
300+
path: {type: string}
301+
container:
302+
image: vonwig/speculative:latest
303+
commands: [sandbox, rm, '{{sandbox-id}}']
304+
- type: function
305+
function:
306+
name: sandbox-diff
307+
description: exec a container in the current sandbox
308+
parameters:
309+
type: object
310+
properties:
311+
sandbox-id: {type: string}
312+
tree-id: {type: string}
313+
container:
314+
image: vonwig/speculative:latest
315+
commands: [sandbox, diff, '{{sandbox-id}}', '{{tree-id}}']
316+
- type: function
317+
function:
318+
name: sandbox-apply
319+
description: exec a container in the current sandbox
320+
parameters:
321+
type: object
322+
properties:
323+
diff: {type: string}
324+
container:
325+
image: vonwig/speculative:latest
326+
commands: [sandbox, apply, user-source, '{{diff}}']
327+
prompts: 1
328+
resources: {}
229329
memory:
230330
description: give your MCP client a memory system
231331
ref: github:docker/labs-ai-tools-for-devs?path=prompts/examples/mcp-memory.md
232332
icon: https://cdn.jsdelivr.net/npm/simple-icons@v7/icons/knowledgebase.svg
333+
tools:
334+
- type: function
335+
function:
336+
name: create_entities
337+
description: Create multiple new entities in the knowledge graph
338+
parameters:
339+
type: object
340+
properties:
341+
entities:
342+
type: array
343+
items:
344+
type: object
345+
properties:
346+
name: {type: string, description: The name of the entity}
347+
entityType: {type: string, description: The type of the entity}
348+
observations:
349+
type: array
350+
items: {type: string}
351+
description: An array of observation contents associated with the entity
352+
required: [name, entityType, observations]
353+
required: [entities]
354+
container:
355+
image: vonwig/memory:latest
356+
volumes: ['mcp-memory:/memory']
357+
command: [create-entities, '{{raw}}']
358+
- type: function
359+
function:
360+
name: create_relations
361+
description: Create multiple new relations between entities in the knowledge graph. Relations should be in active voice
362+
parameters:
363+
type: object
364+
properties:
365+
relations:
366+
type: array
367+
items:
368+
type: object
369+
properties:
370+
from: {type: string, description: The name of the entity where the relation starts}
371+
to: {type: string, description: The name of the entity where the relation ends}
372+
relationType: {type: string, description: The type of the relation}
373+
required: [from, to, relationType]
374+
required: [relations]
375+
container:
376+
image: vonwig/memory:latest
377+
volumes: ['mcp-memory:/memory']
378+
command: [create-relations, '{{raw}}']
379+
- type: function
380+
function:
381+
name: add_observations
382+
description: Add new observations to existing entities in the knowledge graph
383+
parameters:
384+
type: object
385+
properties:
386+
observations:
387+
type: array
388+
items:
389+
type: object
390+
properties:
391+
entityName: {type: string, description: The name of the entity to add the observations to}
392+
contents:
393+
type: array
394+
items: {type: string}
395+
description: An array of observation contents to add
396+
required: [entityName, contents]
397+
required: [observations]
398+
container:
399+
image: vonwig/memory:latest
400+
volumes: ['mcp-memory:/memory']
401+
command: [add-observations, '{{raw}}']
402+
- type: function
403+
function:
404+
name: delete_entities
405+
description: Delete multiple entities and their associated relations from the knowledge graph
406+
parameters:
407+
type: object
408+
properties:
409+
entityNames:
410+
type: array
411+
items: {type: string}
412+
description: An array of entity names to delete
413+
required: [entityNames]
414+
container:
415+
image: vonwig/memory:latest
416+
volumes: ['mcp-memory:/memory']
417+
command: [delete-entities, '{{raw}}']
418+
- type: function
419+
function:
420+
name: delete_observations
421+
description: Delete specific observations from entities in the knowledge graph
422+
parameters:
423+
type: object
424+
properties:
425+
deletions:
426+
type: array
427+
items:
428+
type: object
429+
properties:
430+
entityName: {type: string, description: The name of the entity containing the observations}
431+
observations:
432+
type: array
433+
items: {type: string}
434+
description: An array of observations to delete
435+
required: [entityName, observations]
436+
required: [deletions]
437+
container:
438+
image: vonwig/memory:latest
439+
volumes: ['mcp-memory:/memory']
440+
command: [delete-observations, '{{raw}}']
441+
- type: function
442+
function:
443+
name: delete_relations
444+
description: Delete multiple relations from the knowledge graph
445+
parameters:
446+
type: object
447+
properties:
448+
relations:
449+
type: array
450+
items:
451+
type: object
452+
properties:
453+
from: {type: string, description: The name of the entity where the relation starts}
454+
to: {type: string, description: The name of the entity where the relation ends}
455+
relationType: {type: string, description: The type of the relation}
456+
required: [from, to, relationType]
457+
description: An array of relations to delete
458+
required: [relations]
459+
container:
460+
image: vonwig/memory:latest
461+
volumes: ['mcp-memory:/memory']
462+
command: [delete-releations, '{{raw}}']
463+
- type: function
464+
function:
465+
name: read_graph
466+
description: Read the entire knowledge graph
467+
parameters: {type: object, properties: null}
468+
container:
469+
image: vonwig/memory:latest
470+
volumes: ['mcp-memory:/memory']
471+
command: [read-graph, '{{raw}}']
472+
- type: function
473+
function:
474+
name: search_nodes
475+
description: Search for nodes in the knowledge graph based on a query
476+
parameters:
477+
type: object
478+
properties:
479+
query: {type: string, description: 'The search query to match against entity names, types, and observation content'}
480+
required: [query]
481+
container:
482+
image: vonwig/memory:latest
483+
volumes: ['mcp-memory:/memory']
484+
command: [search-nodes, '{{raw}}']
485+
- type: function
486+
function:
487+
name: open_nodes
488+
description: Open specific nodes in the knowledge graph by their names
489+
parameters:
490+
type: object
491+
properties:
492+
names:
493+
type: array
494+
items: {type: string}
495+
description: An array of entity names to retrieve
496+
required: [names]
497+
container:
498+
image: vonwig/memory:latest
499+
volumes: ['mcp-memory:/memory']
500+
command: [open-nodes, '{{raw}}']
501+
prompts: 1
502+
resources: {}

0 commit comments

Comments
 (0)