Skip to main content
Glama
TalissonFV

MCP User Management Server

by TalissonFV
server.js2.74 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { z } from "zod"; import fs from "node:fs/promises"; const server = new McpServer({ name: "test", version: "1.0.0", capabilities: { resources: {}, tools: {}, prompts: {}, }, }); server.resource("get-users", "users://all", { description: "Get all users", title: "Get Users", mimeType: "application/json", }, (uri) => __awaiter(void 0, void 0, void 0, function* () { const users = yield import("./data/users.json", { with: { type: "json" } }).then((m) => m.default); return { contents: [{ uri: uri.href, text: JSON.stringify(users), mimeType: "application/json" }], }; })); server.tool("create-user", "Create a new user", { name: z.string(), email: z.string(), password: z.string(), address: z.string(), phone: z.string(), }, { title: "Create User", readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true, description: "Create a new user", }, (params) => __awaiter(void 0, void 0, void 0, function* () { try { yield createUser(params); return { content: [{ type: "text", text: "User created" }], }; } catch (_a) { return { content: [{ type: "text", text: "Failed to save user" }], }; } })); function main() { return __awaiter(this, void 0, void 0, function* () { const transport = new StdioServerTransport(); yield server.connect(transport); }); } function createUser(user) { return __awaiter(this, void 0, void 0, function* () { const users = yield import("./data/users.json", { with: { type: "json" } }).then((m) => m.default); const id = users.length + 1; users.push(Object.assign({ id }, user)); yield fs.writeFile("./src/data/users.json", JSON.stringify(users, null, 2)); return id; }); } main();

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TalissonFV/mcp-test'

If you have feedback or need assistance with the MCP directory API, please join our Discord server