Back to skills
SkillHub ClubShip Full StackFull StackIntegration

multi-tool-pipeline

Template for chaining multiple MCP tools in a single script

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
1
Hot score
77
Updated
March 20, 2026
Overall rating
C0.9
Composite score
0.9
Best-practice grade
B81.2

Install command

npx @skill-hub/cli install tfunk1030-vibe-multi-tool-pipeline

Repository

tfunk1030/vibe

Skill path: .claude/skills/multi-tool-pipeline

Template for chaining multiple MCP tools in a single script

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack, Integration.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: tfunk1030.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install multi-tool-pipeline into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/tfunk1030/vibe before adding multi-tool-pipeline to shared team environments
  • Use multi-tool-pipeline for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: multi-tool-pipeline
description: Template for chaining multiple MCP tools in a single script
allowed-tools: [Bash, Read]
---

# Multi-Tool Pipeline Template

Reference implementation showing how to chain multiple MCP tools in a script.

## When to Use

- As a **template** when creating new MCP pipeline scripts
- To understand the pattern for tool chaining
- When skill-developer needs to create a new pipeline

## The Pattern

```python
async def main():
    from runtime.mcp_client import call_mcp_tool

    # Step 1: First tool
    result1 = await call_mcp_tool("server1__tool1", {"param": "value"})

    # Step 2: Use result in next tool
    result2 = await call_mcp_tool("server2__tool2", {"input": result1})

    # Step 3: Combine/process
    return {"combined": result1, "processed": result2}
```

## Example Implementation

See the reference script:

```bash
cat $CLAUDE_PROJECT_DIR/scripts/multi_tool_pipeline.py
```

Run it:

```bash
uv run python -m runtime.harness scripts/multi_tool_pipeline.py \
    --repo-path "." \
    --max-commits 5
```

## Key Elements

1. **CLI Arguments** - Use argparse for parameters
2. **Sequential Calls** - await each tool before the next
3. **Error Handling** - try/except around the pipeline
4. **Progress Output** - print status for visibility
5. **Structured Return** - return combined results

## Creating Your Own Pipeline

1. Copy `scripts/multi_tool_pipeline.py` as a starting point
2. Replace the tool calls with your MCP servers/tools
3. Adjust CLI arguments for your use case
4. Use `/skill-developer` to wrap it in a skill

## MCP Tool Naming

Tools are named `serverName__toolName` (double underscore):

```python
await call_mcp_tool("git__git_status", {...})
await call_mcp_tool("firecrawl__firecrawl_scrape", {...})
await call_mcp_tool("perplexity__perplexity_ask", {...})
```