Token导航 LogoToken导航TokenDH.com
Serena Modular MCP logo
运维云端未说明官方级别未说明来源级核验

Serena Modular MCP

MCP Server

一个用于高效管理多个MCP服务器的代理服务器,通过工具分组和按需加载工具模式处理大规模工具集合。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
工具管理模块化架构TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

shin902

提供方

shin902

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

模块化MCP

](https://www.npmjs.com/package/serena-modular-mcp)

多个MCP 有效管理服务器Model Context Protocol (MCP) 代理服务器。您可以对工具进行分组,并根据需要按需导入工具模式,以处理大型工具集合。

npm: https://www.npmjs.com/package/serena-modular-mcp

概念

传统MCP 在安装过程中,当从多个服务器处理多个工具时LLM 中所述修改相应参数的值。Modular MCP 通过以下方法解决这个问题:

  • 上下文简化:通过在工具说明中嵌入类别信息LLM 无需工具调用即可找到可用类别
  • 按需读取:仅检索特定类别所需的详细工具架构
  • 兴趣分离:明确区分工具的发现阶段和执行阶段
  • 代理体系结构:多个上游MCP 管理服务器的单个MCP 作为端点

注意:当前 塞雷娜 MCP 仅支持服务器。

机制

1.准备配置文件

首先,复制示例配置文件,创建自己的配置文件:

cp serena-config-example.json serena-config.json

配置文件(serena-config.json)具有以下结构:

{
  "$schema": "./config-schema.json",
  "mcpServers": {
    "serena": {
      "type": "stdio",
      "description": "社内コードベース操作に最適化された MCP。",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/oraios/serena",
        "serena",
        "start-mcp-server"
      ],
      "env": {
        "_comment": "本家Serenaの設定を参照してください"
      }
    }
  },
  "categories": {
    "fs": {
      "description": "ファイル/ディレクトリの読み書きと検索。",
      "server": "serena",
      "tools": {
        "includeNames": ["read_file", "create_text_file", "list_dir", ...],
        "overrides": {
          "read_file": {
            "enabled": true,
            "description": "カスタム説明"
          }
        }
      }
    },
    ...
  }
}
补充:多数情况下$schema 是编辑器的补充和静态验证的参考。执行时很少需要下载架构本身"$schema": "./config-schema.json" 中所述修改相应参数的值。但是,由于编辑器的补充和本地验证将丢失,因此建议在开发时保留下来。

重要配置:

  • mcpServers:上游MCP 服务器设置(当前为Serena 仅支持)
  • categories:按类别对工具进行分类,指定每个类别的说明和包含的工具
  • tools.includeNames:包含在类别中的工具名称列表
  • tools.overrides:启用/禁用单个工具或覆盖自定义说明

本家Serena 的设置方法正式文档来修改标记元素的显示属性。

2. Modular MCP 注册

MCP 客户端配置文件(对于Claude Desktop) ~/Library/Application Support/Claude/claude_desktop_config.json)Modular MCP 注册:

{
  "mcpServers": {
    "serena-modular-mcp": {
      "command": "npx",
      "args": ["-y", "serena-modular-mcp", "/path/to/serena-config.json"]
    }
  }
}

注意:配置文件的路径仅限于相对路径(例如: ./serena-config.json)。不支持绝对路径。

3.注册两个工具

Modular MCP 启动时LLM 仅注册两个工具:

  • get-modular-tools:获取特定类别的工具名称和模式
  • call-modular-tool:运行特定类别的工具

get-modular-tools 工具说明包含可用类别的信息:

modular-mcp は複数の MCP サーバーを整理されたカテゴリとして管理し、すべてのツール説明で LLM を圧倒する代わりに、必要なカテゴリのツール説明のみをオンデマンドで提供します。

このツールを使用して特定のカテゴリで利用可能なツールを取得し、その後 call-modular-tool を使用してそれらを実行します。

デフォルトで利用可能なカテゴリ(コンフィグで設定可能):
- fs: ファイル/ディレクトリの読み書きと検索。
- code: シンボル探索とコード編集。
- memory: メモリ操作。
- session: 実行・初期化・構成。
- meta: メタ思考/初期指示。

此说明作为系统提示的一部分LLM 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

4.按需加载工具

LLM 可以按类别加载工具:

  1. 発见: LLM 确认工具说明中可用的类别(无需调用工具)
  2. 探索: LLM 如果需要文件操作工具category="fs"get-modular-tools 打开和保存文件
  3. 実行: LLM 啊 call-modular-tool 来修改标记元素的显示属性 read_file 等特定工具

例如,读取文件时:

get-modular-tools(category="fs")
→ すべての fs カテゴリのツールスキーマが返される

call-modular-tool(category="fs", name="read_file", args={"path": "/path/to/file.txt"})
→ Serena MCP サーバーを通じてファイルを読み込む

此工作流可在需要时提供对所有工具的访问,同时最小化上下文使用。

利点

  • 减少上下文使用:仅在实际需要时导入工具信息
  • 可扩展:可管理多个工具,而无需压迫上下文
  • 柔软性:轻松添加和删除工具类别而不影响其他内容
  • 透过性:工具就像在上游服务器上直接调用一样运行
  • 自定义:允许按类别启用/禁用工具或覆盖说明

项目结构

serena-modular-mcp/
├── src/                    # ソースコード
│   ├── index.ts           # エントリーポイント
│   ├── server.ts          # MCP サーバー実装
│   ├── client-manager.ts  # アップストリーム MCP クライアント管理
│   ├── config-loader.ts   # 設定ファイル読み込み
│   ├── transport.ts       # トランスポート層
│   ├── logger.ts          # ロガー
│   ├── types.ts           # 型定義
│   └── scripts/           # ユーティリティスクリプト
│       └── generate-schema.ts
├── packages/              # パッケージ
│   └── serena-mcp/       # サブパッケージ(将来的な拡張用)
├── docs/                  # ドキュメント
│   ├── task.md
│   └── troubleshooting-connection-issues.md
├── dist/                  # ビルド成果物
├── config-schema.json     # 設定ファイルのJSON Schema
├── serena-config.json     # 設定ファイルの例
├── package.json
├── tsconfig.json
├── biome.json             # Biome設定(リント/フォーマット)
├── pnpm-workspace.yaml    # pnpm ワークスペース設定
└── README.md

开発

安装,安装

# リポジトリをクローン
git clone https://github.com/shin902/serena-modular-mcp.git
cd serena-modular-mcp

# 依存関係のインストール
pnpm install

# 設定ファイルを準備
cp serena-config-example.json serena-config.json
# serena-config.json を編集して、本家 Serena の設定を行います

# ビルド
pnpm build

# ビルドの内訳
pnpm build:esbuild  # TypeScriptをバンドル
pnpm build:schema   # JSON Schemaを生成

编码质量

# リント
pnpm lint

# 自動修正
pnpm fix

# 型チェック
pnpm typecheck

发布

# バージョンアップとリリース
pnpm release

要件

  • Node.js>=22.0.0
  • pnpm 10.21.0

许可证

麻省理工学院

目录标签

目录标签

工具管理模块化架构TypeScriptClaudeMCP代理本地部署LLM优化服务器管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP