MCPcopy Index your code
hub / github.com/ankorstore/yokai

github.com/ankorstore/yokai @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,450 symbols 10,261 edges 512 files 1,062 documented · 43% updated 16d agofxhttpserver/v1.8.0 · 2026-06-19★ 8362 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Yokai

License: MIT Go version codecov Documentation Awesome Go

Simple, modular, and observable Go framework for backend applications.

Goals

Building backend applications with Go is amazing.

But 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.).

To solve this, Yokai was created with the following goals in mind:

  • Simple: it is easy to use, configure and test, enabling you to iterate fast and deliver quickly maintainable applications.
  • Modular: it can be extended with the available Yokai modules, or with your own, to build evolvable applications.
  • Observable: it comes with built-in logging, tracing and metrics instrumentation, to build reliable applications.

In other words, Yokai lets you focus on your application logic, while taking care of the rest.

Documentation

Yokai's documentation is available at https://ankorstore.github.io/yokai.

Overview

Architecture

Architecture

  • Yokai core modules preloads logging, tracing, metrics and health check instrumentation, and expose a private HTTP server for infrastructure and debugging needs.
  • 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 or your own.
  • Those are made available in Yokai dependency injection system, on which you can rely to build your application logic.

Foundations

Yokai was built using robust and well known Go libraries, such as:

  • Echo for HTTP servers
  • gRPC-go for gRPC servers
  • Viper for configuration management
  • OTEL for observability instrumentation
  • Fx for dependency injection system
  • and more.

Extensions

Yokai's extension system enables you to enrich your application features with:

Getting started

Yokai provides ready to use application templates to start your projects:

Showroom

Yokai provides a showroom repository with demo applications, ready to run, to see it in action:

Contributing

This repository uses release-please to automate Yokai's modules release process.

[!IMPORTANT] You must provide atomic and conventional commits, as the release process relies on them to determine the version to release and to generate the release notes.

Extension points exported contracts — how you extend this code

MCPServerFactory (Interface)
MCPServerFactory is the interface for server.MCPServer factories. [40 implementers]
fxmcpserver/server/factory.go
FxModuleInfo (Interface)
FxModuleInfo is the interface to implement by modules to provide their info to the core. [7 implementers]
fxcore/info.go
Task (Interface)
Task is an interface for tasks implementations. [13 implementers]
fxcore/task.go
DriverFactory (Interface)
DriverFactory is the interface for Driver factories. [40 implementers]
sql/factory.go
Middleware (Interface)
Middleware is the interface for middlewares. [9 implementers]
fxhttpserver/registry.go
CheckerFactory (Interface)
CheckerFactory is the interface for [Checker] factories. [40 implementers]
healthcheck/factory.go
CheckerProbe (Interface)
CheckerProbe is the interface for the probes executed by the [Checker]. [17 implementers]
healthcheck/probe.go
MetricsRegistryFactory (Interface)
MetricsRegistryFactory is the interface for [prometheus.Registry] factories. [40 implementers]
fxmetrics/factory.go

Core symbols most depended-on inside this repo

Error
called by 318
sql/hook.go
String
called by 206
fxhttpserver/enum.go
Create
called by 150
httpserver/factory.go
Add
called by 147
sql/registry.go
String
called by 128
healthcheck/enum.go
WithContext
called by 118
fxcore/bootstrap.go
Run
called by 103
fxcore/task.go
Get
called by 89
sql/registry.go

Shape

Function 1,230
Method 778
Struct 337
Interface 78
FuncType 18
TypeAlias 9

Languages

Go100%

Modules by API surface

httpserver/logger.go34 symbols
fxhttpserver/registry_test.go33 symbols
httpserver/factory_test.go32 symbols
grpcserver/testdata/proto/test_grpc.pb.go32 symbols
fxgrpcserver/testdata/proto/test_grpc.pb.go32 symbols
fxhttpserver/define.go31 symbols
fxvalidator/define.go30 symbols
fxmcpserver/module.go29 symbols
fxhttpserver/resolve.go27 symbols
config/config_test.go24 symbols
fxmcpserver/server/registry.go23 symbols
fxhttpserver/register.go22 symbols

Datastores touched

(mysql)Database · 1 repos
dbDatabase · 1 repos

For agents

$ claude mcp add yokai \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page