A community-driven collection of tools for LangChain/LangGraph agents. Build smarter agents by plugging in ready-to-use tools or contribute your own.
# Clone the repository
git clone https://github.com/yourusername/agent-tools.git
cd agent-tools
# Create virtual environment with uv
uv venv
source .venv/bin/activate
# Install dependencies
uv pip install -r todo/requirements.txt
# Set up environment variables
cp .env.example .env
# Add your API keys to .env| Tool | Description | Status |
|---|---|---|
| Todo Manager | Track progress during multi-step agent tasks | ✅ Ready |
from langchain.agents import create_agent
from langchain_google_genai import ChatGoogleGenerativeAI
from todo.tools import TODO_TOOLS
model = ChatGoogleGenerativeAI(model="gemini-2.5-flash")
agent = create_agent(
model=model,
tools=TODO_TOOLS,
system_prompt=open("todo/prompt.md").read()
)
for chunk in agent.stream({
"messages": [("user", "Build a Next.js app with Tailwind")]
}, stream_mode="values"):
chunk["messages"][-1].pretty_print()create_todo(title, task_group)- Create a trackable tasklist_todos(task_group)- View all tasks in a groupupdate_todo(task_group, todo_id, status)- Mark as completed/cancelleddelete_todo(task_group, todo_id)- Remove a task
We welcome contributions! Here's how to add your own tools:
-
Fork & Clone
git clone https://github.com/yourusername/agent-tools.git cd agent-tools -
Create a new tool directory
mkdir my_tool cd my_tool -
Structure your tool
my_tool/ ├── __init__.py ├── tools.py # Your tool implementations ├── prompt.md # System prompt for the agent └── requirements.txt # Tool-specific dependencies -
Implement your tools in
tools.py:from langchain_core.tools import tool from typing import Annotated @tool def my_awesome_tool( param: Annotated[str, "Description of the parameter"] ) -> str: """Clear docstring explaining what the tool does. Include: - When to use this tool - What it returns - Example usage """ # Your implementation return "result" MY_TOOLS = [my_awesome_tool]
-
Write a system prompt in
prompt.mdexplaining how the agent should use your tools -
Submit a Pull Request
- ✅ Use clear, descriptive tool names
- ✅ Write comprehensive docstrings (agents read these!)
- ✅ Use
Annotatedtypes for parameter descriptions - ✅ Include a
prompt.mdwith usage guidelines - ✅ Add tool-specific dependencies to a local
requirements.txt - ✅ Include example usage in your PR description
- Ensure your tool works with the latest LangChain/LangGraph
- Update the README table with your new tool
- Add any new dependencies
- Submit PR with a clear description and example usage
agent-tools/
├── README.md
├── .env.example
├── .gitignore
├── todo/ # Todo management tools
│ ├── __init__.py
│ ├── agent.py # Example agent implementation
│ ├── tools.py # Tool definitions
│ ├── prompt.md # System prompt
│ └── requirements.txt # Dependencies
└── your_tool/ # Your contribution here!
├── __init__.py
├── tools.py
├── prompt.md
└── requirements.txt
Create a .env file with your API keys:
GOOGLE_API_KEY=your_google_api_key
OPENAI_API_KEY=your_openai_api_key
# Add other provider keys as needed- Python 3.10+
- LangChain 1.0+
- LangGraph 1.0+
MIT License - see LICENSE for details.
Give a ⭐ if this project helped you build better agents!
Built with ❤️ by the community