
Tool Chainer
Chains multiple MCP tools together in sequence, passing results between them without sending large intermediate data back to the LLM to reduce token usage.
Chains multiple MCP tools together in sequence, passing results between tools without sending large intermediate data back to the LLM, reducing token usage for complex workflows.
What it does
- Chain multiple MCP tools in sequence
- Pass results between tools using CHAIN_RESULT placeholder
- Filter data using JsonPath with inputPath/outputPath
- Discover available tools from configured MCP servers
- Execute complex workflows with minimal token usage
Best for
About Tool Chainer
Tool Chainer is a community-built MCP server published by thirdstrandstudio that provides AI assistants with tools and capabilities via the Model Context Protocol. Tool Chainer connects multiple MCP tools, streamlining complex workflows efficiently with reduced token usage. It is categorized under productivity, developer tools.
How to install
You can install Tool Chainer in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Tool Chainer is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
MCP Tool Chainer
An MCP (Model Context Protocol) server that chains calls to other MCP tools, reducing token usage by allowing sequential tool execution with result passing. Designed to solve https://github.com/modelcontextprotocol/specification/issues/215
Step function like JSON paths:
Features
- Chain multiple MCP tools together in sequence
- Pass results from one tool as input to another tool using
CHAIN_RESULTplaceholder - Filter and extract specific data using JsonPath with
inputPathandoutputPathparameters - Automatic tool discovery from configured MCP servers
- Minimal token usage compared to individual tool calls
Tools
This server implements the following MCP tools:
mcp_chain- Chain together multiple MCP serverschainable_tools- Discover tools from all MCP servers so the mcp_chain tool can be useddiscover_tools- Rediscover tools from all MCP servers
Installation
Prerequisites
- Node.js (v16 or later)
- npm
Installing from npm
# Install
npm install @thirdstrandstudio/mcp-tool-chainer
# Or use with npx directly
npx -y @thirdstrandstudio/mcp-tool-chainer
Installing from source
# Clone the repository
git clone https://github.com/thirdstrandstudio/mcp-tool-chainer.git
cd mcp-tool-chainer
# Install dependencies
npm install
# Build the package
npm run build
Usage with Claude Desktop, Cursor etc
ENSURE IT IS THE LAST MCP TO RUN OTHERWISE IT WILL HAVE TO RUN DISCOVERY AGAIN
Add the following to your claude_desktop_config.json or mcp.json:
If installed from npm globally
{
"mcpServers": {
"mcp_tool_chainer": {
"command": "npx",
"args": ["-y", "@thirdstrandstudio/mcp-tool-chainer", "`claude_desktop_config.json` or `mcp.json`"],
"env": {}
}
}
}
If installed from source
{
"mcpServers": {
"mcp_tool_chainer": {
"command": "node",
"args": ["/path/to/mcp-tool-chainer/dist/index.js", "`claude_desktop_config.json` or `mcp.json`"],
"env": {}
}
}
}
Replace /path/to/mcp-tool-chainer with the actual path to your repository.
Examples
Chain Browser and XPath Tools
// Fetch a webpage and then extract specific content with XPath
const result = await callTool("mcp_chain", {
"mcpPath": [
{
"toolName": "mcp_browser_mcp_fetch_url",
"toolArgs": "{\"url\": \"https://example.com\"}"
},
{
"toolName": "mcp_xpath_xpath",
"toolArgs": "{\"xml\": CHAIN_RESULT, \"query\": \"//h1\"}"
}
]
});
Using JsonPath with InputPath and OutputPath
// Fetch a webpage, extract specific content with XPath, then extract part of the result
const result = await callTool("mcp_chain", {
"mcpPath": [
{
"toolName": "mcp_fetch_fetch",
"toolArgs": "{\"url\": \"https://api.example.com/data\"}"
},
{
"toolName": "web_search",
"toolArgs": "{\"search_term\": CHAIN_RESULT}",
"inputPath": "$.results[0].title", // Extract only the first result's title from previous output
"outputPath": "$.snippets[*].text" // Extract only the text snippets from the search results
},
{
"toolName": "another_tool",
"toolArgs": "{\"content\": CHAIN_RESULT}"
}
]
});
JsonPath Support
MCP Tool Chainer now supports AWS Step Functions-style InputPath and OutputPath features:
- inputPath: JsonPath expression to extract specific portions of the input before passing to a tool
- outputPath: JsonPath expression to extract specific portions of the output before passing to the next tool
These features work only when the input/output is valid JSON. If JsonPath extraction fails, the original input/output is used.
For JsonPath syntax reference, see JsonPath Syntax.
Benefits
- Reduced Token Usage: By chaining tools together, you avoid sending large intermediate results back to the LLM
- Simplified Workflows: Create complex data processing pipelines with a single tool call
- Improved Performance: Reduce latency by minimizing round-trips between the LLM and tools
- Precise Data Flow Control: Extract only the data you need with JsonPath expressions
Development
# Install dependencies
npm install
# Start the server
node dist/index.js config.json
# List available tools
node dist/index.js config.json discover_tools
License
This MCP server is licensed under the MIT License.
Created by Third Strand Studio
Alternatives
Related Skills
Browse all skillsUI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.
Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".
Leveraging AI coding assistants and tools to boost development productivity, while maintaining oversight to ensure quality results.
Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.
Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.
Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.