A Go framework for
services and agents.

Build distributed applications with RPC, service discovery, messaging, storage, and configuration. Create agents that use your services as tools.

Open source · Apache 2.0

Services + agentsGo
agent := micro.NewAgent("support",
	micro.AgentServices(
		"tickets", "customers",
	),
	micro.AgentPrompt(
		"Help customers resolve issues.",
	),
)

if err := agent.Run(); err != nil {
	log.Fatal(err)
}

An agent using your existing ticket and customer services as tools.

Build an agent →
  • Build services

    Write application capabilities in Go. Connect services through RPC and messaging.

    Services →
  • Build agents

    Combine models with your services to answer questions and perform work.

    Agents →
  • Connect other agents

    Expose your services through MCP for use by existing agents and tools.

    MCP →

Each component uses a Go interface with a default implementation you can replace. Choose the components your application needs.

Framework reference →