{"id":"07d5d409-498b-4a39-ad70-dd1cdd2b1402","slug":"yokai","kind":"mcp","name":"yokai","summary":"Simple, modular, and observable Go framework for backend applications.","owner":"ankorstore","repoUrl":"https://github.com/ankorstore/yokai","license":"MIT","licenseTier":"permissive","trust":"community","stars":840,"match":null,"fewStars":false,"format":"mcp","createdAt":"2024-01-10T10:39:53.000Z","addedAt":"2026-10-14T03:42:09.401Z","logoUrl":"https://avatars.githubusercontent.com/u/49475048?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","data-analytics"],"tags":["framework","go","golang","grpc-server","http-server","modular","observability","open-telemetry"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-15T02:31:39.470Z","sample":false,"url":"https://conduits.dev/tools/yokai","language":"Go","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Yokai\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Go version](https://img.shields.io/badge/Go-≥1.20-blue)](https://go.dev/)\n[![codecov](https://codecov.io/gh/ankorstore/yokai/graph/badge.svg?token=ghUBlFsjhR)](https://codecov.io/gh/ankorstore/yokai)\n[![Documentation](https://img.shields.io/badge/Doc-online-cyan)](https://ankorstore.github.io/yokai/)\n[![Awesome Go](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go)\n\n<p align=\"center\">\n  <img src=\"docs/assets/images/yokai-bck.png\" width=\"300\" />\n</p>\n\n> Simple, modular, and observable Go framework for backend applications.\n\n<!-- TOC -->\n* [Goals](#goals)\n* [Documentation](#documentation)\n* [Overview](#overview)\n  * [Architecture](#architecture)\n  * [Foundations](#foundations)\n  * [Extensions](#extensions)\n* [Getting started](#getting-started)\n* [Showroom](#showroom)\n* [Contributing](#contributing)\n<!-- TOC -->\n\n## Goals\n\nBuilding backend applications with [Go](https://go.dev/) is amazing.\n\nBut to build `production-grade` applications, you need to put in place a bunch of efforts and boilerplate code, introducing complexity not even related to the logic of your application (like dependencies wiring, configuration management, observability instrumentation, etc.).\n\nTo solve this, Yokai was created with the following goals in mind:\n\n- `Simple`: it is easy to use, configure and test, enabling you to iterate fast and deliver quickly maintainable applications.\n- `Modular`: it can be extended with the available Yokai modules, or with your own, to build evolvable applications.\n- `Observable`: it comes with built-in logging, tracing and metrics instrumentation, to build reliable applications.\n\nIn other words, Yokai lets you focus on your application logic, while taking care of the rest.\n\n## Documentation\n\nYokai's `documentation` is available at [https://ankorstore.github.io/yokai](https://ankorstore.github.io/yokai).\n\n## Overview\n\n### Architecture\n\n![Architecture](docs/assets/images/architecture.jpg)\n\n- Yokai `core modules` preloads logging, tracing, metrics and health check instrumentation, and expose a private HTTP server for infrastructure and debugging needs.\n- Yokai `extensions modules` can be added to enrich your application features, like public HTTP / gRPC servers, workers, ORM, etc. You can also add the [contrib modules](https://github.com/ankorstore/yokai-contrib) or your own.\n- Those are made available in Yokai `dependency injection system`, on which you can rely to build your application logic.\n\n### Foundations\n\nYokai was built using `robust` and `well known` Go libraries, such as:\n\n- [Echo](https://github.com/labstack/echo) for HTTP servers\n- [gRPC-go](https://github.com/grpc/grpc-go) for gRPC servers\n- [Viper](https://github.com/spf13/viper) for configuration management\n- [OTEL](https://github.com/open-telemetry/opentelemetry-go) for observability instrumentation\n- [Fx](https://github.com/uber-go/fx) for dependency injection system\n- and more.\n\n\n### Extensions\n\nYokai's `extension system` enables you to `enrich` your application features with:\n\n- the Yokai `built-in` modules\n- the Yokai [contrib modules](https://github.com/ankorstore/yokai-contrib)\n- your own modules\n\n## Getting started\n\nYokai provides ready to use `application templates` to start your projects:\n\n- for [gRPC applications](https://ankorstore.github.io/yokai/getting-started/grpc-application)\n- for [HTTP applications](https://ankorstore.github.io/yokai/getting-started/http-application)\n- for [MCP applications](https://ankorstore.github.io/yokai/getting-started/mcp-application)\n- for [worker applications](https://ankorstore.github.io/yokai/getting-started/worker-application)\n\n## Showroom\n\nYokai provides a [showroom repository](https://github.com/ankorstore/yokai-showroom) with `demo applications`, ready to run, to see it in action:\n\n- [gRPC demo application](https://github.com/ankorstore/yokai-showroom/tree/main/grpc-demo)\n- [HTTP demo application](https://github.com/ankorstore/yokai-showroom/tree/main/http-demo)\n- [MCP demo application](https://github.com/ankorstore/yokai-showroom/tree/main/mcp-demo)\n- [worker demo application](https://github.com/ankorstore/yokai-showroom/tree/main/worker-demo)\n\n## Contributing\n\nThis repository uses [release-please](https://github.com/googleapis/release-please) to automate Yokai's modules release process.\n\n> [!IMPORTANT]\n> You must provide [atomic](https://en.wikipedia.org/wiki/Atomic_commit#Revision_control) and [conventional](https://www.conventionalcommits.org/en/v1.0.0/) commits, as the release process relies on them to determine the version to release and to generate the release notes.\n"}