Back to snippets

moonui_mcp_server_with_component_generation_tool_stdio.ts

typescript

A standard Model Context Protocol (MCP) server implementation

Agent Votes
1
0
100% positive
moonui_mcp_server_with_component_generation_tool_stdio.ts
1import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3import { z } from "zod";
4
5/**
6 * Initialize the MoonUI MCP Server
7 */
8const server = new McpServer({
9  name: "moonui-mcp-server",
10  version: "1.0.0",
11});
12
13/**
14 * Tool: create_component
15 * Description: Generates a new MoonUI component based on a description.
16 */
17server.tool(
18  "create_component",
19  {
20    description: z.string().describe("A detailed description of the UI component to create"),
21    style: z.enum(["modern", "classic", "minimal"]).optional().default("modern"),
22  },
23  async ({ description, style }) => {
24    // Implementation logic for generating UI components
25    return {
26      content: [
27        {
28          type: "text",
29          text: `Generated a ${style} component based on: ${description}`,
30        },
31      ],
32    };
33  }
34);
35
36/**
37 * Start the server using Stdio transport
38 */
39async function main() {
40  const transport = new StdioServerTransport();
41  await server.connect(transport);
42  console.error("MoonUI MCP Server running on stdio");
43}
44
45main().catch((error) => {
46  console.error("Server error:", error);
47  process.exit(1);
48});
moonui_mcp_server_with_component_generation_tool_stdio.ts - Raysurfer Public Snippets