Skip to main content
Glama
index.ts3 kB
#!/usr/bin/env node import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js"; // Import business tools import { fileSystemTool } from "./tools/filesystem.js"; import { processManagerTool } from "./tools/process.js"; import { systemInfoTool } from "./tools/system.js"; import { registryTool } from "./tools/registry.js"; import { serviceManagerTool } from "./tools/service.js"; import { networkTool } from "./tools/network.js"; import { performanceTool } from "./tools/performance.js"; // Create MCP server const server = new Server({ name: "windows-system-mcp", version: "1.0.0", }, { capabilities: { tools: {} } }); // Tool registration server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ { name: fileSystemTool.name, description: fileSystemTool.description, inputSchema: fileSystemTool.parameters }, { name: processManagerTool.name, description: processManagerTool.description, inputSchema: processManagerTool.parameters }, { name: systemInfoTool.name, description: systemInfoTool.description, inputSchema: systemInfoTool.parameters }, { name: registryTool.name, description: registryTool.description, inputSchema: registryTool.parameters }, { name: serviceManagerTool.name, description: serviceManagerTool.description, inputSchema: serviceManagerTool.parameters }, { name: networkTool.name, description: networkTool.description, inputSchema: networkTool.parameters }, { name: performanceTool.name, description: performanceTool.description, inputSchema: performanceTool.parameters } ] }; }); // Tool call handling server.setRequestHandler(CallToolRequestSchema, async (request) => { const args = request.params.arguments || {}; switch (request.params.name) { case "filesystem": return await fileSystemTool.run(args as any); case "process_manager": return await processManagerTool.run(args as any); case "system_info": return await systemInfoTool.run(args as any); case "registry": return await registryTool.run(args as any); case "service_manager": return await serviceManagerTool.run(args as any); case "network": return await networkTool.run(args as any); case "performance": return await performanceTool.run(args as any); default: throw new Error(`Unknown tool: ${request.params.name}`); } }); // Start server async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error("Windows System MCP Server running on stdio"); } main().catch(console.error);

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/guangxiangdebizi/windows-system-mcp'

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