wanaku-ai/wanaku

分类General
作者Community
星标4
定价Free

简介

Wanaku 是一款基于 SSE(服务器发送事件)的 MCP 路由服务器,旨在解决 AI Agent 与企业内部复杂系统对接的“最后一公里”问题。它不像简单的插件,而是一个可扩展的路由引擎,能将企业内部的异构数据源和 API 统一调度给 LLM。对于开发者而言,它降低了在多个私有服务间构建连接的复杂度,让 AI 能够更灵活地在不同企业工具间跳转并获取实时上下文,非常适合需要构建企业级 AI 工作流的场景。

核心亮点

  • 基于 SSE 协议,实现高效的实时数据传输
  • 提供可扩展路由引擎,统一调度企业内部 API
  • 简化 AI Agent 与私有系统对接的集成难度
  • 支持灵活的上下文路由,增强 AI 任务执行力

完整文档

Wanaku - 一个连接一切的 MCP Router

![License](LICENSE)
![Build](https://github.com/wanaku-ai/wanaku/actions)
![Release](https://github.com/wanaku-ai/wanaku/releases)

Wanaku MCP Router 是一个为 AI 应用设计的路由,由 Model Context Protocol (MCP) 驱动。
它位于 AI 客户端与后端服务之间,通过过滤器流水线(filter pipeline)路由请求,以提供命名空间隔离、工具管理以及 MCP-to-MCP 工具转发。

项目名称源自 Guanaco 一词,这是一种原产于南美的骆驼科动物。

核心特性- Unified MCP Routing - 为 AI agent 提供集中式的路由和资源管理

  • MCP-to-MCP Bridge - 作为其他 MCP server 的网关或代理,支持远程工具的自动发现
  • Multi-Namespace Support - 在隔离的 namespace 中组织工具和资源
  • Secure by Default - 通过 oauth2-proxy 和 Keycloak 实现身份验证和授权(可选 — 可在无认证状态下运行)
  • Extensible Architecture - 通过 feature crates 和可组合的 filter pipeline 实现的插件系统
  • Admin Dashboard - 用于管理工具、资源、prompts 和 forwards 的 Web UI
  • Container-Ready - 自动发布多架构镜像 (x86_64, aarch64)

Quick Start

Install

在 Linux 或 macOS 上下载最新的 early-access 版本:

bash
curl -fsSL https://raw.githubusercontent.com/wanaku-ai/wanaku/main/get-wanaku-praxis.sh | bash
安装程序会检测主机平台,验证发布版本的校验和,并将 wanaku-praxis 安装到 $HOME/bin。可以使用 WANAKU_PRAXIS_INSTALL_DIR 覆盖安装目标路径。

Container
bash
podman run -p 8080:8080 -p 8081:8081 quay.io/wanaku/wanaku-praxis
若要预加载 forwards,请挂载一个 wanaku.yaml
bash
podman run -p 8080:8080 -p 8081:8081 \

-v ./wanaku.yaml:/etc/wanaku-praxis/wanaku.yaml \ quay.io/wanaku/wanaku-praxis \ --wanaku-config /etc/wanaku-praxis/wanaku.yaml
### 从源码构建

> [!NOTE]
> 从源码构建需要:Rust 1.96+ 和 Yarn(用于 admin UI)。

bash
cargo build
cargo run
如果 ui/admin/dist/ 缺失,首次执行 cargo build 将通过 yarn 自动构建 admin UI。

Endpoints

| Endpoint | Address | Description |
|---|---|---|
| MCP | http://localhost:8081/mcp | MCP 协议端点(或通过 /{namespace}/mcp 进行命名空间访问) |
| Management API | http://localhost:8080/api/v1/... | 用于 tools, resources, prompts, forwards, namespaces 的 CRUD 操作 |
| Admin UI | http://localhost:8080/admin/ | Web 控制面板 |

Learn Wanaku

学习 Wanaku 最简单的方法是参考 guided tutorial

包含完整安装和配置指令的参考文档可在 usage guide 中找到。

Configuration

在工作目录中放置 wanaku.yaml 以预加载 forward 定义:

yaml
forwards:
- name: "upstream-mcp"
address: "http://remote.example.com/mcp"
如果没有提供配置文件,服务器将以空注册表启动,该注册表可以通过管理 API 进行填充。

管理 API 示例

将远程 MCP 服务器注册为转发(其工具将被自动发现):

bash
curl -X POST http://localhost:8080/api/v1/forwards \
-H "Content-Type: application/json" \
-d '{
"name": "upstream-mcp",
"address": "http://remote.example.com/mcp"
}'
从前向刷新工具(自动发现):
bash
curl -X POST http://localhost:8080/api/v1/forwards/upstream-mcp/refreshes
来自远程服务器的所有工具现在都显示在你的本地目录中。客户端无法感知它们是被转发的。

Authentication

身份验证由 oauth2-proxy 外部处理。两个实例分别位于 MCP 和管理端口之前,共享一个 SSO cookie:

  • MCP proxy (:4180:8081) — 保护 MCP endpoints,任何已认证用户均可访问
  • Management proxy (:4181:8080) — 保护 admin UI 和 REST API,需要 admin 角色

Wanaku 还在 /.well-known/oauth-protected-resource/{namespace}/mcp 提供 RFC 9728 OAuth Protected Resource Metadata。将 WANAKU_AUTH_ISSUER 设置为你的 Keycloak realm URL 以填充 authorization_servers 字段。

有关安装说明(Docker Compose 和本地开发),请参阅 deploy/auth/README.md

Documentation

Wanaku Documentation 网站包含完整的项目文档。

参与项目的贡献者可以参考开发文档:- Getting Started - 开发环境搭建指南









Community

Related Projects

  • Java SDK - 用于 Java 构建能力服务的 SDK

License

本项目采用 Apache 2.0 License 许可 - 详见 LICENSE 文件。

查看官方来源