0M

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

1 stars 0 forks 品質 51 トレンド 5

modular mcp server

概要

A with . Just edit a JSON config file to enable/disable tools and plugins! - : Enable/disable tools by editing config.json - : Pure Node.js (18+), no npm packages needed - : Easy to add new plugins - : Built-in access controls and sandboxing per tool - : ~500 lines of core code - : Minimal overhead, direct tool execution No code changes needed to add/remove tools. Want to enable file operations? Just edit the config: File and directory operations with path restrictions. - read_file - Read file contents - write_file - Write to files - list_directory - List directory contents - file_info - Get file metadata - delete_file - Delete files Execute shell commands with whitelist/blacklist support. Make HTTP requests with domain restrictions.

README

以下は原文 README の抜粋です。原文を見る。

Modular MCP Server

A config-driven, modular MCP (Model Context Protocol) server with zero dependencies. Just edit a JSON config file to enable/disable tools and plugins!

Features

  • Config-Driven: Enable/disable tools by editing config.json
  • Zero Dependencies: Pure Node.js (18+), no npm packages needed
  • Plugin Architecture: Easy to add new plugins
  • Security: Built-in access controls and sandboxing per tool
  • Simple: ~500 lines of core code
  • Fast: Minimal overhead, direct tool execution

Quick Start

# 1. Create or edit config.json
cp config.example.json config.json

# 2. Start the server
node server.js

# Or specify a config file
node server.js my-config.json

How It Works

Config File Structure

The config.json file controls everything:

{
  "server": {
    "name": "my-mcp-server",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "utils",
      "type": "builtin",
      "module": "utils",
      "enabled": true,
      "tools": [
        {
          "name": "echo",
          "enabled": true
        },
        {
          "name": "calculate",
          "enabled": true
        }
      ]
    }
  ]
}

That’s it! No code changes needed to add/remove tools.

Adding a Tool

Want to enable file operations? Just edit the config:

{
  "plugins": [
    {
      "name": "filesystem",
      "type": "builtin",
      "module": "filesystem",
      "enabled": true,
      "tools": [
        {
          "name": "read_file",
          "enabled": true,
          "allowedPaths": [".", "/tmp"]
        },
        {
          "name": "write_file",
          "enabled": true
        }
      ]
    }
  ]
}

Restart the server - done!

Disabling a Tool

Set "enabled": false:

{
  "name": "delete_file",
  "enabled": false  // ← Tool won't be available
}

Built-in Plugins

Filesystem Plugin

File and directory operations with path restrictions.

Tools:

  • read_file - Read file contents
  • write_file - Write to files
  • list_directory - List directory contents
  • file_info - Get file metadata
  • delete_file - Delete files

Config Options:

{
  "name": "read_file",
  "enabled": true,
  "allowedPaths": [".", "/tmp"],  // Restrict access
  "readonly": false                // Make filesystem readonly
}

Shell Plugin

Execute shell commands with whitelist/blacklist support.

Tools:

  • exec_command - Execute shell commands

Config Options:

{
  "name": "exec_command",
  "enabled": true,
  "allowedCommands": ["ls", "pwd", "cat"],  // Whitelist
  "blockedCommands": ["rm", "sudo"],         // Blacklist
  "maxBuffer": 1048576                       // 1MB output limit
}

HTTP Plugin

Make HTTP requests with domain restrictions.

Tools:

  • http_get - GET requests
  • http_post - POST requests

Config Options:

{
  "name": "http_get",
  "enabled": true,
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →