UNPKG

poml-mcp

Version:

MCP server that enhances user prompts using POML-style structure

55 lines (47 loc) 1.67 kB
import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"; async function main() { const transport = new StdioClientTransport({ command: process.execPath, // node args: ["index.mjs"], cwd: process.cwd(), }); const client = new Client({ name: "poml-agentflow-test-client", version: "0.1.0" }); await client.connect(transport); const toolResult = await client.callTool({ name: "enhance_prompt", arguments: { user_request: "Escribe un resumen ejecutivo de media página sobre el impacto de POML en flujos de prompting empresariales", audience: "Directores de producto", style: "Profesional pero claro", domain: "IA aplicada a productividad", include: ["Beneficios cuantificables", "Riesgos y mitigaciones"], constraints: ["Sin datos sensibles", "Referencias si se citan números"], }, }); // Print textual content for compatibility if (Array.isArray(toolResult.content)) { for (const part of toolResult.content) { if (part.type === "text") console.log(part.text); } } // Print structuredContent if available (preferred) if (toolResult.structuredContent) { console.log("\n=== structuredContent ==="); const { enhanced, poml, rendered } = toolResult.structuredContent; if (enhanced) { console.log("[enhanced]\n" + enhanced); } if (poml) { console.log("\n[poml]\n" + poml); } if (rendered) { console.log("\n[rendered]\n" + rendered); } } await client.close(); } main().catch((e) => { console.error(e); process.exit(1); });