Building AI Agents with Strands, Ollama, Amazon Bedrock and MCP – My Agent AI Skill Sprint Journey
As part of the Agent AI Skill Sprint, I built five progressively advanced AI agents using Strands. This article shares my implementation, the challenges I faced, and the concepts I learned while working with Ollama, Amazon Bedrock, custom tools, memory, and the AWS Documentation MCP Server.
Introduction
Artificial Intelligence agents have become much more capable than simple chatbots. Modern agents can use tools, remember information, retrieve external knowledge, and interact with cloud services.
To understand how these systems are built, I participated in the Agent AI Skill Sprint. Instead of only learning the concepts, each challenge required implementing a working solution in Python using the Strands Agents Framework.
Over five challenges, I gradually moved from running a local LLM with Ollama to building an AWS-powered assistant capable of answering questions using the AWS Documentation MCP Server.
Challenge 1 – Creating My First AI Agent
The first challenge focused on understanding the basics of the Strands framework.
Instead of using Amazon Bedrock immediately, I connected the agent to a locally running Ollama server using the Llama 3.2 model.
The implementation was straightforward:
Connect Strands to Ollama
Select the model
Create an Agent
Send a prompt
Display the response
Select the model
Create an Agent
Send a prompt
Display the response
Running the model locally helped me understand how Strands communicates with different model providers without needing cloud infrastructure.
Although this was a small project, it introduced me to concepts such as system prompts, model configuration, and agent execution.
Challenge 2 – Giving the Agent Tools
The next step was making the agent capable of performing actions instead of relying only on the language model.
I implemented three tools:
Calculator
Weather Tool
Age Calculator
Weather Tool
Age Calculator
The weather tool returned mock weather data, while the age calculator computed a person's age from a given birth date using Python's datetime module.
What impressed me most was that I never explicitly called these functions. I only registered them with Strands using the @tool decorator, and the agent automatically selected the correct one based on the user's question.
For example,
"What is 42 × 17?"
automatically triggered the calculator tool.
Similarly,
"How old is someone born on 2000-05-15?"
used the age calculator without any manual routing logic.
This challenge helped me understand the concept of tool calling, which is one of the core capabilities of modern AI agents.
Challenge 3 – Adding Memory
Most chatbots forget everything after the conversation ends.
For this challenge, I implemented a very simple memory system using a JSON file.
The application remembers information like:
User's name
Favourite food
Favourite food
Whenever the user asks,
"What do you know about me?"
the application loads the stored information from the JSON file and displays it.
Although this isn't a sophisticated memory architecture, it clearly demonstrated the idea of persistent memory and how an agent can retain information between sessions.
Challenge 4 – Combining Everything
The fourth challenge was about combining everything I had learned so far.
Instead of having separate programs, I created a single AI assistant capable of:
Performing calculations
Providing weather information
Calculating age
Answering general questions through Amazon Bedrock
Providing weather information
Calculating age
Answering general questions through Amazon Bedrock
Unlike the previous challenges, this version runs continuously until the user exits the application, making it feel much closer to a real AI assistant.
At this stage I also became more comfortable working with Amazon Bedrock and configuring AWS credentials using the AWS CLI.
Challenge 5 – Exploring MCP
The final challenge introduced something completely new to me: Model Context Protocol (MCP).
Instead of manually creating another tool, I connected my agent to the AWS Documentation MCP Server.
Using MCP, the agent can discover available tools automatically and retrieve AWS documentation whenever needed.
This allowed me to ask questions such as:
What is Amazon S3?
Explain Amazon Bedrock.
What are IAM Roles?
How does AWS Lambda work?
Explain Amazon Bedrock.
What are IAM Roles?
How does AWS Lambda work?
The responses are grounded in AWS documentation, making them much more reliable than relying only on the language model.
This challenge showed me how MCP enables AI agents to interact with external knowledge sources in a standardized way.
Challenges I Faced
Like most projects, everything didn't work on the first attempt.
Some of the issues I encountered included:
Installing and configuring Ollama correctly.
Downloading the required Llama 3.2 model.
Configuring AWS CLI credentials.
Fixing PATH issues so VS Code could detect the AWS CLI.
Understanding how Strands automatically invokes tools.
Learning how MCP servers are connected to an agent.
Downloading the required Llama 3.2 model.
Configuring AWS CLI credentials.
Fixing PATH issues so VS Code could detect the AWS CLI.
Understanding how Strands automatically invokes tools.
Learning how MCP servers are connected to an agent.
Debugging these problems helped me better understand the technologies rather than simply following instructions.
What I Learned
By completing these five challenges, I gained practical experience with:
Building AI agents using Strands
Running local language models with Ollama
Using Amazon Bedrock
Creating custom tools
Tool calling
Simple persistent memory
AWS CLI configuration
Model Context Protocol (MCP)
AWS Documentation MCP Server
Running local language models with Ollama
Using Amazon Bedrock
Creating custom tools
Tool calling
Simple persistent memory
AWS CLI configuration
Model Context Protocol (MCP)
AWS Documentation MCP Server
More importantly, I understood how these individual components work together to create capable AI assistants.
Conclusion
The Agent AI Skill Sprint was an excellent hands-on introduction to agent development.
Each challenge built naturally on the previous one, making it easier to understand concepts like tool calling, memory, and MCP through implementation instead of theory.
My favorite part was integrating the AWS Documentation MCP Server because it demonstrated how AI agents can access reliable external knowledge without hardcoding information into the application.
Overall, this experience gave me a much better understanding of modern AI agent architectures and how technologies like Ollama, Amazon Bedrock, Strands, and MCP fit together in real-world applications.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article