2022
LangChain launches with the @tool decorator pattern LangChain
The decorator-based tool definition becomes the standard. Any Python function annotated with @tool becomes an agent-callable tool. Simple, composable, and framework-agnostic in spirit. The ecosystem grows via community contributions — thin wrappers over DuckDuckGo, Wikipedia, Arxiv, and dozens of others.
2022 — 2023
LangChain Community package grows to 100+ tool wrappers LangChain
The community package becomes a grab-bag of integrations. Each requires its own pip install. Some require API keys from third parties. Maintenance is distributed — when the underlying library changes its API, the wrapper may lag behind. The ecosystem is vast but uneven in quality.
2023
LlamaIndex introduces FunctionTool and tool specifications LlamaIndex
LlamaIndex takes the "primitives over batteries" position. FunctionTool wraps any function. QueryEngineTool makes retrieval pipelines agent-callable. ToolSpec hub packages offer common integrations as opt-in additions. The design says: we build the plumbing, you build the tools.
2024
SynapseKit ships batteries-included tool library (18 → 30 tools) SynapseKit
SynapseKit takes the opposite position from LlamaIndex: implement tools inside the package, not as wrappers. CalculatorTool, DateTimeTool, FileReadTool, PythonREPLTool, WebScraperTool — all ship as first-class implementations. No extra pip. No API keys for basic functionality. The tradeoff: SynapseKit owns the maintenance burden.
2025
Multimodal tools enter base installs SynapseKit
SynapseKit adds ImageAnalysisTool, SpeechToTextTool, TextToSpeechTool to base. LangChain's multimodal tools (OpenAIWhisperParser, OpenAITextToSpeechTool) remain in the community package and require the OpenAI library. LlamaIndex has no multimodal tools in core.
2026 — April Benchmark
LLM Showdown #17 — built-in tool audit across 3 frameworks
Notebook #17 measures: total tools in base install, zero-config tools, category coverage, and core vs extra-pip split. Result: SK=30 total / 12 zero-config, LC=29 total / 10 zero-config, LI=12 total / 3 zero-config. The headline totals are nearly identical. The zero-config split is where the design philosophies diverge.