AI assistant and Model Context Protocol to automate tasks

After being introduced to the Model Context Protocol (MCP) at a recent conference, we were eager to experiment with MCP servers firsthand. In our project management workflow, we typically use a script to create new Trello boards and add members at the beginning of each sprint. To streamline this process, we decided to build an AI assistant that automates Trello board creation. This assistant uses an MCP server to invoke an API from a Python module.

Note: This post is designed to help you explore MCP in a few easy steps. To attain a deeper understanding of the concepts follow the hyperlinks throughout the post.


Overview

We designed a workflow that enables users to create Trello boards through natural, conversational interactions with an AI assistant. Our setup consists of four main components:

1. An AI Agent

We used goose, an open-source and extensible AI agent. Having recently discovered goose, we were eager to explore its capabilities, making it a natural choice for our project. One of its key features is tool calling, which allows agents to execute API calls.

2. A locally running model

To run Large Language Models (LLMs) locally, we chose Ollama, a platform that enables users to run LLMs on their own machines. This approach ensures efficient and private model execution without relying on external servers.

3. An MCP server

With an AI agent and a local LLM in place, we integrated an MCP server. It follows a client-server architecture, allowing host applications – such as AI tools, Integrated Development Environments (IDEs), and platforms—to interact with multiple servers seamlessly. These servers can securely access local files, databases, services, and external systems via APIs, providing LLMs with the necessary context to perform tasks effectively.

4. Trello API

The MCP server needs access to Trello API to create a new board. The Trello automation Python module houses a method – create_trello_board to create the board.

Note: For this project, the Trello automation Python module contains both the MCP server and Trello API components, though they are generally separate entities.


Implementation

Here’s how you can build an AI assistant that utilises an MCP server to call API to automate Trello board creation using natural language instructions:

a. Initial setup

1. Clone the project repo:

git clone https://github.com/shivahari/rook.git
cd rook

2. Install dependencies:

python3.10 -m venv <venv_name> # Create virtual environment
source <venv_name>/bin/activate # Activate virtual environment
pip install -r requirements.txt # Install requirements

3. Setup env vars:

export TRELLO_KEY=your_api_key
export TRELLO_TOKEN=your_api_token
b. Downloading an Ollama model

Browse the Ollama model library and select a model that supports tooling. Through experimentation, I found that larger models tend to generate more natural and verbose outputs. For this example, I selected qwen2.5:3b.

To download the model, run:

ollama pull qwen2.5:3b
c. Configure goose to use the downloaded model

Run the following command to configure Goose:

goose configure

Now follow the steps in configure goose to use Ollama model to complete your configuration.

d. Start a goose session

To launch a goose session and connect it to your extension, use:

goose session --with-extension "python automate_trello.py"

The --with-extension flag instructs goose to load the automate_trello module locally and use the MCP server defined in the module.
Note: You can refer to the External Extensions documentation for more details.

e. Create a new Trello board

Once the session is running, you can use natural language to create a Trello board:

starting session | provider: ollama model: qwen2.5:3b
logging to /Users/ai/.config/goose/sessions/TTtanC97.jsonl
 
 
Goose is running! Enter your instructions, or try asking what goose can do.
 
 
( O)> What can you do for me?
I can assist with creating a Trello board or list resources from extensions. How may I assist you today?
 
( O)> Can you help creating a Trello board?
Of course! Could you please provide me with the name for your Trello board?
 
( O)> Let's name it "MCP Board"
 
─── create_trello_board | i0se8run ──────────────────────────
board_name: MCP Board
 
Your Trello board named "MCP Board" has been successfully created.

How it works

When the user provides a request in natural language, goose interprets the user’s request and prompts for relevant details such as the board name, the request is then executed, and a new Trello board is generated, finally the assistant provides the user with a confirmation message.
The following image illustrates the full workflow:
AI Agent Workflow


And just like that, you have an AI assistant that can create Trello boards in just a few steps. Building this example provided us with valuable insights into the capabilities of MCP servers. As we move forward, we plan to explore its functionalities even further.


Advanced ML testing from Qxf2

Qxf2 offers specialized QA for AI/ML models, helping startups validate their models with reliable testing strategies. Our hands-on approach to exploring new tools gives us a deeper understanding of data science and ML engineering workflows, enabling us to design tests that accurately reflect real-world usage. Whether you’re developing your first ML pipeline or scaling an existing one, Qxf2 provides the expertise you need to ensure quality and performance. Reach out to [email protected] to learn more.


Leave a Reply

Your email address will not be published. Required fields are marked *