{"id":"mcp-tools","repo":"xpufx/paseo","url":"https://github.com/xpufx/paseo/tree/main/plugins/mcp-tools","name":"mcp-tools","description":"Provides an inline UI for checking MCP servers available to an agent session with additional functionality per MCP, such as listing and directly executing MCP tools with auto-generated input forms. Uses the most authoritative list per provider CLI and verifies actual session inclusion with live probes.","categories":["automation","monitoring","productivity"],"platforms":[],"caveats":[],"images":["https://raw.githubusercontent.com/xpufx/paseo/0ae17457a644cbc325beb5a35163b5e2995b08bb/plugins/mcp-tools/screenshots/mcp-servers.png","https://raw.githubusercontent.com/xpufx/paseo/0ae17457a644cbc325beb5a35163b5e2995b08bb/plugins/mcp-tools/screenshots/mcp-diagnostic.png","https://raw.githubusercontent.com/xpufx/paseo/0ae17457a644cbc325beb5a35163b5e2995b08bb/plugins/mcp-tools/screenshots/mcp-settings.png","https://raw.githubusercontent.com/xpufx/paseo/0ae17457a644cbc325beb5a35163b5e2995b08bb/plugins/mcp-tools/screenshots/mcp-server-details.png","https://raw.githubusercontent.com/xpufx/paseo/0ae17457a644cbc325beb5a35163b5e2995b08bb/plugins/mcp-tools/screenshots/mcp-execute.png"],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":true,"hasTests":true,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-09-18T07:57:38.403Z","addedAt":"2026-09-18T07:50:13Z","path":"plugins/mcp-tools","version":"0.1.3","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-18T07:55:34.572Z","commit":"0ae17457a644cbc325beb5a35163b5e2995b08bb"},"license":"MIT","paseoVersionRequirement":">=0.8.0","manifest":{"id":"mcp-tools","requirements":{"paseo":">=0.8.0"}},"repoMeta":{"stars":1,"defaultBranch":"main","pushedAt":"2026-09-17T11:33:39Z"},"owner":{"login":"xpufx","avatarUrl":"https://avatars.githubusercontent.com/u/25581961?v=4"},"readmeText":"# paseo-mcp-tools plugin\n\nProvides an inline UI for checking MCP servers available to an agent session with additional functionality per MCP, such as listing and directly executing MCP tools with auto-generated input forms. Uses the most authoritative list per provider CLI and verifies actual session inclusion with live probes.\n\n(**Paseo** is an agent orchestrator: AI coding agents run on paseo daemons, each managing workspaces, tools, and permissions.)\n\nBuilt on [paseo-plugin-helper](https://github.com/xpufx/paseo/tree/main/packages/paseo-plugin-helper), the shared Paseo plugin runtime.\n\n## Screenshots\n\n| MCP Servers | Diagnostics | Settings |\n| :---: | :---: | :---: |\n| <img src=\"screenshots/mcp-servers.png\" width=\"100%\" alt=\"MCP Servers\" /> | <img src=\"screenshots/mcp-diagnostic.png\" width=\"100%\" alt=\"Diagnostics\" /> | <img src=\"screenshots/mcp-settings.png\" width=\"100%\" alt=\"Settings\" /> |\n\n| Server Details | Tool Execution |\n| :---: | :---: |\n| <img src=\"screenshots/mcp-server-details.png\" width=\"100%\" alt=\"Server Details\" /> | <img src=\"screenshots/mcp-execute.png\" width=\"100%\" alt=\"Tool Execution\" /> |\n\n## What it does\n\n- **Pill** above the composer shows `MCP n` (live servers for that agent). Badge updates via `mcp.list`, shared between pill and modal.\n- **Live discovery** per-CLI via isolated `providers/<id>.ts` (`opencode` → `opencode mcp list`, `claude` → `~/.claude.json` live, `antigravity` → `~/.gemini/config/mcp_config.json`, etc.) + Paseo-injected `StoredAgentRecord.mcpServers`. Groups by `source.label`, dedupes by name.\n- **Paseo Built-in Host MCP**: Automatically discovers Paseo's host daemon control plane (`/mcp/agents?callerAgentId=...`) as a first-class MCP server (`Paseo (Builtin)`), exposing all 60+ live tools (workspaces, browser automation, schedules, terminals, agent orchestration).\n- **Detail & Live Health**: Server tap reveals real-time status dots, latency, server instructions, and full tool declarations.\n- **Interactive Tool Runner (User Execution)**: Users can execute any discovered MCP tool directly from the UI without prompting the agent. Features a dynamic schema-driven form with `*REQUIRED` validation, type coercion (boolean, number, object, array, union/nullable types), live tool execution via host RPC (`mcp.call_tool`), and output inspection with 1-tap clipboard copying.\n- **Real-Time Tool Search**: Server Detail view features a real-time search input filtering across tool names and descriptions, making servers with large command sets (like Paseo, Forgejo, Chrome DevTools) fast and easy to navigate.\n- **Diagnostics**: Full polymorphic probe checklist verifying paths, permissions, and agent records across hosts.\n\n## Supported Providers\n\n| Provider | Probe Mechanism | Status |\n|---|---|---|\n| **Paseo** (`paseo`) | Built-in host daemon MCP control plane (`~/.paseo/config.json` + live daemon HTTP session) | **Fully tested & verified (60+ tools)** |\n| **Antigravity** (`antigravity`, `antigravity-acp`) | Global `~/.gemini/config/mcp_config.json` + `~/.antigravity/mcp_config.json` | **Fully tested & verified** |\n| **OpenCode** (`opencode`) | Live `opencode mcp list` daemon CLI command + config | **Fully tested & verified** |\n| **Pi** (`pi`) | User canonical `~/.pi/.mcp.json` / project overrides + heuristics | **Fully tested & verified** |\n| **Claude** (`claude`) | User `~/.claude.json` / project `.claude.json` heuristics | **Tested against real active configs** *(without live subscription session)* |\n| **CodeX** (`codex`) | Global `~/.codex/config.toml` / project `.codex/config.toml` | **Provided as-is** *(without guarantees)* |\n\n## Dropping in New Providers\n\nAdding a new tool/CLI probe (e.g. Cursor, Windsurf, Zed, Roo, Cline) is black-box and takes 2 simple steps:\n1. Create `providers/<id>.ts` declaring candidate config paths using `discoverFromCandidates()` (or live CLI RPC) with `export default <id>Probe`.\n2. Add a 1-line re-export to `providers/catalog.ts`: `export { default as <id> } from \"./<id>\";`.\n\nSee the complete step-by-step guide in the [write-mcp-provider skill](.agents/skills/write-mcp-provider/SKILL.md) (`.agents/skills/write-mcp-provider/SKILL.md`). Run `npm test` to automatically verify the probe satisfies the contract.\n\n## Layout\n\n| File | Owns |\n|---|---|\n| [`index.ts`](index.ts) | Wiring only: `handle(mcp.list)`, `handle(mcp.read)`, `handle(mcp.health)`, `handle(mcp.call_tool)`, `handle(mcp.diagnose)`, `addClientSide` |\n| [`mcp.shared.ts`](mcp.shared.ts) | zod RPC contracts & shared types (`ToolInfoSchema`, `callMcpTool`, etc.) |\n| [`mcp.server.ts`](mcp.server.ts) | `discoverLiveServers()`, tool runner execution bridge, and polymorphic diagnostic handlers |\n| [`discovery/extract.ts`](discovery/extract.ts) | Universal heuristic MCP parser (JSON/JSONC, comments, trailing commas, URL safe) & candidate discovery |\n| [`discovery/types.ts`](discovery/types.ts) | Core contracts (`McpProbe`, `ProbeContext`, `ProbeResult`) |\n| [`providers/<id>.ts`](providers/) | Per-CLI live probe (isolated, contract `McpProbe`: `antigravity.ts`, `claude.ts`, etc.) |\n| [`providers/paseo.ts`](providers/paseo.ts) | Dedicated host daemon probe discovering Paseo control plane & tools |\n| [`providers/catalog.ts`](providers/catalog.ts) | 1-line re-export catalog for zero-boilerplate probe registration |\n| [`health/health.server.ts`](health/health.server.ts) | Generic MCP SDK client (`instructions`, schema-aware `tools`, and `callMcpServerTool`) |\n| [`mcp-query.client.tsx`](mcp-query.client.tsx) | `useMcpQuery` shared pill/modal, 30m timer + manual Refresh |\n| [`pill.client.tsx`](pill.client.tsx) | Pill, modal, server details, diagnostics, real-time search, and interactive Tool Runner UI |\n| [`scripts/version.mjs`](scripts/version.mjs) | Offline build-time version stamper (tag / beta-[hash]) |\n| [`docs/TEST_METHODOLOGY.md`](docs/TEST_METHODOLOGY.md) | Test procedures, adapter verification, and QA methodology |\n\n## Install & Updates\n\n```bash\n# from git (recommended)\npaseo plugin add xpufx/paseo-mcp-tools\n\n# update to latest release\npaseo plugin update mcp-tools\n\n# or from a local checkout (path-linked for development)\npaseo plugin install \"$PWD\"\n\n# reload daemon process after local edits\npaseo plugin reload mcp-tools\n```\n\n`pluginsEnabled: true` required. Use `paseo plugin logs mcp-tools` for diagnostics and runtime logs. Failed reload stays failed (Paseo doesn't restore).\n"}