Sandbox
@wanaku-ai/wanaku

MCP router and policy proxy for AI agents

Wanaku sits between your agent and the systems it acts on, so tool calls are routed through one governed layer. It supports forwards to upstream MCP servers, policy checks, auth, namespace isolation, and an admin UI for managing tools and resources.

133 stars50 forksRustUpdated 9d ago
Who it's for

Builders who want agents like Claude Code or Codex to call tools through a governed MCP proxy.

What it delivers

You can expose backend tools to agents without letting the agent touch those systems directly.

What it does

Agent isolation

Agents call tools through Wanaku instead of reaching backend systems directly.

Policy enforcement

LLM evaluators and WASM action scripts can classify, filter, and block tool calls in the proxy.

Identity and auth

OAuth2-proxy and Keycloak sit in front of the MCP and management ports for access control.

Tool discovery

Wanaku can auto-discover tools from upstream MCP servers and publish them in its local catalog.

Namespace isolation

Tools and resources can be separated by namespace for team, tenant, or environment boundaries.

Admin dashboard

A web UI lets you manage tools, resources, prompts, forwards, and namespaces.

How to get it

  1. 1Download the latest early-access build on Linux or macOS
    curl -fsSL https://raw.githubusercontent.com/wanaku-ai/wanaku/main/get-wanaku.sh | bash
  2. 2Run
    podman run -p 8080:8080 -p 8081:8081 quay.io/wanaku/wanaku-server
  3. 3To preload forwards, mount a wanaku.yaml
    podman run -p 8080:8080 -p 8081:8081 \
      -v ./wanaku.yaml:/etc/wanaku/wanaku.yaml \
      quay.io/wanaku/wanaku-server \
      --wanaku-config /etc/wanaku/wanaku.yaml
  4. 4[!NOTE] Building from source requires: Rust 1.96+ and Yarn (for the admin UI).
    cargo build
    cargo run

README

Wanaku — A Governed Action Proxy for AI Agents

License Build Release

Wanaku is a governed action proxy for AI agents. It sits between agents and the systems they act on, intercepting tool calls, agent-to-agent messages, and inference traffic. Integration developers build Apache Camel routes and publish them as tools; agents call those tools with parameters, but Wanaku runs the actual work — the agent never touches backend systems directly. Policy, identity, data controls, and audit happen in the proxy, not in the agent.

The project name comes from the origins of the word Guanaco, a camelid native to South America.

Key Features

  • Agent Isolation — Agents call tools through Wanaku; they never reach backend systems directly
  • Policy Enforcement — LLM-powered evaluators + WASM action scripts classify, filter, and block tool calls in the proxy layer
  • Identity & Auth — Authentication and authorization via oauth2-proxy and Keycloak, enforced before actions reach backends
  • Tool Discovery — Auto-discover tools from upstream MCP servers; integration developers publish Camel routes as tools
  • Namespace Isolation — Organize tools and resources across isolated namespaces per team, tenant, or environment
  • Extensible Architecture — Plugin system via feature crates and a composable filter pipeline
  • Admin Dashboard — Web UI for managing tools, resources, prompts, and forwards
  • Container-Ready — Multi-arch images (x86_64, aarch64) published automatically

Quick Start

Install

Download the latest early-access build on Linux or macOS:

curl -fsSL https://raw.githubusercontent.com/wanaku-ai/wanaku/main/get-wanaku.sh | bash

The installer detects the host platform, verifies the release checksum, and installs wanaku-server into $HOME/bin. Override the destination with WANAKU_INSTALL_DIR.

Container

podman run -p 8080:8080 -p 8081:8081 quay.io/wanaku/wanaku-server

To preload forwards, mount a wanaku.yaml:

podman run -p 8080:8080 -p 8081:8081 \
  -v ./wanaku.yaml:/etc/wanaku/wanaku.yaml \
  quay.io/wanaku/wanaku-server \
  --wanaku-config /etc/wanaku/wanaku.yaml

From Source

[!NOTE] Building from source requires: Rust 1.96+ and Yarn (for the admin UI).

cargo build
cargo run

The first cargo build automatically builds the admin UI via yarn if ui/admin/dist/ is missing.

Endpoints

EndpointAddressDescription
MCPhttp://localhost:8081/mcpMCP protocol endpoint (or /{namespace}/mcp for namespaced access)
Management APIhttp://localhost:8080/api/v1/...CRUD for tools, resources, prompts, forwards, namespaces
Admin UIhttp://localhost:8080/admin/Web dashboard

Learn Wanaku

The easiest way to learn Wanaku is by following the guided tutorial.

The reference documentation, including the complete installation and configuration instructions, is available in the usage guide.

Configuration

Drop a wanaku.yaml in the working directory to preload forward definitions:

forwards:
  - name: "upstream-mcp"
    address: "http://remote.example.com/mcp"

If no config file is provided, the server starts with an empty registry that can be populated via the management API.

Management API Examples

Register a remote MCP server as a forward (its tools are auto-discovered):

curl -X POST http://localhost:8080/api/v1/forwards \
  -H "Content-Type: application/json" \
  -d '{
    "name": "upstream-mcp",
    "address": "http://remote.example.com/mcp"
  }'

Refresh tools from the forward (auto-discover):

curl -X POST http://localhost:8080/api/v1/forwards/upstream-mcp/refreshes

All tools from the remote server now appear in your local catalog. The client has no idea they're forwarded.

Authentication

Authentication is handled externally by oauth2-proxy. Two instances sit in front of the MCP and management ports, sharing an SSO cookie:

  • MCP proxy (:4180:8081) — protects MCP endpoints, any authenticated user
  • Management proxy (:4181:8080) — protects the admin UI and REST API, admin role required

Wanaku also serves RFC 9728 OAuth Protected Resource Metadata at /.well-known/oauth-protected-resource/{namespace}/mcp. Set WANAKU_AUTH_ISSUER to your Keycloak realm URL to populate the authorization_servers field.

See deploy/auth/README.md for setup instructions (Docker Compose and local development).

Documentation

The Wanaku Documentation website contains the full project documentation.

Contributors working on the project may want to refer to the development documentation:

Community

Related Projects

  • Camel Integration Capability — Build Apache Camel routes and publish them as tools that agents can call through Wanaku
  • Java SDK — SDK for building capability services in Java

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Files in the repo

Repository payload43 top-level entries
  • .bob
  • .claude
  • .github
  • .idea
  • .mvn
  • .oss-ai-helper-rules
  • actions
  • artwork
  • deploy
  • docs
  • examples
  • features
  • filters
  • infra
  • jreleaser
  • sdk
  • server
  • tests
  • types
  • ui
  • wit
  • .dockerignore
  • .gitignore
  • .lycheeignore
  • .markdownlint-cli2.yaml
  • AGENTS.md
  • build-manifests.sh
  • Cargo.lock
  • Cargo.toml
  • CLAUDE.md
  • clippy.toml
  • Containerfile
  • CONTRIBUTING.md
  • get-wanaku.sh
  • glama.json
  • images.txt
  • index.md
  • LICENSE
  • Makefile
  • README.md
  • SECURITY.md
  • wanaku-praxis.md
  • wanaku.yaml

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k