permamind
Version:
An MCP server that provides an immortal memory layer for AI agents and clients
38 lines (37 loc) • 1.26 kB
JavaScript
import { z } from "zod";
import { fetchEvents } from "../../../relay.js";
import { MEMORY_KINDS } from "../../../services/aiMemoryService.js";
import { ToolCommand } from "../../core/index.js";
export class ListTokensCommand extends ToolCommand {
context;
metadata = {
description: "Core MVP functionality: List all saved token mappings from the registry",
name: "listTokens",
openWorldHint: false,
readOnlyHint: true,
title: "List Saved Tokens",
};
parametersSchema = z.object({});
constructor(context) {
super();
this.context = context;
}
async execute() {
try {
// Use dedicated kind for efficient filtering
const filter = {
kinds: [MEMORY_KINDS.TOKEN_MAPPING],
//limit: 100
};
const _filters = JSON.stringify([filter]);
const events = await fetchEvents(this.context.hubId, _filters);
return JSON.stringify(events);
}
catch (error) {
return JSON.stringify({
error: `Failed to list tokens: ${error instanceof Error ? error.message : "Unknown error"}`,
success: false,
});
}
}
}