ToolPiper is an MCP server — 104 tools and 5 resources that give AI coding assistants access to local inference, speech, vision, OCR, NLP, RAG, image/video processing, AX-powered browser automation, web scraping, PiperTest execution, programmatic video creation, outreach, macOS system actions, and OAuth. No cloud, no API keys.
Install ToolPiper, then add categories to your AI client. Each category is a focused set of tools — install only what you need to save up to 90% of AI context overhead. The MCP binary ships inside ToolPiper.app — nothing else to install.
LLM inference, TTS, STT, embeddings, OCR
claude mcp add toolpiper -- ~/.toolpiper/mcp --category coreImage/text analysis, RAG, upscaling
claude mcp add toolpiper -- ~/.toolpiper/mcp --category analysisBrowser automation, scraping, assertions
claude mcp add toolpiper -- ~/.toolpiper/mcp --category browserPiperTest CRUD and execution
claude mcp add toolpiper -- ~/.toolpiper/mcp --category testingPose estimation, stream processing
claude mcp add toolpiper -- ~/.toolpiper/mcp --category motionGitHub, HN, Reddit, X, content queue
claude mcp add toolpiper -- ~/.toolpiper/mcp --category outreachmacOS system actions (ActionPiper)
claude mcp add toolpiper -- ~/.toolpiper/mcp --category systemVideo creator pipeline
claude mcp add toolpiper -- ~/.toolpiper/mcp --category videoOAuth connection management
claude mcp add toolpiper -- ~/.toolpiper/mcp --category oauthAll categories — everything ToolPiper can do
claude mcp add toolpiper -- ~/.toolpiper/mcp Profiles combine multiple categories for common workflows. Use --profile instead of listing categories individually.
inference11coreautomation34core + browser + testingcreative35core + video + outreachfull104all categoriesExample — web dev workflow (34 tools):
claude mcp add toolpiper -- ~/.toolpiper/mcp --profile automation The install commands above use Claude Code's CLI. For other clients, add --category or --profile to the args array:
Add to .mcp.json in your project root:
{
"mcpServers": {
"toolpiper": {
"type": "stdio",
"command": "~/.toolpiper/mcp",
"args": ["--category", "core,browser"]
}
}
}For clients that support MCP over HTTP — no CLI middleman:
{
"mcpServers": {
"toolpiper": {
"type": "http",
"url": "http://localhost:9998/mcp"
}
}
} Tool names are unprefixed — the MCP server namespace (toolpiper) provides branding and collision avoidance. Every tool includes annotations (readOnlyHint, openWorldHint).
chatread-onlyRun a prompt through a local LLM (llama.cpp or Apple Intelligence)transcriberead-onlyTranscribe audio to text (FluidAudio or MLX Audio)speakConvert text to speech and save as WAVvoice_cloneGenerate speech using a cloned voice from a reference audio sampleembedread-onlyGenerate vector embeddings (local model or Apple NL)ocrread-onlyExtract text from images (Apple Vision, 18+ languages)modelsread-onlyList available models with status and categoriesload_modelLoad a model into memory (auto-downloads if needed)unload_modelUnload a model from memory to free RAM/VRAMdownload_modelSearch HuggingFace and download GGUF/MLX model filesstatusread-onlySystem health — backends, GPU, RAM, license tieranalyze_imageread-onlyApple Vision — classify, faces, barcodes, saliency, poses, and moreanalyze_textread-onlyApple NLP — language, sentiment, entities, tokenize, lemmatize, POSrag_queryread-onlySemantic search across knowledge base collections (HNSW + BM25)rag_collectionsread-onlyList RAG collections with chunk counts and indexing statusrag_ingestRe-index a RAG collection after adding new documentsimage_upscaleUpscale image 4x using CoreML super-resolution (Neural Engine)video_upscaleUpscale video 2x using PiperSR on Neural Engine — frame-by-frame, audio passthroughbenchmark_upscaleread-onlyRun PiperSR 2x benchmark suite — tile, batch, full-frame, sustained, resolution sweepWe built a custom Chrome DevTools Protocol (CDP) engine because Playwright MCP and chrome-devtools MCP weren't cutting it.
role:button:Sign In, role:form:Login > role:button:Submitbrowser_snapshotread-onlyAX tree snapshot of browser page — auto-connects, optional navigation + screenshotbrowser_actionClick, fill, navigate, press, drag, upload — AX selectors, self-healing, mutation diffbrowser_assertread-onlyAssert visible/hidden/text/url/count/attribute/console with polling + snapshot on failurebrowser_consoleread-onlyConsole messages + optional network request logs for debuggingbrowser_recordRecord interactions with AX-enriched selectors and hierarchical scopingbrowser_manageConnection lifecycle — status, pages, select/close/new tab, resize, dialog handlingbrowser_evalExecute JavaScript in the browser page and return the serialized resultbrowser_networkNetwork traffic inspection — enable, list, get body, filter by URL or statusbrowser_storageRead/write cookies, localStorage, and sessionStoragebrowser_performanceWeb Vitals tracing — LCP, FCP, CLS, TBT, JS heap, layout countsbrowser_coverageJS and CSS code coverage measurementbrowser_interceptMock/intercept network requests — API stubbing, error simulation, offline testingbrowser_webauthnVirtual authenticator for passkey/WebAuthn testingbrowser_autofillTrigger Chrome native autofill on credit card and address fieldsbrowser_detectread-onlyDetect frontend framework, meta-framework, CMS, and state libraries on a pagescraperead-onlyCDP web scraping — navigate, framework-aware readiness, 7 output formats (markdown, AX tree, etc.)youtube_transcriptread-onlyFetch transcript (captions) of a YouTube videotest_listread-onlyList saved PiperTests with metadata (id, name, step count, last run status)test_getread-onlyGet full PiperTest by ID with all steps, AX paths, and execution contexttest_saveCreate or update a grouped PiperTest session — groups contain steps with action/assertion/mocktest_deleteDelete a saved PiperTest by IDtest_runExecute grouped PiperTest via CDP at native speed (~10-50ms/step) with optional AX healingtest_exportread-onlyExport PiperTest to Playwright or Cypress code — deterministic, no AIpose_detectread-onlyDetect human body poses — skeleton image + keypoint coordinates, multiple topologiespose_formatsread-onlyList detection backends, renderers, and skeleton topologiespose_streamStart real-time pose streaming WebSocket server (on-demand)stream_startStart real-time stream processing — WebSocket frame source + processor (pose, OCR, etc.)stream_stopStop a running stream processing sessionRead-only data the AI can pull into context without calling a tool.
toolpiper://statusServer health, version, loaded models, system resourcestoolpiper://modelsFull model catalog with availability and categoriestoolpiper://backendsBackend status — which engines are runningtoolpiper://testsSaved PiperTests with metadatatoolpiper://categoriesTool categories, counts, and profiles for filteringAI Client (Claude Code, Cursor, Windsurf, Gemini Code, etc.)
↓ JSON-RPC (stdio or HTTP)
~/.toolpiper/mcp [--category | --profile] OR POST localhost:9998/mcp
↓
ToolPiper.app (macOS, running)
↓
Backends (llama.cpp, FluidAudio, MLX Audio, Apple Intelligence, Vision, NLP, Pose, CDP, ActionPiper)The MCP binary reads ToolPiper's session key from disk on every request. Zero configuration — just works.
If ToolPiper isn't running, every tool returns an install message pointing to modelpiper.com. ToolPiper's own errors (auth, model not loaded, etc.) are passed through verbatim.
Every tool has readOnlyHint, openWorldHint, and idempotentHint (where applicable) so AI clients can make informed decisions about tool usage.
Pass --category or --profile to the MCP binary to serve only the tools you need. Reduces per-message token overhead by up to 90%. Instructions are also trimmed to match.
5 workflow templates available via prompts/list: setup-model, audit-page, create-test, voice-over, research-topic. Each returns step-by-step instructions with the right tool sequence.
8 tools return structuredContent (machine-readable JSON) alongside human-readable text — embed, ocr, models, rag_query, rag_collections, speak, voice_clone, image_upscale.