Skip to main content
Glama
liuqihonggit

@jingjingbox/mcp-cli-bridge

by liuqihonggit

@jingjingbox/mcp-cli-bridge

Мост MCP-CLI — вызывает CLI-инструменты через протокол MCP, предоставляя ИИ-ассистентам мощные возможности работы с графами знаний и чтения файлов.

Введение

@jingjingbox/mcp-cli-bridge — это сервер-мост, основанный на Model Context Protocol (MCP), который предоставляет возможности CLI-инструментов ИИ-ассистентам (таким как TraeCN) через протокол MCP.

Основные характеристики

  • Управление графом знаний: создание сущностей, установление связей, поиск узлов для построения полноценной сети знаний

  • Чтение файлов: эффективное чтение начала или конца файлов, поддержка обработки больших файлов

  • Изоляция процессов: CLI-плагины работают в отдельных процессах, сбои не влияют на основной сервис

  • Компиляция NativeAOT: максимальная производительность, минимальный размер, быстрый запуск

  • Постепенная загрузка: инструменты загружаются по мере необходимости, не занимая место в контексте

Related MCP server: mcp_server_for_claudes_toolbox

Системные требования

  • ОС: Windows x64

  • Node.js: >= 14.0.0

  • Среда выполнения: .NET 10.0 Runtime (включена в пакет)

Установка

Глобальная установка

npm install -g @jingjingbox/mcp-cli-bridge

Использование npx (рекомендуется)

Не требует установки, запускается напрямую:

npx @jingjingbox/mcp-cli-bridge

Конфигурация

Переменные окружения

Переменная

Описание

Обязательно

MCP_MEMORY_PATH

Директория хранения данных графа знаний MemoryCli

Да

Файлы данных создаются автоматически:

  • memory.jsonl - данные сущностей

  • memory_relations.jsonl - данные связей

Пример конфигурации TraeCN

Добавьте в конфигурацию MCP в TraeCN:

{
  "mcpServers": {
    "cli-bridge": {
      "type": "stdio",
      "command": "npx",
      "args": ["@jingjingbox/mcp-cli-bridge"],
      "enabled": true,
      "env": {
        "MCP_MEMORY_PATH": "D:\\MCP\\Memory"
      }
    }
  }
}

Конфигурация глобальной установки

{
  "mcpServers": {
    "cli-bridge": {
      "type": "stdio",
      "command": "mcp-cli-bridge",
      "enabled": true,
      "env": {
        "MCP_MEMORY_PATH": "D:\\MCP\\Memory"
      }
    }
  }
}

Список инструментов

Инструменты уровня Host (прямое предоставление)

Название инструмента

Описание

tool_search

Поиск доступных CLI-инструментов

tool_execute

Выполнение указанной команды CLI-инструмента

tool_describe

Получение описания инструмента

tool_list

Список всех доступных инструментов

package_status

Проверка статуса установки пакета

package_install

Установка указанного пакета

Инструменты MemoryCli (граф знаний)

Вызываются через tool_execute, префикс команды memory_:

Название инструмента

Описание

memory_create_entities

Создание нескольких сущностей в графе знаний

memory_create_relations

Создание связей между сущностями

memory_read_graph

Чтение всего графа знаний

memory_search_nodes

Поиск узлов в графе знаний

memory_add_observations

Добавление записей наблюдений к сущности

memory_delete_entities

Удаление сущностей и их связей

memory_open_nodes

Получение конкретных узлов по имени

Инструменты FileReaderCli (чтение файлов)

Вызываются через tool_execute, префикс команды file_reader_:

Название инструмента

Описание

file_reader_read_head

Чтение первых N строк файла

file_reader_read_tail

Чтение последних N строк файла

Примеры использования

Создание сущности знаний

{
  "command": "memory_create_entities",
  "entities": [
    {
      "name": "React",
      "entityType": "Framework",
      "observations": ["用于构建用户界面的 JavaScript 库", "由 Meta 维护"]
    },
    {
      "name": "TypeScript",
      "entityType": "Language",
      "observations": ["JavaScript 的超集", "添加了静态类型检查"]
    }
  ]
}

Установление связей между сущностями

{
  "command": "memory_create_relations",
  "relations": [
    {
      "from": "React",
      "to": "TypeScript",
      "relationType": "supports"
    }
  ]
}

Поиск узлов знаний

{
  "command": "memory_search_nodes",
  "query": "React"
}

Чтение начала файла

{
  "command": "file_reader_read_head",
  "filePath": "C:\\project\\logs\\app.log",
  "lineCount": 20
}

Чтение конца файла

{
  "command": "file_reader_read_tail",
  "filePath": "C:\\project\\logs\\error.log",
  "lineCount": 50
}

Архитектура

McpHost/
├── McpHost.exe          # MCP 主机服务
├── MemoryCli.exe        # 知识图谱 CLI 插件
├── FileReaderCli.exe    # 文件读取 CLI 插件
└── index.js             # npm 入口文件
  • McpHost: сервер протокола MCP, отвечающий за предоставление инструментов и управление процессами CLI

  • MemoryCli: управление графом знаний, поддержка CRUD для сущностей, связей и записей наблюдений

  • FileReaderCli: эффективное чтение файлов, поддержка чтения начала/конца больших файлов

Технологический стек

  • .NET 10.0 - платформа выполнения

  • NativeAOT - нативная компиляция, максимальная производительность

  • C# 13 - язык программирования

  • JSON-RPC 2.0 - протокол связи CLI

  • MCP Protocol - протокол связи с ИИ-ассистентом

Разработка

Репозиторий исходного кода

git clone https://gitee.com/JJbox/memory.git

Сборка

# 使用 PowerShell
.\build.ps1

Тестирование

# 单元测试
dotnet test McpHost.slnx

# E2E 测试
dotnet run --project tests\E2E\MyMemoryServer.E2E.csproj -c Release

Подробная документация

Лицензия

MIT

Автор

JJbox

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/liuqihonggit/mcp-cli-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server