We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShunsukeHayashi/rpgmaker-mz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
#!/usr/bin/env node
import {
registerResource,
registerPromptTemplate,
executePrompt,
listResources,
initializeDefaultPrompts
} from "./dist/resource-manager.js";
import { createNewProject } from "./dist/game-creation-tools.js";
import * as fs from "fs/promises";
console.log("π§ͺ Resource & Prompt Manager Test\n");
const testPath = "/tmp/test-resource-project";
// Cleanup
try {
await fs.rm(testPath, { recursive: true, force: true });
} catch (e) {}
// Create test project
console.log("1οΈβ£ Creating test project...");
await createNewProject(testPath, "Resource Test");
console.log("β
Project created\n");
// Test 1: Register resource
console.log("2οΈβ£ Registering resource...");
const registerResult = await registerResource(testPath, {
id: "hero_template",
type: "template",
name: "Hero Template",
description: "Standard hero character template",
content: {
class: "Warrior",
baseHP: 100,
baseMP: 20,
skills: ["Attack", "Defend"]
},
metadata: {
tags: ["character", "hero"],
category: "templates"
}
});
if (registerResult.success) {
console.log("β
Resource registered:", registerResult.resourceId);
} else {
console.log("β Failed:", registerResult.error);
}
// Test 2: Register prompt template
console.log("\n3οΈβ£ Registering prompt template...");
const promptResult = await registerPromptTemplate(testPath, {
id: "create_dialogue",
name: "Create Hero Dialogue",
description: "Generate dialogue for hero character",
template: `Create dialogue for hero:
Name: {{heroName}}
Personality: {{personality}}
Template: {{resource:hero_template}}
Generate 3 dialogue lines.`,
variables: ["heroName", "personality"],
resourceRefs: ["hero_template"]
});
if (promptResult.success) {
console.log("β
Prompt template registered:", promptResult.promptId);
} else {
console.log("β Failed:", promptResult.error);
}
// Test 3: Execute prompt
console.log("\n4οΈβ£ Executing prompt...");
const executeResult = await executePrompt(testPath, "create_dialogue", {
heroName: "Alexander",
personality: "brave and just"
});
if (executeResult.success) {
console.log("β
Prompt executed successfully!");
console.log("\nπ Generated Prompt:");
console.log("---");
console.log(executeResult.prompt);
console.log("---");
} else {
console.log("β Failed:", executeResult.error);
}
// Test 4: List resources
console.log("\n5οΈβ£ Listing resources...");
const listResult = await listResources(testPath, {
tags: ["character"]
});
if (listResult.success) {
console.log("β
Found", listResult.resources.length, "resources");
listResult.resources.forEach(r => {
console.log(" -", r.id, ":", r.name);
});
} else {
console.log("β Failed:", listResult.error);
}
// Test 5: Initialize default prompts
console.log("\n6οΈβ£ Initializing default prompts...");
await initializeDefaultPrompts(testPath);
console.log("β
Default prompts initialized");
// Cleanup
console.log("\n7οΈβ£ Cleanup...");
await fs.rm(testPath, { recursive: true, force: true });
console.log("β
Cleaned up");
console.log("\nπ All resource manager tests passed!");