Skip to main content
ClaudeWave
EN, English
go-kratos / Awesome Lists

kratos

Your ultimate Go microservices framework for the cloud-native era.

  • 26k stars
  • 4.2k forks
  • 121 open issues
  • Language: Go
  • License: MIT
  • updated

Install

Terminal
git clone https://github.com/go-kratos/kratos
  1. Browse the curated list on GitHub or clone it locally.
  2. Star it to keep new additions on your radar.

Editor's note

Kratos is a lightweight Go framework for building cloud-native microservices, offering explicit APIs across transport, middleware, registry, configuration, logging, encoding, and code generation layers. Developers define services using Protobuf, then use the `kratos` CLI to scaffold projects and generate both HTTP and gRPC server and client code from `.proto` files with commands like `kratos proto server` and `kratos proto client`. The framework provides a unified transport layer that runs HTTP and gRPC servers simultaneously, composable middleware for recovery, tracing, validation, metrics, and authentication, plus pluggable registry and configuration backends through a contrib ecosystem. The `mcp` topic signals that Kratos is being positioned to support Model Context Protocol integrations, making it relevant to teams building Go-based backend infrastructure that surfaces tools or data to Claude via MCP servers. The v3 release notably reduces core dependencies and makes previously implicit behavior explicit, which benefits backend engineers who want fine-grained control over service construction. Go developers building production microservices that need to expose capabilities to AI systems, including Claude integrations, are the primary audience.

README

Awesome Lists overview

Full README on GitHub

Translations: English | 简体中文

Kratos

Kratos is a lightweight Go framework for building cloud-native microservices. It provides small, explicit APIs for transport, middleware, registry, configuration, logging, encoding, and code generation so applications can focus on business logic.

Features

  • API-first development with Protobuf and generated HTTP/gRPC code.

  • Unified transport layer for HTTP and gRPC.

  • Composable middleware for recovery, logging, validation, tracing, metrics, auth, and more.

  • Pluggable registry, configuration, and encoding components.

  • Standard-library log/slog based logging with OpenTelemetry extensions in contrib packages.

  • Consistent metadata, errors, validation, OpenAPI, and code-generation workflows.

  • A contrib ecosystem for optional integrations such as registries, config stores, middleware, encodings, and observability.

Installation

Requirements
Install the CLI
go install github.com/go-kratos/kratos/cmd/kratos/v3@latest
kratos upgrade

Create a Service

kratos new helloworld
cd helloworld
go mod tidy
kratos run

Visit http://localhost:8000/helloworld/kratos after the service starts.

For a fuller generated service flow:

kratos proto add api/helloworld/helloworld.proto
kratos proto client api/helloworld/helloworld.proto
kratos proto server api/helloworld/helloworld.proto -t internal/service
go generate ./...
kratos run

Usage Example

package main

import (
	"github.com/go-kratos/kratos/v3"
	"github.com/go-kratos/kratos/v3/transport/grpc"
	"github.com/go-kratos/kratos/v3/transport/http"
)

func main() {
	httpSrv := http.NewServer(http.Address(":8000"))
	grpcSrv := grpc.NewServer(grpc.Address(":9000"))

	app := kratos.New(
		kratos.Name("helloworld"),
		kratos.Version("v1.0.0"),
		kratos.Server(httpSrv, grpcSrv),
	)
	if err := app.Run(); err != nil {
		panic(err)
	}
}

v3 Migration

Kratos v3 reduces core dependencies and makes previously implicit behavior explicit. Review the v2 to v3 migration guide before upgrading production services.

Further Reading

Development

make test
make lint

Community

Security

If you discover a security vulnerability in Kratos, please contact go-kratos@googlegroups.com. Security reports are handled privately before disclosure.

Contributors

Thank you for contributing to Kratos. The contribution guide is available in the Kratos documentation.

Acknowledgments

The following projects influenced Kratos design:

License

Kratos is open-sourced software licensed under the MIT license.

Topics
aiarchitecturecloud-nativeframeworkgenerategogolanggrpchttpkratosmcpmicroservicemicroservicesprotobuf
Frequently asked

What people ask about kratos

What is go-kratos/kratos?

go-kratos/kratos is awesome lists for the Claude AI ecosystem. Your ultimate Go microservices framework for the cloud-native era. It has 26k GitHub stars and its last recorded update is dated 2026-10-21.

How do I install kratos?

You can install kratos by cloning the repository (https://github.com/go-kratos/kratos) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is go-kratos/kratos safe to use?

Our security agent has analyzed go-kratos/kratos and assigned a Trust Score of 100/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains go-kratos/kratos?

go-kratos/kratos is maintained by go-kratos. The last recorded GitHub activity is dated 2026-10-21, with 121 open issues.

Are there alternatives to kratos?

Yes. On ClaudeWave you can browse similar awesome lists at /categories/awesome, sorted by popularity or recent activity.

Maintain this repo? Show its Trust Score in your README

The badge shows this repository's current Trust Score and verdict, and links back to this page. It follows the catalogue data: nobody can buy or edit the score it displays.

ClaudeWave Trust Score for go-kratos/kratos
Markdown (README)
[![ClaudeWave Trust Score for go-kratos/kratos](https://claudewave.com/api/badge/go-kratos-kratos)](https://claudewave.com/en/repo/go-kratos-kratos)
HTML
<a href="https://claudewave.com/en/repo/go-kratos-kratos"><img src="https://claudewave.com/api/badge/go-kratos-kratos" alt="ClaudeWave Trust Score for go-kratos/kratos" width="320" height="64"></a>

What the badge means and how the score is computed

Project homepage
https://go-kratos.dev