Deterministic MCP runtime for safe tools, contracts, review gates, and local AI workflows.
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×2 in MCamner/mq-mcp
- HIGH code analysis flagged dynamic code execution ×2 in MCamner/mq-mcp
tools
-
analyze_csv
analyzes CSV files inside the repo
-
analyze_guitar_pro
analyzes Guitar Pro files in repo or allowed roots
-
check_port
checks whether a TCP port is in use on localhost
-
create_note
creates a new note in Notes.app
-
edit_image
edits an image with supported actions (rotate, grayscale)
-
find_large_files
finds files larger than a given size in a directory
-
find_recent_files
finds files modified within the last N days
-
get_battery_status
returns battery level, charging state, and estimated time remaining
-
get_clipboard
reads the current macOS clipboard
-
get_public_ip
returns the current public IP address
-
get_system_resources
shows CPU, memory, and disk information
-
get_todays_events
returns today's events from Calendar.app
-
get_wifi_info
returns current Wi-Fi network name and signal info
-
git_diff
shows current git diff, optionally for one path
-
git_status
shows branch, working tree status, and recent commits
-
hal_repo_report
runs a read-only mq-hal repo report (audit, brief, release-brief, repo-status, ci)
-
list_local_repos
lists registered local repositories from MQ_MCP_LOCAL_REPOS
-
list_openable_apps
returns static list of apps Bridget can open or control
-
list_repo_files
lists repository files up to a chosen depth
-
list_running_apps
lists all visible macOS applications currently running
-
lock_screen
locks the macOS screen immediately
-
open_app
launches any macOS application by name
-
open_chrome
opens Google Chrome, optionally to a URL
-
open_finder
opens Finder at a given path
-
open_in_app
opens a repo file or explicitly allowed local file in the default app
-
open_messages
opens Messages.app, optionally to a contact
-
open_repo_terminal
opens a registered local repository in a new Terminal window
-
open_spotify
opens Spotify, optionally to a track, album, or search
-
open_terminal
opens a new Terminal window, optionally at a path
-
open_url
opens a URL in the default browser
-
open_vscode
opens VS Code, optionally at a file or folder
-
read_repo_file
reads a file inside the repository root
-
release_gate_run
runs Release Gate v2 deterministic release validation
-
repo_signal_analyze
runs repo-signal analyze on a local repository (read-only)
-
repo_signal_checklist
runs repo-signal publish checklist on a local repository (read-only)
-
repo_signal_doctor_json
runs repo-signal doctor --json and returns structured doctor.v1 data
-
repo_signal_inspect
runs repo-signal inspect --json and returns structured inspect.v1 data
-
repo_signal_status
reports whether repo-signal export packs are present and merged (Class A, read-only)
-
run_mqlaunch
runs mqlaunch.sh
-
run_mqlaunch_bundle
runs mqlaunch bundle (TUI; bundle NOT created headless)
-
run_mqlaunch_demo
runs mqlaunch demo (interactive TUI; no output headless)
-
run_mqlaunch_doctor
runs mqlaunch doctor (structured PASS/FAIL health report)
-
run_mqlaunch_perf
runs mqlaunch perf (TUI menu; no parseable output headless)
-
run_mqlaunch_release_check
runs mqlaunch release-check (pre-release gate)
-
run_mqlaunch_selftest
runs mqlaunch selftest (internal smoke checks)
-
run_mqlaunch_system_check
runs mqlaunch system check (TUI; structured data not available headless)
-
run_mqlaunch_version
runs mqlaunch version (TUI output; version extracted heuristically)
-
run_tests
runs pytest in a registered local repository
-
search_repo
searches repository text
-
set_clipboard
copies text to the macOS clipboard
-
set_reminder
creates a reminder in Reminders.app
-
set_volume
sets the macOS system output volume
-
set_wallpaper
sets the macOS desktop wallpaper
-
show_notification
sends a macOS system notification
-
speak_text
speaks text aloud via macOS text-to-speech
-
take_screenshot
captures the screen and saves to a file
-
toggle_dark_mode
toggles macOS between dark mode and light mode
-
tool_safety_report
returns the MCP tool safety classification from docs/TOOL_SAFETY.md
-
update_repo_file
safely replaces exact text in allowed repo files without committing
-
validate_project
runs scripts/validate.sh when available
analyzed commit cee856b · analyzer v18 · 53m ago
skills & prompt files 12
- skillMCamner-mq-mcp-cee856b/skills/brain-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/bridget-bridge-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/curate-learn-inbox/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/docs-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/integration-stack-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/learn-engine-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/mcp-tool-safety-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/release-readiness/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/repo-aware/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/review-runtime-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/semantic-memory-maintainer/SKILL.md
- skillMCamner-mq-mcp-cee856b/skills/terminal-ui-polisher/SKILL.md
filesystem 27
- fs MCamner-mq-mcp-cee856b/mq-mcp/bridge.py :6
import shutil - fs MCamner-mq-mcp-cee856b/mq-mcp/bridget_context.py :22
from pathlib import Path - fs MCamner-mq-mcp-cee856b/mq-mcp/bridget_voice.py :5
import shutil - fs MCamner-mq-mcp-cee856b/mq-mcp/learn_engine.py :17
from pathlib import Path - fs MCamner-mq-mcp-cee856b/mq-mcp/main.py :9
import shutil - fs MCamner-mq-mcp-cee856b/mq-mcp/release_gate/checks.py :9
from pathlib import Path - fs MCamner-mq-mcp-cee856b/mq-mcp/release_gate/runner.py :4
from pathlib import Path - fs MCamner-mq-mcp-cee856b/mq-mcp/runtime/memory/obsidian_writer.py :23
from pathlib import Path - fs MCamner-mq-mcp-cee856b/mq-mcp/server.py :9
from pathlib import Path - fs MCamner-mq-mcp-cee856b/mq-mcp/tool_registry.py :10
from pathlib import Path - fs MCamner-mq-mcp-cee856b/review_engine/architecture_memory.py :37
from pathlib import Path - fs MCamner-mq-mcp-cee856b/review_engine/callgraph_builder.py :34
from pathlib import Path - fs MCamner-mq-mcp-cee856b/review_engine/drift_detector.py :31
from pathlib import Path - fs MCamner-mq-mcp-cee856b/review_engine/generated_artifacts.py :28
from pathlib import Path - fs MCamner-mq-mcp-cee856b/review_engine/repo_context_builder.py :22
from pathlib import Path - fs MCamner-mq-mcp-cee856b/review_engine/review_memory.py :21
from pathlib import Path - fs MCamner-mq-mcp-cee856b/review_engine/review_router.py :12
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/check-profiles.py :8
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/check-stability.py :8
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/create_vector_store.py :12
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/generate_screenshots.py :2
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/generate_tool_contracts.py :10
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/post_commit_learn.py :30
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/upload_semantic_memory.py :12
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/upload_vector_pack.py :15
from pathlib import Path - fs MCamner-mq-mcp-cee856b/scripts/vignette.py :2
from pathlib import Path - fs MCamner-mq-mcp-cee856b/semantic_memory/semantic_memory.py :22
from pathlib import Path
shell / exec 7
- shell MCamner-mq-mcp-cee856b/mq-mcp/bridge.py :7
import subprocess - shell MCamner-mq-mcp-cee856b/mq-mcp/bridget_voice.py :6
import subprocess - shell MCamner-mq-mcp-cee856b/mq-mcp/main.py :10
import subprocess - shell MCamner-mq-mcp-cee856b/mq-mcp/release_gate/checks.py :7
import subprocess - shell MCamner-mq-mcp-cee856b/mq-mcp/server.py :13
import subprocess - shell MCamner-mq-mcp-cee856b/review_engine/generated_artifacts.py :25
import subprocess - shell MCamner-mq-mcp-cee856b/scripts/post_commit_learn.py :27
import subprocess
network 3
- net MCamner-mq-mcp-cee856b/mq-mcp/learn_engine.py :286
import requests - net MCamner-mq-mcp-cee856b/mq-mcp/providers/ollama_provider.py :22
import requests - net MCamner-mq-mcp-cee856b/mq-mcp/server.py :1281
from urllib.parse import quote
secrets 1
- secrets MCamner-mq-mcp-cee856b/mq-mcp/server.py :4917
if not os.environ.get("OPENAI_API_KEY"):
tool registrations 125
- get_system_resources MCamner-mq-mcp-cee856b/mq-mcp/server.py :332
- read_repo_file MCamner-mq-mcp-cee856b/mq-mcp/server.py :341
- run_mqlaunch MCamner-mq-mcp-cee856b/mq-mcp/server.py :357
- analyze_guitar_pro MCamner-mq-mcp-cee856b/mq-mcp/server.py :377
- open_in_app MCamner-mq-mcp-cee856b/mq-mcp/server.py :386
- analyze_csv MCamner-mq-mcp-cee856b/mq-mcp/server.py :397
- edit_image MCamner-mq-mcp-cee856b/mq-mcp/server.py :407
- list_repo_files MCamner-mq-mcp-cee856b/mq-mcp/server.py :445
- search_repo MCamner-mq-mcp-cee856b/mq-mcp/server.py :481
- git_status MCamner-mq-mcp-cee856b/mq-mcp/server.py :500
- git_diff MCamner-mq-mcp-cee856b/mq-mcp/server.py :516
- release_gate_run MCamner-mq-mcp-cee856b/mq-mcp/server.py :537
- update_repo_file MCamner-mq-mcp-cee856b/mq-mcp/server.py :569
- validate_project MCamner-mq-mcp-cee856b/mq-mcp/server.py :643
- tool_safety_report MCamner-mq-mcp-cee856b/mq-mcp/server.py :657
- shell_exec MCamner-mq-mcp-cee856b/mq-mcp/server.py :673
- list_local_repos MCamner-mq-mcp-cee856b/mq-mcp/server.py :716
- open_repo_terminal MCamner-mq-mcp-cee856b/mq-mcp/server.py :732
- repo_signal_analyze MCamner-mq-mcp-cee856b/mq-mcp/server.py :793
- repo_signal_checklist MCamner-mq-mcp-cee856b/mq-mcp/server.py :814
- repo_signal_inspect MCamner-mq-mcp-cee856b/mq-mcp/server.py :835
- repo_signal_doctor_json MCamner-mq-mcp-cee856b/mq-mcp/server.py :862
- repo_signal_report MCamner-mq-mcp-cee856b/mq-mcp/server.py :888
- repo_signal_suggest MCamner-mq-mcp-cee856b/mq-mcp/server.py :915
- repo_signal_positioning MCamner-mq-mcp-cee856b/mq-mcp/server.py :941
- hal_repo_report MCamner-mq-mcp-cee856b/mq-mcp/server.py :967
- open_messages MCamner-mq-mcp-cee856b/mq-mcp/server.py :1030
- open_finder MCamner-mq-mcp-cee856b/mq-mcp/server.py :1057
- open_url MCamner-mq-mcp-cee856b/mq-mcp/server.py :1075
- show_notification MCamner-mq-mcp-cee856b/mq-mcp/server.py :1092
- get_clipboard MCamner-mq-mcp-cee856b/mq-mcp/server.py :1112
- set_clipboard MCamner-mq-mcp-cee856b/mq-mcp/server.py :1125
- open_app MCamner-mq-mcp-cee856b/mq-mcp/server.py :1140
- get_wifi_info MCamner-mq-mcp-cee856b/mq-mcp/server.py :1161
- speak_text MCamner-mq-mcp-cee856b/mq-mcp/server.py :1204
- take_screenshot MCamner-mq-mcp-cee856b/mq-mcp/server.py :1225
- open_chrome MCamner-mq-mcp-cee856b/mq-mcp/server.py :1249
- open_spotify MCamner-mq-mcp-cee856b/mq-mcp/server.py :1268
- open_terminal MCamner-mq-mcp-cee856b/mq-mcp/server.py :1294
- open_vscode MCamner-mq-mcp-cee856b/mq-mcp/server.py :1316
- set_volume MCamner-mq-mcp-cee856b/mq-mcp/server.py :1342
- get_battery_status MCamner-mq-mcp-cee856b/mq-mcp/server.py :1360
- toggle_dark_mode MCamner-mq-mcp-cee856b/mq-mcp/server.py :1370
- list_running_apps MCamner-mq-mcp-cee856b/mq-mcp/server.py :1390
- lock_screen MCamner-mq-mcp-cee856b/mq-mcp/server.py :1407
- create_note MCamner-mq-mcp-cee856b/mq-mcp/server.py :1423
- get_todays_events MCamner-mq-mcp-cee856b/mq-mcp/server.py :1444
- set_reminder MCamner-mq-mcp-cee856b/mq-mcp/server.py :1470
- find_large_files MCamner-mq-mcp-cee856b/mq-mcp/server.py :1494
- find_recent_files MCamner-mq-mcp-cee856b/mq-mcp/server.py :1519
- run_tests MCamner-mq-mcp-cee856b/mq-mcp/server.py :1546
- check_port MCamner-mq-mcp-cee856b/mq-mcp/server.py :1573
- set_wallpaper MCamner-mq-mcp-cee856b/mq-mcp/server.py :1597
- get_public_ip MCamner-mq-mcp-cee856b/mq-mcp/server.py :1615
- list_openable_apps MCamner-mq-mcp-cee856b/mq-mcp/server.py :1631
- review_file MCamner-mq-mcp-cee856b/mq-mcp/server.py :1914
- build_repo_context MCamner-mq-mcp-cee856b/mq-mcp/server.py :2148
- list_review_contracts MCamner-mq-mcp-cee856b/mq-mcp/server.py :2216
- list_review_skills MCamner-mq-mcp-cee856b/mq-mcp/server.py :2243
- list_review_history MCamner-mq-mcp-cee856b/mq-mcp/server.py :2297
- get_last_review MCamner-mq-mcp-cee856b/mq-mcp/server.py :2314
- detect_architecture_drift MCamner-mq-mcp-cee856b/mq-mcp/server.py :2344
- review_runtime_contract MCamner-mq-mcp-cee856b/mq-mcp/server.py :2365
- validate_orchestration_contract MCamner-mq-mcp-cee856b/mq-mcp/server.py :2568
- list_architecture_docs MCamner-mq-mcp-cee856b/mq-mcp/server.py :2839
- review_architecture_doc MCamner-mq-mcp-cee856b/mq-mcp/server.py :2898
- list_architecture_decisions MCamner-mq-mcp-cee856b/mq-mcp/server.py :3062
- get_architecture_decision MCamner-mq-mcp-cee856b/mq-mcp/server.py :3096
- record_architecture_decision MCamner-mq-mcp-cee856b/mq-mcp/server.py :3117
- extract_coding_conventions MCamner-mq-mcp-cee856b/mq-mcp/server.py :3166
- review_diff MCamner-mq-mcp-cee856b/mq-mcp/server.py :3255
- risk_review_file MCamner-mq-mcp-cee856b/mq-mcp/server.py :3316
- risk_review_diff MCamner-mq-mcp-cee856b/mq-mcp/server.py :3453
- store_semantic_memory MCamner-mq-mcp-cee856b/mq-mcp/server.py :3517
- search_semantic_memory MCamner-mq-mcp-cee856b/mq-mcp/server.py :3552
- get_semantic_memory MCamner-mq-mcp-cee856b/mq-mcp/server.py :3584
- list_semantic_memory MCamner-mq-mcp-cee856b/mq-mcp/server.py :3610
- bootstrap_semantic_memory MCamner-mq-mcp-cee856b/mq-mcp/server.py :3640
- review_repo MCamner-mq-mcp-cee856b/mq-mcp/server.py :3696
- export_symbol_index MCamner-mq-mcp-cee856b/mq-mcp/server.py :3746
- repo_signal_status MCamner-mq-mcp-cee856b/mq-mcp/server.py :3788
- record_learning MCamner-mq-mcp-cee856b/mq-mcp/server.py :3873
- list_learnings MCamner-mq-mcp-cee856b/mq-mcp/server.py :3925
- get_learning MCamner-mq-mcp-cee856b/mq-mcp/server.py :3961
- explain_learned_pattern MCamner-mq-mcp-cee856b/mq-mcp/server.py :4007
- search_learnings MCamner-mq-mcp-cee856b/mq-mcp/server.py :4019
- search_learned_patterns MCamner-mq-mcp-cee856b/mq-mcp/server.py :4049
- summarize_learnings MCamner-mq-mcp-cee856b/mq-mcp/server.py :4062
- learn_hygiene MCamner-mq-mcp-cee856b/mq-mcp/server.py :4076
- promote_learning MCamner-mq-mcp-cee856b/mq-mcp/server.py :4117
- learning_status MCamner-mq-mcp-cee856b/mq-mcp/server.py :4135
- learn_status MCamner-mq-mcp-cee856b/mq-mcp/server.py :4175
- learn_inbox MCamner-mq-mcp-cee856b/mq-mcp/server.py :4187
- learn_inbox_drop MCamner-mq-mcp-cee856b/mq-mcp/server.py :4257
- learn_inbox_draft MCamner-mq-mcp-cee856b/mq-mcp/server.py :4318
- ollama_learn_status MCamner-mq-mcp-cee856b/mq-mcp/server.py :4366
- ollama_learn_extract MCamner-mq-mcp-cee856b/mq-mcp/server.py :4402
- learn_extract_from_last_review MCamner-mq-mcp-cee856b/mq-mcp/server.py :4451
- learn_from_review MCamner-mq-mcp-cee856b/mq-mcp/server.py :4525
- learn_from_diff MCamner-mq-mcp-cee856b/mq-mcp/server.py :4580
- bootstrap_learning_memory MCamner-mq-mcp-cee856b/mq-mcp/server.py :4633
- run_mqlaunch_doctor MCamner-mq-mcp-cee856b/mq-mcp/server.py :4725
- run_mqlaunch_selftest MCamner-mq-mcp-cee856b/mq-mcp/server.py :4742
- run_mqlaunch_release_check MCamner-mq-mcp-cee856b/mq-mcp/server.py :4759
- run_mqlaunch_version MCamner-mq-mcp-cee856b/mq-mcp/server.py :4775
- run_mqlaunch_system_check MCamner-mq-mcp-cee856b/mq-mcp/server.py :4802
- run_mqlaunch_perf MCamner-mq-mcp-cee856b/mq-mcp/server.py :4828
- run_mqlaunch_demo MCamner-mq-mcp-cee856b/mq-mcp/server.py :4853
- run_mqlaunch_bundle MCamner-mq-mcp-cee856b/mq-mcp/server.py :4875
- run_mqlaunch_ask MCamner-mq-mcp-cee856b/mq-mcp/server.py :4898
- zephyr_validate MCamner-mq-mcp-cee856b/mq-mcp/server.py :4961
- zephyr_review MCamner-mq-mcp-cee856b/mq-mcp/server.py :4982
- zephyr_analyze MCamner-mq-mcp-cee856b/mq-mcp/server.py :5014
- zephyr_diff MCamner-mq-mcp-cee856b/mq-mcp/server.py :5035
- image_observe_architecture MCamner-mq-mcp-cee856b/mq-mcp/server.py :5086
- image_analyze_ui MCamner-mq-mcp-cee856b/mq-mcp/server.py :5113
- image_analyze MCamner-mq-mcp-cee856b/mq-mcp/server.py :5139
- ums_command_catalog MCamner-mq-mcp-cee856b/mq-mcp/server.py :5179
- ums_audit_log MCamner-mq-mcp-cee856b/mq-mcp/server.py :5217
- brain_status MCamner-mq-mcp-cee856b/mq-mcp/server.py :5292
- brain_record_decision MCamner-mq-mcp-cee856b/mq-mcp/server.py :5310
- brain_record_review MCamner-mq-mcp-cee856b/mq-mcp/server.py :5334
- brain_record_session MCamner-mq-mcp-cee856b/mq-mcp/server.py :5359
- brain_record_learning MCamner-mq-mcp-cee856b/mq-mcp/server.py :5381
- brain_promote_learning MCamner-mq-mcp-cee856b/mq-mcp/server.py :5407