toolscope
ToolScope
Сканируйте каждый инструмент на вашем Mac и делайте его доступным для поиска людям и ИИ-агентам.
ToolScope каталогизирует GUI-приложения и CLI-инструменты, установленные на вашей машине, — через Homebrew, npm, pipx, uv, /Applications и $PATH — в локальную базу данных SQLite, которую можно искать по возможностям, проверять для наведения порядка или опрашивать из ИИ-агента через MCP. Режим только для чтения: он никогда ничего не удаляет.
Зачем
Вы забываете, что установили. Годы
brew install,npm install -gиpipx installоставляют сотни записей;brew list— это стена текста без признаков использования.Вы помните задачу, а не имя инструмента. Вы хотите «перекодировать видео», но не можете вспомнить, что это ffmpeg. ToolScope ищет по описаниям и сгенерированным ИИ заметкам о возможностях, а не только по именам.
ИИ-агенты не видят вашу машину. Когда агент берёт в работу задачу, у него нет структурированного ответа на вопрос «что умеет этот Mac?». ToolScope отвечает на него одним вызовом инструмента MCP.
Related MCP server: WEATHGARDS
Возможности
Одноразовое сканирование всех шести источников в SQLite по адресу
~/.toolscope/toolscope.db; повторные сканирования делают UPSERT на месте и сохраняютfirst_seenПоиск по возможностям: по именам, описаниям, написанным вручную, и описаниям, сгенерированным ИИ
Отслеживание использования через идемпотентный zsh-preexec-хук (
usage.count,usage.last_used), чтобы вы знали, что реально мертвоЛокальная веб-панель (React + TypeScript, без UI-фреймворка): шесть представлений — карточки обзора, список инструментов с поиском, представление неиспользуемых, статистика использования (Top 20 + тренд за 30 дней), руководство по первому запуску и настройки LLM — плюс командная палитра ⌘K и выдвижная панель с деталями
stdio MCP-сервер с тремя инструментами для интеграции с агентами
Экспорт Brewfile для миграции на другую машину
Самопроверка окружения
doctorОпциональные однострочные описания возможностей на китайском, генерируемые через любой OpenAI-совместимый endpoint; провайдер/модель/ключ настраиваются во вкладке Settings панели или через
toolscope config(хранится локально с правами 0600, переменные окружения не нужны)Опциональная тонкая оболочка Electron вокруг панели
Быстрый старт
Требуется macOS и 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Справочник по CLI
Команды вывода списков по умолчанию печатают человекочитаемый текст, а с флагом --json — JSON-обёртку {"items": [...], "total": N}.
Команда | Что делает |
| Сканирует все шесть источников, делает UPSERT в БД, печатает количество по каждому источнику |
| Перечисляет все записанные инструменты (фильтры |
| Ищет по имени / описанию / ai_description |
| Детали по одному инструменту; завершается с ненулевым кодом, если не найдено |
| Отдаёт API + панель, по умолчанию порт 8421 |
| Сводка |
| Запускает stdio MCP-сервер |
| Печатает сниппет для zsh-preexec |
| Устанавливает сниппет в |
| Формирует Brewfile (разделы casks и formulae) |
| Проверка окружения: менеджеры источников, сборка фронтенда, здоровье БД |
| Показывает настройки LLM (ключ скрыт); подкоманды |
| Опциональный проход LLM, заполняющий пустые ai_description; берёт настройки из |
Отслеживание использования:
toolscope hook-install # run once; new shells log each command to ~/.toolscope/usage.logМиграция на другую машину:
toolscope scan
toolscope export --out Brewfile
brew bundle --file=BrewfileДля ИИ-агентов
Три поверхности интеграции поверх одного JSON-контракта.
CLI. Команды списков принимают --json и печатают {"items": [...], "total": N}; команды для одного объекта печатают объект напрямую. Объект инструмента несёт поля id, name, kind, version, path, origin, description, ai_description и usage: {count, last_used} или null.
toolscope search video --json
toolscope info ffmpeg --json
toolscope stats --jsonHTTP API. toolscope serve отдаёт те же данные как JSON на 127.0.0.1:8421; все list-эндпоинты возвращают обёртку выше: /api/tools, /api/tools/{id}, /api/search?q=, /api/stats, /api/usage/log, /api/usage/stats, /api/export (скачивание Brewfile), /api/doctor, /api/hook/snippet и POST /api/scan. Настройки LLM доступны агентам тоже: GET/PUT /api/settings, GET /api/settings/providers, POST /api/settings/test. API-ключи всегда возвращаются только в замаскированном виде, никогда полностью.
MCP. Сначала установите дополнение: pipx install "toolscope[mcp]". Затем зарегистрируйте сервер у своего клиента — в стиле конфигурации mcpServers в Claude Desktop:
{
"mcpServers": {
"toolscope": {
"command": "toolscope",
"args": ["mcp"]
}
}
}Доступны три инструмента:
search_tools(query, kind?)— поиск по возможностям («умеет ли эта машина делать X»); возвращает обёртку вышеget_tool(name)— объект одного инструмента или литералnull, если не найдено (обычный результат, не ошибка)machine_stats()—{total, by_kind, never_used}
Скриншоты
Заглушка до первого полного снимка с реальной машины — запланированные снимки перечислены в docs/screenshots.md.
Как это работает
scan собирает данные из шести источников и делает UPSERT по ключу (name, kind, origin) в SQLite в каталоге ~/.toolscope/. Записи, которые потом пропадают из системы, сохраняются, а не удаляются.
Источник | kind-значения | Сбор через | Отсутствие менеджера |
| app | разбор Info.plist | в macOS неприменимо |
Homebrew | formula, cask |
| пропуск, кол-во 0 |
Каталоги | binary | исполняемые файлы по каталогам PATH | пустой результат |
Глобальные пакеты npm | npm |
| пропуск, кол-во 0 |
Окружения pipx | pipx |
| пропуск, кол-во 0 |
Инструменты uv | uv |
| пропуск, кол-во 0 |
Источник, чей исполняемый файл менеджера отсутствует, никогда не валит сканирование; он сообщается как пропущенный, с кол-вом 0.
Разработка
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Необязательная настольная оболочка: см. desktop/ (npm install && npm start).
Лицензия
Китайская версия
ToolScope складывает накопившиеся за годы на Mac десятки GUI-приложений и сотни CLI-инструментов в локальную базу SQLite (~/.toolscope/toolscope.db) и отвечает на три вопроса: что я установил / что оно умеет / пользовался ли я им. Продукт строго для чтения, ничего не деинсталлирует.
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 还原环境Панель содержит шесть представлений (обзор / список / неиспользуемые / статистика / первый запуск / настройки), командную палитру ⌘K и панель с деталиями. Подключение ИИ-агентов — как в разделе «Для ИИ-агентов» выше: все список-команды CLI поддерживают --json; HTTP API отдаёт те же данные (/api/tools, /api/search?q=, /api/usage/stats, /api/settings и т. д.); либо toolscope mcp регистрируется как stdio MCP-сервер (три инструмента: search_tools, get_tool, machine_stats). Лиценция MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Agent-native launch platform and tool directory: search, alternatives, trending, launch via MCP.
Agent-native catalogue of Baseframe Labs dev tools and MCP servers.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides native macOS computer control tools including mouse and keyboard simulation, screenshot capture, and application management for MCP-compatible agents. It enables AI assistants to directly interact with the macOS operating system and installed apps through standard tool calls.2422 npm8MIT
- FlicenseNot gradedqualityDmaintenanceExposes MCP tools that enable remote LLMs to query local Docker containers, OS processes, and system services in real time.-
- AlicenseAqualityDmaintenanceA local MCP server that exposes macOS automation actions (AppleScript + CLIs) as tools, enabling MCP clients on your Mac to control apps, system settings, and more.39MIT
- AlicenseBqualityAmaintenanceEnables AI agents to directly access native macOS services, media, system health, and administration tools through a local MCP server.4041 npm1MIT