How to Use the Balena MCP in CrewAI
Deploy autonomous multi-agent teams to monitor, diagnose, and update your Balena edge devices with CrewAI and this MCP Server.
Works with every AI agent you already use
…and any MCP-compatible client
Connect Balena MCP to CrewAI
Create your Vinkius account to connect Balena to CrewAI and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.
Assign specialized IoT management roles
A diagnostic agent uses the `list_devices` tool to sweep your fleet for offline units. It filters the OData response for specific error states and passes the UUIDs into shared memory. The system runs autonomously without a human sitting at a dashboard. Next, a remediation agent picks up those failed UUIDs. It runs `list_releases` to check the current firmware baseline against the expected application state, deciding if a rollback is necessary.
Chain Balena MCP Server operations
CrewAI executes tasks in strict order when running the `list_organizations` tool to map tenant boundaries. The process starts by verifying access controls before touching any hardware. Then it calls `list_fleets` to isolate the target application group. Finally, the execution agent applies the fix using `create_device_env_var`. It injects the new configuration payload into the exact devices identified in the previous steps.
Restrict agent access to specific tools
Restricting an agent from using the `list_api_keys` tool prevents autonomous security breaches. By using `MCPServerHTTP` and `tool_filter`, you restrict the monitoring agent to read-only operations like `whoami` and `list_os_versions`. Meanwhile, only the senior moderation agent gets access to `create_device_tag` and variable creation. This strict separation of concerns prevents a hallucinating research agent from accidentally modifying production hardware.
Set up Balena MCP in CrewAI
Prerequisites
- Python 3.10+ installed
-
crewaipackage (pip install crewai) - Active Vinkius subscription with a valid endpoint token
- 1
Install CrewAI
Run
pip install crewaito install the framework. MCP support is built-in via themcpsparameter. - 2
Add the MCP URL to your agent
Pass your Vinkius endpoint directly to the
mcpslist. Replace[YOUR_TOKEN_HERE]with your token from cloud.vinkius.com. CrewAI handles tool discovery and caching automatically. - 3
Kick off your crew
Create a
Crewwith your agent and tasks. Callcrew.kickoff()— the agent will automatically invoke Balena tools as needed.
from crewai import Agent, Task, Crew
agent = Agent(
role="Balena Analyst",
goal="Access and analyze Balena data via MCP.",
backstory="Expert analyst with direct Balena access.",
mcps=[
"https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
],
)
task = Task(
description="List recent Balena transactions",
agent=agent,
expected_output="A summary of recent activity",
)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result) Prerequisites
- Python 3.10+ installed
-
crewai+crewai-toolspackages - Active Vinkius subscription with a valid endpoint token
- 1
Install dependencies
Run
pip install crewai crewai-tools. TheMCPServerAdapterhandles lifecycle management and tool conversion. - 2
Connect with MCPServerAdapter
Use
MCPServerAdapteras a context manager withSseServerParameterspointing to your Vinkius endpoint. The adapter automatically manages connection lifecycle. - 3
Assign tools and run
Pass the returned
mcp_toolsto your agent'stoolsparameter. The adapter converts MCP tools to nativeBaseToolobjects compatible with all CrewAI agents.
from crewai import Agent, Task, Crew
from crewai_tools import MCPServerAdapter
from mcp import SseServerParameters
server_params = SseServerParameters(
url="https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
)
with MCPServerAdapter(server_params) as mcp_tools:
agent = Agent(
role="Balena Analyst",
goal="Access and analyze Balena data via MCP.",
backstory="Expert analyst with direct Balena access.",
tools=mcp_tools,
)
task = Task(
description="List recent Balena transactions",
agent=agent,
expected_output="A summary of recent activity",
)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result) Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Balena. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
Why Choose Vinkius
Vinkius connects your tools to AI with real-time monitoring and automatic cost savings — all from one dashboard.
Real-time monitoring
Live
visibility into every interaction
Connect your favorite tools to your AI and see exactly what's happening — every request, every response, in real time.
Built-in savings
60%
lower AI costs
Vinkius compresses data between your apps and your AI automatically. Lower bills every month — no configuration required.
Single dashboard
One
place for every integration
Every tool your AI connects to, managed from a single screen. One account, complete control.
Common questions about Balena MCP in CrewAI
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
Start using the Balena MCP today
We host it, we monitor it, we maintain it. You just paste one token.