mrkeyoor.com_
Thu 03 Sept 06:56 UTC
AI Toolsevaluationupdated 03 Sept 2026

go-micro review

Go Micro lets Go developers build ordinary network services, AI agents, and repeatable workflows in the same runtime. It can expose service methods as MCP tools, connect agents over A2A, and keep model-driven steps beside code paths whose order is fixed.

Verdict

Our Go Micro run built in 102 seconds and passed all 162 tests in 97 seconds, so v6 is worth a serious trial for Go teams that want agents and services in one process model. Use the deterministic flow API for business steps and place approval checks around model-selected tools. Choose a narrower framework if you already have a service platform, require a mature Kubernetes operator, or cannot accept breaking setup changes in minor releases.

We ran it

Lab card: what happened when we ran go-microScreenshot of go-micro (go-micro.dev)
Install✓ · 34s227 packages
Build✓ · 102s
Tests✓ · 97s162 passed · 0 failed of 162 (go test)
Repo1100 files~128,354 lines of source · 10.4 MB · 12 CI workflows · Dockerfile

Answers from our run

Does go-micro build from source?

Dependencies installed in 34 seconds (227 packages), and the build succeeded in 102 seconds. We cloned commit 24529f1 into a clean Debian container with 3 CPUs and no project-specific setup.

Do go-micro's tests pass?

Yes: 162 of 162 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use go-micro?

Polyglot teams seeking a language-neutral application framework: service and agent code is Go, even though external callers can use HTTP, gRPC, MCP, or A2A.

What are the alternatives to go-micro?

Kratos, Eino, Temporal Go SDK. Our Go Micro run built in 102 seconds and passed all 162 tests in 97 seconds, so v6 is worth a serious trial for Go teams that want agents and services in one process model.

Setup4/534-second install and a no-key path; production has many choices
Docs4/5Agent, MCP, safety, storage, and deployment guides are detailed
Community5/523,050 stars, a September 2 push, and a small active queue
Maturity4/5162 tests passed, but Kubernetes is alpha and v6.12 breaks setup

Who it’s for

Go teams that want agents to call existing service methods without maintaining a separate tool server for each one.
Backend developers who need RPC, discovery, events, storage, MCP, and A2A behind Go interfaces.
Self-hosters comfortable operating Linux services, model credentials, databases, and message brokers.
Agent builders who will set step limits, approval hooks, tool scopes, and explicit checks around generated code.

Who it’s NOT for

Polyglot teams seeking a language-neutral application framework: service and agent code is Go, even though external callers can use HTTP, gRPC, MCP, or A2A.
Kubernetes operators who need a finished controller today: the main deployment guide targets SSH plus systemd, while open issue #4842 calls the Kubernetes CRDs alpha.
Libraries that cannot absorb a breaking minor release: v6.12.0 requires a blank import of go-micro.dev/v6/cmd/defaults when CLI flags select external plugins.
Organizations that forbid a development agent from writing, compiling, and starting generated handlers: micro run --prompt performs that sequence after a confirmation.
Anyone planning to expose micro run directly to users: the MCP security guide says development-mode authentication is disabled by default.

Setup reality

Our sandbox installed commit 24529f1 in 34 seconds and obtained 227 packages. The build succeeded in 102 seconds. Tests succeeded in 97 seconds, with all 162 Go tests passing and 0 failing. The 10.4 MB checkout held 1,100 files and about 128,354 lines of source.

A plain service needs no model credential, and the repository includes a provider-free agent walkthrough. Real model work needs a supported provider key or Ollama. Production choices include registry, broker, store, database, MCP authentication, tool scopes, TLS, and audit output.

The current module requests Go 1.25 with toolchain 1.25.12. The documented deployment path assumes SSH and systemd; Kubernetes resources remain alpha. micro run is a development process with authentication off by default. Version 6.12.0 also changed how external default plugins are linked.

Version 6 puts agents and services on the same Go runtime

Go Micro v6 treats an agent as another service. A Go method can become an RPC endpoint and an MCP tool, while an agent gets a model, memory, tool access, registry discovery, and an Agent.Chat endpoint. A2A exposes agents to other frameworks. Flows handle steps whose order is known.

The breadth is real. Our checkout contained 1,100 files, about 128,354 source lines, and 10.4 MB of repository data. The framework includes gRPC transport, service discovery, NATS and RabbitMQ brokers, several stores, a typed data layer, model providers, MCP, A2A, agent memory, payments, and deployment commands.

The provider-free path proves plumbing, not model quality

Go Micro v6 documents a provider-free start: micro new helloworld followed by micro run starts a service with no API key. Actual language-model work needs a provider configuration. The README lists hosted providers plus Ollama for local and cloud use, while the prompt-generation example uses an Anthropic, OpenAI, or Gemini key.

Our install obtained 227 Go packages in 34 seconds, so the local dependency fetch was straightforward in a fresh Debian container. Production adds decisions the quick start deliberately avoids: which registry discovers services, which broker carries events, where agent memory and flow checkpoints live, and how model credentials reach each process. File and memory defaults suit a laptop. Postgres, NATS KV, or another shared backend fits restart recovery and multiple instances better.

What happened when we ran it

In our lab, we measured a 34-second install for go-micro commit 24529f1, followed by a successful 102-second build. The environment used golang:1.24-bookworm with 3 CPUs, 8 GB of RAM, no secrets, and no elevated container privileges. The repository had 12 CI workflow files and a Dockerfile. There was no root tests directory, which is normal for Go packages that keep tests beside source files.

The test command completed successfully in 97 seconds. Go reported 162 tests passed and 0 failed out of 162. That is the strongest setup evidence among these three reviews, though it does not measure request throughput, model accuracy, crash recovery, or a live multi-node deployment. We did not attach Postgres, NATS, an LLM provider, MCP clients, or A2A peers, so those paths still need workload-specific verification.

Prompt generation writes and starts Go handlers after confirmation

Go Micro v6's headline micro run --prompt flow asks a model to design services, shows the proposed system, waits for a Generate confirmation, writes Go handlers, compiles them, and starts the result. The README also says an agent can create a missing service during a conversation. That is useful in a disposable development workspace. Before production, review the generated files, restrict tool permissions, run the normal checks, and deploy a known artifact rather than allowing an unattended prompt to alter a live service tree.

Go Micro supplies execution controls for that boundary. MaxSteps limits calls, LoopLimit stops repeated calls with identical inputs, and ApproveTool can block an action before it runs. Wrappers can record results and retries, while MCP adds token scopes, rate limits, circuit breaking, and audit hooks. These controls sit beside the 162-test passing codebase, but policy still belongs to the application: a permissive approval callback is permission, not protection.

SSH and systemd are the stable deployment path

Go Micro's v6 production guide builds Linux binaries, copies them over SSH, and installs systemd services. It documents environment files, a dedicated service user, remote status and logs, and an optional authenticated dashboard. The same guide publishes a default dashboard login of admin and micro, which must be changed before exposure. The MCP security guide separately says micro run disables authentication for development, while micro server enables JWT-based user management.

Kubernetes is earlier. Open issue #4842 describes its CRDs and reconciler as alpha, while the README's one-command production story is micro deploy user@server. Version 6.12.0 adds another operational wrinkle: libraries that choose external broker, registry, store, transport, or profile implementations through flags must blank-import cmd/defaults. Our measured commit still built in 102 seconds, but upgrades need release-note review even within major version 6.

Checkpoints prevent known replays, but storage decides recovery

Go Micro v6's durable-agent example checkpoints a completed tool call before simulating failure, then resumes without running that side effect again. The flow example does the same at named steps such as reserve, charge, and confirm. Both use a shared checkpoint interface. The examples keep state in memory for predictable local runs and tell production users to point recovery at a service store such as Postgres or NATS KV.

That distinction matters more than the word durable. Our 97-second test run passed all 162 tests, but it did not kill a process against a remote checkpoint store or race multiple replicas. Put fixed money movement, inventory changes, and compensations in flows with idempotency at the service boundary. Let an agent choose among tools only where the choice is genuinely open-ended, and test restart behavior on the same database and deployment shape you will operate.

September work is active, with five issues and one pull request open

GitHub recorded 23,050 stars and a last push on September 2, 2026. The open queue contained 5 issues and 1 pull request, and that pull request was updated the same day. Release 6.12.0 shipped on August 25. Those dates show current maintenance, while the small issue count should not be read as a complete defect count.

Go Micro asks a large architectural question: should model calls, service RPC, workflows, MCP, and deployment share one framework? The clean 34-second install, 102-second build, and 162 passing tests justify answering that question with a prototype. For an all-Go system starting fresh, the integration can remove glue. For a company with Kubernetes, Temporal, an existing gateway, and provider policy already settled, the same integration may duplicate systems that are working.

Alternatives

ProjectWhat it isPick it when
Kratos gh↗A Go microservices framework focused on conventional cloud service development.pick this instead when agents, MCP tools, and model memory are outside the service framework's job.
Eino gh↗A Go framework for composing language-model applications and agent components.pick this instead when the model application is central and you do not want Go Micro's registry, broker, gateway, and deployment layer.
Temporal Go SDKThe Go client for building workflows and activities on Temporal.pick this instead when durable business workflows and operational replay guarantees matter more than a built-in agent harness.

What people are saying

  1. [velocity-scout] micro/go-micro

Sources

  1. Go Micro GitHub repository
  2. Go Micro README at measured commit 24529f1
  3. Go Micro agent guardrails guide
  4. Go Micro MCP security guide
  5. Go Micro deployment guide
  6. Go Micro durable agent example
  7. Go Micro 6.12.0 release
  8. Issue 4842: Alpha Kubernetes reconciliation

More ai tools reviews

learnopencv · vit-pytorch · Scrapegraph-ai · Deep-Live-Cam · frontend-slides · genesis-world · the whole board →