Giving an Agent Tools
Let AI use the web, files and code.
Giving an Agent Tools is a free Vibe Coding lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Vibe Coding learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Tools Turn a Chatbot Into a Doer
An agent is only as capable as the tools it can reach. On its own, an AI just predicts text. Give it tools, and it can search the web, read your files, run code, or call an API.
Think of tools as the agent's hands. The brain decides; the hands act. This lesson shows what those hands are and how you grant them.
What Counts as a Tool
A "tool" is any action the agent can take in the real world. Common ones:
- Web search / fetch — look something up online
- File read/write — open and edit your project
- Run command — start a server, run tests
- Call an API — hit a weather, payment, or data service
In Claude Code these come built in; in custom agents, you wire them up yourself.
Why Tools Matter
Without tools, an agent can only guess from what it already learned. It might say "the latest version is 3.2" when it's actually 5.0.
With a web search tool, it can go check. With a file tool, it sees your actual code instead of imagining it. Tools replace guessing with knowing — that's the whole point.
How a Tool Call Works
When an agent uses a tool, it doesn't run the tool itself — it requests it. The agent says "call getWeather for Paris," your system runs that function, and hands the answer back to the agent.
Here's that handoff as plain JavaScript so you can see the shape of a tool:
// A simple "tool" the agent can ask to use
function getWeather(city) {
const fake = { Paris: "18 C, sunny", Tokyo: "24 C, rain" };
return fake[city] || "unknown";
}
// Agent decides to call it; your code runs it; result goes back
const toolResult = getWeather("Paris");
console.log("Tool returned:", toolResult);Describing a Tool to the AI
For an agent to use a tool, you describe it in plain words: its name, what it does, and what inputs it needs. The AI reads that and decides when to call it.
You rarely write this by hand for beginner tools — Claude Code and v0 handle it — but knowing the shape helps you understand what the agent is choosing between.
A tool description the AI sees (plain language):
name: getWeather
description: Get the current weather for a city.
input: city (string) — the city name, e.g. "Paris"
Given that, the agent knows: "To answer a weather question,
I should call getWeather with the city."The Built-in Tools You'll Use Most
As a vibe coder, you'll lean on a handful of built-in tools your agent already has:
- Read file — so it understands your project
- Edit file — so it can build features
- Run command — so it can test and start things
- Web search — so it stays current
You mostly just allow these when asked. Knowing what each does helps you approve wisely.
Asking the Agent to Use a Tool
You don't have to name the tool — describe the outcome and the agent picks the right one. But you can nudge it when helpful.
Notice how this prompt hints at which tools to use without micromanaging:
Prompt that guides tool use (Claude Code):
"Search the web for the current version of React, then update
the version number in my package.json and README. Read both
files first so you don't break anything, and show me the diff
before saving."MCP: A Universal Tool Plug
You may hear about MCP (Model Context Protocol). It's a standard way to plug extra tools into an agent — like connecting it to your database, your design files, or a service like GitHub.
You don't need to build MCP servers as a beginner. Just know: it's the "USB port" that lets agents safely reach new tools beyond the built-in ones.
Connecting an API as a Tool
One of the most useful tools is a web API — a service your app calls for data (weather, currency, maps). An agent can both write the code that calls it and use it while building.
Here's a real fetch the agent might generate to call an API and use the result:
// Calling an API tool with fetch
async function getRate() {
const res = await fetch("https://api.frankfurter.app/latest?to=EUR");
const data = await res.json();
console.log("1 USD =", data.rates.EUR, "EUR");
}
getRate();More Tools Isn't Always Better
Every tool you give an agent is a power and a risk. A delete-file tool can clean up — or wipe your work. A shell tool can install packages — or run something harmful.
Good rule: grant the fewest tools needed for the task. Start narrow, add more only when the job clearly needs it. You'll go deeper on this in the safety lesson.
You Equip, the Agent Acts
Putting it together: you decide which tools the agent can reach, describe what each does, and approve their use. The agent then chooses the right tool at the right moment to reach your goal.
An agent without tools is just a chatbot. An agent with the right tools is a builder. Equip it thoughtfully and it becomes genuinely useful.
Quick Check
Let's confirm what a tool really is to an agent.
Recap: Hands for the Agent
You learned how agents reach the real world:
- Tools are actions: web search, file read/write, run command, call an API.
- The agent requests a tool; your system runs it and returns the result.
- Each tool is described by name, purpose, inputs.
- MCP is the standard plug for adding extra tools.
- Grant the fewest tools needed — power equals risk.
Next: chaining tools and steps into a multi-step automation.
Frequently asked questions
Is the “Giving an Agent Tools” lesson free?
Yes — the full text of “Giving an Agent Tools” is free to read here on the web, and the Vibe Coding course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Vibe Coding course, upgrade to CoddyKit PRO.
What will I learn in “Giving an Agent Tools”?
Let AI use the web, files and code. You practise Vibe Coding with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Vibe Coding?
No prior experience is required. Vibe Coding on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Giving an Agent Tools” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Vibe Coding lesson?
Yes. Every Vibe Coding lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- From Assistant to Agent
- Giving an Agent Tools
- Multi-Step Task Automation
- Keeping Agents Safe