Construction software needs to communicate like the people using it
A project superintendent coordinates across dozens of trades, tools, and companies every day. The software they use should be able to do the same. Whether it's a fully autonomous AI agent or an existing platform with an agent sidecar, every construction tool needs to speak a common language — reporting status, sharing generated content, and coordinating work across the project.
Today, AI agents are entering the construction ecosystem fast — generating takeoffs, drafting RFIs, coordinating schedules — but they're being built in isolation. Different formats, different APIs, no shared vocabulary. TACO fixes this by giving every tool, agent, and platform one standard way to interoperate.
What TACO Standardizes
How It Works
Different companies. Different AI models. One shared language.
Quick Start
- Expose your agent
- Discover & call agents
from taco import ConstructionAgentCard, ConstructionSkill
card = ConstructionAgentCard(
name="My Mechanical Takeoff Agent",
trade="mechanical",
csi_divisions=["22", "23"],
skills=[
ConstructionSkill(
id="generate-bom",
task_type="takeoff",
output_schema="bom-v1",
)
],
)
card.serve(host="0.0.0.0", port=8080)
from taco import TacoClient, AgentRegistry
# Discover agents by trade and capability
registry = AgentRegistry()
await registry.register("http://estimator:8001")
agents = registry.find(trade="mechanical", task_type="estimate")
# Send a task to the first matching agent
async with TacoClient(agent_url=agents[0].url) as client:
task = await client.send_message("estimate", bom_data)
estimate = task.artifacts[0].parts[0].structured_data
pip install taco-agent