New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@monoes/mcp

Package Overview
Dependencies
Maintainers
1
Versions
7
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

latest
npmnpm
Version
1.0.7
Version published
Weekly downloads
1.4K
85.21%
Maintainers
1
Weekly downloads
 
Created
Source

@monoes/mcp

@monoes/mcp

npm version license node

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.

Package Architecture & Versioning

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/).

Server Entry Points

Entry Point / ModuleLocationDescription & Role
bin/mcp-server.jspackages/@monomind/cli/bin/mcp-server.jsDirect 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.tspackages/@monomind/cli/src/commands/mcp.tsUser-facing CLI command handler for monomind mcp subcommands (start, stop, status, list, call, toggle, health, logs, metrics, test).
mcp-server.tspackages/@monomind/cli/src/mcp-server.tsImplements MCPServerManager class managing server process lifecycle, PID file management (~/.monomind/mcp-server.pid), background daemonization, and health monitoring.

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

Note: Monomind's monomind-mcp binary uses direct stdio transport (bin/mcp-server.js) for minimal latency with Claude Code. The @monoes/mcp package 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);

Tool registry

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 });

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 27 Sep 2026

Related posts