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
service := micro.NewService("notes")
service.Init()

if err := service.Handle(new(Notes)); err != nil { log.Fatal(err) }

if err := service.Handle( micro.NewAgent(“notes”), ); err != nil { log.Fatal(err) }

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

One service, available through RPC and an agent.

Add an agent to your service →
  • 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 →