Skip to main content
Glama
Isuprman

toolscope

by Isuprman

ToolScope

Escanea todas las herramientas de tu Mac y consúltalas para humanos y agentes de IA.

ToolScope cataloga las aplicaciones GUI y las herramientas CLI instaladas en tu equipo — mediante Homebrew, npm, pipx, uv, /Applications y $PATH — en una base de datos SQLite local que puedes buscar por capacidad, auditar para limpiar o consultar desde un agente de IA a través de MCP. Es de solo lectura: nunca desinstala nada.

Por qué

  • Olvidas lo que has instalado. Años de brew install, npm install -g y pipx install dejan cientos de entradas; brew list es un muro de texto sin ninguna señal de uso.

  • Recuerdas la tarea, no el nombre de la herramienta. Quieres «transcodificar vídeo», pero no consigues recordar que es ffmpeg. ToolScope busca en las descripciones y en las notas de capacidad generadas por IA, no solo en los nombres.

  • Los agentes de IA no ven tu máquina. Cuando un agente de programación asume una tarea no tiene una respuesta estructurada a «¿qué puede hacer este Mac?». ToolScope responde eso en una única llamada a una herramienta MCP.

Related MCP server: WEATHGARDS

Características

  • Escaneo de una sola pasada de seis fuentes a SQLite en ~/.toolscope/toolscope.db; los nuevos escaneos hacen UPSERT en su sitio y conservan first_seen.

  • Búsqueda de posibilidades en nombres, descripciones escritas a mano y descripciones generadas por IA.

  • Seguimiento de uso mediante un gancho preexec de zsh idempotente (usage.count, usage.last_used) para que sepas que está realmente en desuso.

  • Panel web local (React + TypeScript, sin framework de interfaz): seis vistas — tarjetas de resumen, lista de herramientas, lista con buscador, vista de no utilizadas, estadísticas de uso (Top 20 + tendencia de 30 días), guía de primer inicio y ajustes de LLM — además de una paleta de comandos ⌘K y un panel de detalles.

  • Servidor MCP stdio con tres herramientas para integración con agentes.

  • Exportación a Brewfile para migrar el equipo.

  • Autocomprobación del entorno con doctor.

  • Descripciones opcionales de capacidad en chino, de una sola línea, generadas mediante cualquier extremo compatible con OpenAI; el proveedor/modelo/clave se configuran en la pestaña Ajustes del panel o con toolscope config (se guarda localmente con permisos 0600, sin necesidad de variables de entorno).

  • Envoltura opcional de Electron fina que envuelve el panel.

Inicio rápido

Requiere macOS y Python 3.12+.

pipx install toolscope
toolscope scan                  # ~13s; prints per-source counts; missing sources count 0
toolscope list                  # everything recorded so far
toolscope search video --json   # capability search; parseable JSON envelope
toolscope serve                 # dashboard at http://127.0.0.1:8421

Referencia de la CLI

Los comandos de listado imprimen texto legible de forma predeterminada y la despacha JSON {"items": [...], "total": N} con --json.

Comando

Qué hace

toolscope scan

Escanea las seis fuentes, hace UPSERT en la base de datos e imprime los contadores por fuente

toolscope list [--json]

Lista todas las herramientas registradas (filtros --kind / --sort / --unused-days)

toolscope search CONSULTA [--json]

Busca por nombre / descripción / ai_description

toolscope info NAME [--json]

Detalle de una sola herramienta; sale con un código distinto de cero cuando no la encuentra

toolscope serve [--host H] [--port P]

Sirve API + panel, puerto 8421 de forma predeterminada

toolscope stats [--json]

Resumen de {total, by_kind, never_used}

toolscope mcp

Inicia el servidor MCP stdio

toolscope hook

Imprime el fragmento preexec de zsh

toolscope hook-install

Instala el fragmento en ~/.zshrc; es idempotente y seguro volver a ejecutarlo

toolscope export [--out FILE] [--json]

Genera un Brewfile (secciones de casks y de fórmulas)

toolscope doctor [--json]

Comprobación del entorno: fuentes, compilación del frontend, salud de la base de datos

toolscope config

Muestra los ajustes de LLM (clave enmascarada); subcomandos config set provider/base-url/model/api-key/clear-api-key y config test

toolscope describe

Ejecución opcional de LLM que rellena las ai\_description vacías; lee la configuración desde config (o variables de entorno); sale con código 2 y una guía de configuración si no hay clave de API

Seguimiento de uso:

toolscope hook-install   # run once; new shells log each command to ~/.toolscope/usage.log

Migración de la máquina:

toolscope scan
toolscope export --out Brewfile
brew bundle --file=Brewfile

For AI Agents

Dos superficies de integración sobre el mismo contrato JSON.

CLI. Los comandos de listado aceptan --json e imprimen {"items": [...], "total": N}; los comandos de un solo objeto imprimen el objeto directamente. Un objeto de herramienta lleva id, name, kind, version, path, origin, description, ai_description, usage:{count,last_used}|null.

toolscope search video --json
toolscope info ffmpeg --json
toolscope stats --json

HTTP API. toolscope serve expone los mismos datos en JSON sobre 127.0.0.1:8421; todos los endpoints de listado devuelven el envoltorio anterior: /api/tools, /api/tools/{id}, /api/search?q=, /api/stats, /api/usage/log, /api/usage/stats, /api/export (descarga de Brewfile), /api/doctor, /api/hook/snippet y POST /api/scan. Los ajustes de LLM también pueden gestionarse desde agentes: GET/PUT /api/settings, GET /api/settings/providers, POST /api/settings/test. Las claves de API siempre se devuelven enmascaradas, nunca completas.

MCP. Instala el extra la primera vez: pipx install "toolscope[mcp]". Después registra el servidor en tu cliente definitivo, con el estilo de configuración mcpServers de Claude Code:

{
  "mcpServers": {
    "toolscope": {
      "command": "toolscope",
      "args": ["mcp"]
    }
  }
}

Quedan expuestas tres herramientas:

  • search_tools(query, kind?) — búsqueda de capacidades («¿puede hacer esto esta máquina?»); devuelve el envoltorio anterior

  • get_tool(name) — objeto de herramienta único, o el texto literal null cuando no se encuentra (resultado normal, no un error)

  • machine_stats() — {total, by_kind, never_used}

Capturas de pantalla

Marcador pendiente de la primera captura con una máquina completa — las capturas planeadas están en docs/screenshots.md.

Cómo funciona

scan recoge de seis fuentes y hace UPSERT con la clave (name, kind, origin) en SQLite dentro de ~/.toolscope/. Las entradas que desaparecen después de se conservan, no se eliminan.

Origen

Valores de tipo

Obtenido a partir de

Gestor ausente

/Applications, ~/Applications

app

Análisis de Info.plist

n/a en macOS

Homebrew

formula, cask

brew list --formula/--cask --versions

se omite, cuenta 0

Directorios $PATH

binary

archivos ejecutables de las rutas de $PATH

resultado vacío

Paquetes globales de npm

npm

npm ls -g --json --depth=0

se omite, cuenta 0

Entornos pipx

pipx

pipx list --json

se omite, cuenta 0

Herramientas uv

uv

uv tool list

se omite, cuenta 0

Una fuente cuyo binario de gestor no está presente nunca hace fallar el escaneo; se reporta como omitida con conteo 0.

Desarrollo

git clone <repo-url> && cd toolscope
python3.12 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
python -m pytest -q                              # backend suite must be green
cd frontend && npm install && npm run build      # dashboard build; tsc must be clean
cd .. && toolscope serve                         # serves frontend/dist at :8421

Sheprocesa de escritorio opcional: consulta desktop/ (npm install && npm start).

Licencia

MIT


Resumen

ToolScope reúne las decenas de aplicaciones GUI y más de cien herramientas CLI que instalas en tu Mac con los años en una base de datos SQLite local (~/.toolscope/), y responde tres preguntas: qué he instalado / para qué sirve / si realmente lo he usado. Solo lectura, no desinstala nada.

pipx install toolscope            # 需 MCP 时:pipx install "toolscope[mcp]"
toolscope scan                    # 全量扫描六来源,输出各来源计数;缺失来源计 0 跳过
toolscope search 视频 --json      # 能力搜索:跨名称与描述匹配,支持中文关键词
toolscope serve                   # 浏览器打开 http://127.0.0.1:8421 看板
toolscope config                  # 可选:配置 LLM 供应商/模型/Key(看板「设置」页签同源,Key 打码 0600 存储)
toolscope hook-install            # 可选:安装 zsh 钩子记录使用度(幂等)
toolscope export --out Brewfile   # 迁移新机时配合 brew bundle 还原环境

El panel incluye seis vistas (resumen / lista / no utilizadas / estadísticas de uso / guía / configuración), paleta de comandos ⌘K y una detalle. La integración con agentes de IA se ve en For AI Agents antes: todos los comandos de la CLI aceptan salida en formato --json; la API HTTP cubre los mismos datos (/api/tools, /api/search?q=, /api/usage/stats, /api/settings, etc.); o con la escritura mcpServers se puede registrar toolscope mcp como servidor stdio de MCP (tres herramientas: search_tools / get_tool / machine_stats). Licencia MIT.

Related MCP Connectors

Related MCP Servers