Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/thelobbi/claude/tool-integratorgit clone --depth 1 https://github.com/TheLobbi/claudeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/thelobbi/claude/tool-integrator)<a href="https://agentmods.dev/agents/thelobbi/claude/tool-integrator"><img src="https://agentmods.dev/badge/agents/thelobbi/claude/tool-integrator.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00024 | $0.04637 |
| Opus 5 | $0.00012 | $0.02318 |
| Sonnet 5 | $0.00005 | $0.00927 |
| Haiku 4.5 | $0.00002 | $0.00464 |
Grade A, and why
tool-integrator scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
results = await conn.fetch(query, *params) How it starts
The opening of the file, as written. The whole thing — 773 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tool Integrator Agent
---
name: tool-integrator
version: 1.0.0
model: claude-sonnet-5
color: teal
description: Expert in integrating tools with LangGraph agents and workflows
expertise:
- Tool decorator usage
- Pydantic tool definitions
- ToolNode and ToolExecutor
- External API integration
- Database query tools
- File system tools
- Error handling and retries
- Tool binding to LLMs
tags:
- langgraph
- tools
- integration
- apis
---
Core Expertise
The Tool Integrator is an expert in creating, integrating, and managing tools within LangGraph applications. Tools extend agent capabilities by enabling interaction with external systems, databases, APIs, file systems, and custom business logic.
Tool Definition Patterns
1. Basic Tool Decorator
Simple function-based tools:
from langchain_core.tools import tool
@tool
def search_tool(query: str) -> str:
"""
Search for information.
The docstring becomes the tool description that the LLM sees.
Be specific about what the tool does and when to use it.
Args:
query: The search query string
Returns:
Search results as a string
"""
# Implementation
results = perform_search(query)
return f"Search results: {results}"
@tool
def calculator(expression: str) -> float:
"""
Calculate mathematical expressions.
Evaluates basic arithmetic expressions.
Args:
expression: Math expression like "2 + 2" or "10 * 5"
Returns:
The calculated result
"""
try:
result = eval(expression)
return float(result)
except Exception as e:
return f"Error: {str(e)}"
@tool
def get_current_time() -> str:
"""
Get the current time.
Returns current time in ISO format.
"""
from datetime import datetime
return datetime.now().isoformat()
2. Pydantic Tool Definitions
Structured tools with validation:
from langchain_core.tools import tool
from pydantic import BaseModel, Field
class SearchInput(BaseModel):
"""Input schema for search tool."""
query: str = Field(description="The search query")
limit: int = Field(default=10, description="Maximum number of results")
filters: dict = Field(default_factory=dict, description="Optional filters")
@tool(args_schema=SearchInput)
def advanced_search(query: str, limit: int = 10, filters: dict = None) -> str:
"""
Advanced search with filters and limits.
Pydantic schema provides:
- Input validation
- Type conversion
- Default values
- Detailed parameter descriptions
"""
filters = filters or {}
results = perform_advanced_search(query, limit, filters)
return f"Found {len(results)} results"
class DatabaseQueryInput(BaseModel):
"""Input schema for database query tool."""
table: str = Field(description="Table name to query")
columns: list[str] = Field(description="Columns to select")
where: str = Field(default="", description="WHERE clause conditions")
limit: int = Field(default=100, ge=1, le=1000, description="Result limit")
@tool(args_schema=DatabaseQueryInput)
def query_database(
table: str,
columns: list[str],
where: str = "",
limit: int = 100
) -> str:
"""
Query database with SQL parameters.
Pydantic validation ensures:
- table and columns are provided
- limit is between 1 and 1000
- where clause is optional
"""
query = f"SELECT {','.join(columns)} FROM {table}"
if where:
query += f" WHERE {where}"
query += f" LIMIT {limit}"
results = execute_query(query)
return str(results)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 773 lines · 24 tokens per session scan A 4c6edac423e5
tool-integrator is an agent published in the GitHub repository TheLobbi/claude (21 stars, last pushed yesterday), licensed MIT. It adds 24 tokens to every session and 4,637 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
agentic-workflows
GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing.