Skip to main content
Glama
liuqihonggit

@jingjingbox/mcp-cli-bridge

by liuqihonggit

@jingjingbox/mcp-cli-bridge

Servidor de puente MCP-CLI: invoca herramientas CLI a través del protocolo MCP, proporcionando a los asistentes de IA potentes capacidades de grafos de conocimiento y lectura de archivos.

Introducción

@jingjingbox/mcp-cli-bridge es un servidor de puente basado en Model Context Protocol (MCP), que expone las capacidades de las herramientas CLI a asistentes de IA (como TraeCN) a través del protocolo MCP.

Características principales

  • Gestión de grafos de conocimiento: Crea entidades, establece relaciones y busca nodos para construir una red de conocimiento completa.

  • Lectura de archivos: Lectura eficiente del inicio o final de archivos, con soporte para el procesamiento de archivos grandes.

  • Aislamiento de procesos: Los complementos CLI se ejecutan en procesos independientes, por lo que un fallo no afecta al servicio principal.

  • Compilación NativeAOT: Rendimiento extremo, tamaño ultra pequeño e inicio rápido.

  • Carga progresiva: Las herramientas se cargan bajo demanda, sin ocupar espacio en el contexto.

Related MCP server: mcp_server_for_claudes_toolbox

Requisitos del sistema

  • Sistema operativo: Windows x64

  • Node.js: >= 14.0.0

  • Runtime: .NET 10.0 Runtime (incluido en el paquete)

Instalación

Instalación global

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

Usando npx (recomendado)

No requiere instalación, ejecútelo directamente:

npx @jingjingbox/mcp-cli-bridge

Configuración

Variables de entorno

Variable

Descripción

Obligatorio

MCP_MEMORY_PATH

Directorio de almacenamiento de datos del grafo de conocimiento MemoryCli

Sí

Los archivos de datos se crearán automáticamente:

  • memory.jsonl - Datos de entidades

  • memory_relations.jsonl - Datos de relaciones

Ejemplo de configuración de TraeCN

Agregue lo siguiente a la configuración MCP de TraeCN:

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

Configuración de instalación global

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

Lista de herramientas

Herramientas de la capa Host (expuestas directamente)

Nombre de la herramienta

Descripción

tool_search

Busca herramientas CLI disponibles

tool_execute

Ejecuta el comando de la herramienta CLI especificada

tool_describe

Obtiene información descriptiva de la herramienta

tool_list

Lista todas las herramientas disponibles

package_status

Comprueba el estado de instalación del paquete

package_install

Instala el paquete especificado

Herramientas MemoryCli (grafo de conocimiento)

Se invocan a través de tool_execute, con el prefijo de comando memory_:

Nombre de la herramienta

Descripción

memory_create_entities

Crea múltiples entidades en el grafo de conocimiento

memory_create_relations

Crea relaciones entre entidades

memory_read_graph

Lee todo el grafo de conocimiento

memory_search_nodes

Busca nodos en el grafo de conocimiento

memory_add_observations

Agrega registros de observación a una entidad

memory_delete_entities

Elimina entidades y sus relaciones

memory_open_nodes

Obtiene nodos específicos por nombre

Herramientas FileReaderCli (lectura de archivos)

Se invocan a través de tool_execute, con el prefijo de comando file_reader_:

Nombre de la herramienta

Descripción

file_reader_read_head

Lee las primeras N líneas de un archivo

file_reader_read_tail

Lee las últimas N líneas de un archivo

Ejemplos de uso

Crear entidades de conocimiento

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

Establecer relaciones entre entidades

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

Buscar nodos de conocimiento

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

Leer el inicio de un archivo

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

Leer el final de un archivo

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

Diseño de arquitectura

McpHost/
├── McpHost.exe          # MCP 主机服务
├── MemoryCli.exe        # 知识图谱 CLI 插件
├── FileReaderCli.exe    # 文件读取 CLI 插件
└── index.js             # npm 入口文件
  • McpHost: Servidor del protocolo MCP, responsable de la exposición de herramientas y la gestión de procesos CLI.

  • MemoryCli: Gestión del grafo de conocimiento, admite CRUD de entidades, relaciones y registros de observación.

  • FileReaderCli: Lectura eficiente de archivos, admite la lectura del inicio/final de archivos grandes.

Stack tecnológico

  • .NET 10.0 - Plataforma de ejecución

  • NativeAOT - Compilación nativa, rendimiento extremo

  • C# 13 - Lenguaje de programación

  • JSON-RPC 2.0 - Protocolo de comunicación CLI

  • MCP Protocol - Protocolo de comunicación con asistentes de IA

Desarrollo

Repositorio de código fuente

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

Construcción

# 使用 PowerShell
.\build.ps1

Pruebas

# 单元测试
dotnet test McpHost.slnx

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

Documentación detallada

Licencia

MIT

Autor

JJbox

Related MCP Connectors

Related MCP Servers