
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@monoes/mcp
Advanced tools
Standalone MCP (Model Context Protocol) server - stdio/http/websocket transports, connection pooling, tool registry
Standalone MCP server engine — Version 1.0.1. Supports stdio, HTTP, and WebSocket transports with tool registry, resources, prompts, sessions, rate limiting, and connection pooling. Zero @monomind/* dependencies.
Part of the Monomind ecosystem.
The Monomind MCP Subsystem is split across two core packages:
@monoes/mcp (v1.0.1) (This package): Standalone MCP protocol engine powering stdio, HTTP (Express/Cors/Helmet), and WebSocket (ws) transports, connection pooling, prompt/resource registries, rate limiting, and session lifecycle management.@monoes/monomindcli (v2.9.0): Implements CLI integration, binary entry points (monomind-mcp), MCP server manager, MCP client loader, and 30+ domain tool modules (src/mcp-tools/).protocolVersion: '2024-11-05' per standard MCP specification release (packages/@monomind/cli/src/mcp-server.ts:532 & packages/@monomind/mcp/src/server.ts:91).monomind-mcp hardcodes server identity VERSION = '3.0.0' in its JSON-RPC initialize response (serverInfo: { name: 'monomind', version: '3.0.0' } at packages/@monomind/cli/bin/mcp-server.js:13), decoupled from package versioning (v2.9.0).| Entry Point / Module | Location | Description & Role |
|---|---|---|
bin/mcp-server.js | packages/@monomind/cli/bin/mcp-server.js | Direct stdio MCP server binary (monomind-mcp). Reads lines from process.stdin and handles JSON-RPC calls (initialize, tools/list, tools/call, ping, notifications/initialized) with hardcoded version 3.0.0 protocol handshake behavior for direct Claude Code integration. |
commands/mcp.ts | packages/@monomind/cli/src/commands/mcp.ts | User-facing CLI command handler for monomind mcp subcommands (start, stop, status, list, call, toggle, health, logs, metrics, test). |
mcp-server.ts | packages/@monomind/cli/src/mcp-server.ts | Implements MCPServerManager class managing server process lifecycle, PID file management (~/.monomind/mcp-server.pid), background daemonization, and health monitoring. |
npm install @monoes/mcp
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();
Note: Monomind's
monomind-mcpbinary uses direct stdio transport (bin/mcp-server.js) for minimal latency with Claude Code. The@monoes/mcppackage provides full transport modularity (stdio, HTTP, WebSocket) for custom or standalone integrations.
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);
import { createToolRegistry, defineTool } from '@monoes/mcp';
const registry = createToolRegistry(logger);
registry.register({
name: 'add',
description: 'Add two numbers',
inputSchema: { type: 'object', properties: { a: { type: 'number' }, b: { type: 'number' } }, required: ['a', 'b'] },
handler: async ({ a, b }) => ({ result: a + b }),
});
const result = await registry.execute('add', { a: 2, b: 2 });
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);
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[];
}
| Tool | Description |
|---|---|
system/info | Server information |
system/health | Health status |
system/metrics | Server metrics |
tools/list-detailed | List all tools with details |
MIT
FAQs
Standalone MCP (Model Context Protocol) server - stdio/http/websocket transports, connection pooling, tool registry
The npm package @monoes/mcp receives a total of 1,137 weekly downloads. As such, @monoes/mcp popularity was classified as popular.
We found that @monoes/mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.