A multi-tool MCP server with security infrastructure (OAuth, guardrail screening, approval gating) for browser automation, Telegram messaging, Google Workspace, and tool management.
Critical gaps across all tools. Only 2 of 4 tools have input schemas; ping and browser_live_view have empty schemas ({}). Descriptions vary widely: ping is dismissive ('Health check; replace with real tools'), browser_live_view is verbose but lacks actionable structure, set_gating and manage_tools have good descriptions but manage_tools has no input schema. No parameter descriptions for set_gating's enum values. No output schemas documented for any tool. Error handling absent. Tool composition is poor: manage_tools and set_gating duplicate gating concerns. No idempotency guidance. This server reads like a prototype, not production-ready.
Report where a human can watch -- and take over -- the live browser. The view is the same headed Chromium session the other tools drive: a noVNC page with full mouse/keyboard, guarded by the deployment's VNC password (BROWSER_VIEW_PASSWORD). Use it when a flow needs a human step (a login, a brittle widget); the session state stays put afterwards.
The in-chat permissions panel for managing tool modes across all connectors. Allows review and saving of tool gating preferences.
Health check; replace with real tools.
Set a tool's mode on `source` (the connector the tool belongs to, e.g. 'telegram' -- the manage_tools panel lists them): 'always_allow' runs with no approval card, 'needs_approval' needs a human approval per call, 'blocked' disables the tool outright (calls refuse immediately, and it disappears from Claude's tool list once the connector refreshes). Changing a gate is itself gated, so this call needs your approval first. After it applies, refresh the `source` connector so its cards and tool list update. The gatekeeper's own tools can't be targeted; their behavior is fixed in code.
Two tools (ping, browser_live_view) have empty input schemas ({}).
manage_tools has no input schema at all, making it impossible for LLMs to understand what parameters it accepts or requires.
set_gating's enum parameter 'mode' lacks per-value descriptions. LLMs cannot infer when to use 'always_allow' vs 'needs_approval' vs 'blocked' without guidance on consequences.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does manage_tools return?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
ping tool description ('Health check; replace with real tools') is dismissive and under 20 chars of actual guidance.