New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@monoes/mcp

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@monoes/mcp

Standalone MCP (Model Context Protocol) server - stdio/http/websocket transports, connection pooling, tool registry

npmnpm
Version
1.0.0
Version published
Weekly downloads
190
46.15%
Maintainers
1
Weekly downloads
 
Created
Source

@monoes/mcp

npm version license node

Standalone MCP server — stdio, HTTP, and WebSocket transports with tool registry, resources, prompts, sessions, and connection pooling. Zero @monomind/* dependencies.

Part of the Monomind ecosystem.

Install

npm install @monoes/mcp

Quick start

import { quickStart, defineTool } from '@monoes/mcp';

const server = await quickStart({
  transport: 'stdio',
  name: 'My MCP Server',
});

server.registerTool(defineTool(
  'greet',
  'Greet a user',
  { type: 'object', properties: { name: { type: 'string' } }, required: ['name'] },
  async ({ name }) => ({ message: `Hello, ${name}!` })
));

await server.start();

Transports

import { createMCPServer } from '@monoes/mcp';

// stdio (default — for Claude Code integration)
const server = createMCPServer({ transport: 'stdio', name: 'My Server' }, logger);

// HTTP with auth
const server = createMCPServer({
  transport: 'http',
  host: 'localhost',
  port: 3000,
  corsEnabled: true,
  auth: { enabled: true, method: 'token', tokens: ['secret'] },
}, logger);

// WebSocket
const server = createMCPServer({
  transport: 'websocket',
  host: 'localhost',
  port: 3001,
  maxConnections: 100,
}, logger);

Tool registry

import { createToolRegistry, defineTool } from '@monoes/mcp';

const registry = createToolRegistry(logger);

registry.register({
  name: 'calculate',
  description: 'Perform calculations',
  inputSchema: { type: 'object', properties: { expression: { type: 'string' } } },
  handler: async ({ expression }) => ({ result: eval(expression) }),
});

const result = await registry.execute('calculate', { expression: '2 + 2' });

Resources & prompts

import { createTextResource, definePrompt, textMessage } from '@monoes/mcp';

// Resources
const { resource, handler } = createTextResource('file://readme.txt', 'README', 'Hello!');
server.getResourceRegistry().registerResource(resource, handler);

// Prompts
const prompt = definePrompt('summarize', 'Summarize text', [
  { name: 'text', description: 'Text to summarize', required: true }
], (args) => ({ messages: [textMessage(`Summarize: ${args.text}`)] }));
server.getPromptRegistry().registerPrompt(prompt);

Server API

interface IMCPServer {
  start(): Promise<void>;
  stop(): Promise<void>;
  registerTool(tool: MCPTool): boolean;
  registerTools(tools: MCPTool[]): { registered: number; failed: string[] };
  getHealthStatus(): Promise<{ healthy: boolean; error?: string }>;
  getMetrics(): MCPServerMetrics;
  getSessions(): MCPSession[];
}

Built-in tools

ToolDescription
system/infoServer information
system/healthHealth status
system/metricsServer metrics
tools/list-detailedList all tools with details

License

MIT

Keywords

mcp

FAQs

Package last updated on 19 Jul 2026

Related posts