CAPI Gateway

平台与服务

by surisoft-io

基于 Apache Camel 的 API Gateway,为 LLM agents 提供 REST-to-MCP 桥接能力。

什么是 CAPI Gateway

基于 Apache Camel 的 API Gateway,为 LLM agents 提供 REST-to-MCP 桥接能力。

README

<p align="center"> <img src="docs/capi-logo-white.svg" alt="CAPI" width="20%"/> </p>

CAPI License Docker Image Version (latest by date)

<h5 align="center"> <br> <a href="https://github.com/surisoft-io/capi-core/issues/new?assignees=&labels=use+case&template=use_case.md&title=%5BUSECASE%5D+"> <img src="https://dummyimage.com/1000x80/000000/ffffff.png&text=If+you+are+using+CAPI,+please+let+us+know+by+clicking+here" alt="Share your use case with us"> </a> <br> </h5>

CAPI Gateway

Lightweight API Gateway

CAPI is a lightweight API Gateway and load balancer built on Undertow's async proxy architecture. Services register themselves in HashiCorp Consul, and CAPI automatically discovers them, creates proxy handlers, and applies security, throttling, and observability policies — no database required.

Features

  • REST, WebSocket, and SSE gateway with fully async proxying (zero threads blocked during backend calls)
  • Service discovery via HashiCorp Consul (automatic route creation and removal)
  • OAuth2 / OIDC token validation (multi-provider, cookie-based auth supported)
  • API Key authentication with per-key throttling (via Consul KV)
  • Fine-grained authorization via OPA (Open Policy Agent, async policy evaluation)
  • Distributed throttling (Hazelcast, with Kubernetes discovery)
  • Load balancing (Round Robin) and Failover
  • Distributed tracing (OpenTelemetry / OTLP)
  • Prometheus metrics
  • OpenAPI spec aggregation from upstream services
  • TLS termination and dynamic truststore management (via Consul KV hot-reload)
  • CORS management
  • Admin API with health, metrics, and route inspection
  • Multi-instance support (route targeting per CAPI instance)
  • Reverse proxy headers (X-Forwarded-*)
  • [Experimental] MCP Gateway — expose services as MCP tools for LLM agents (JSON-RPC 2.0 over Streamable HTTP)
  • [Experimental] gRPC Gateway — transparent HTTP/2 reverse proxy for gRPC services with header-based routing

REST-to-MCP Bridging

CAPI's MCP Gateway turns any existing REST API into an MCP tool — no code changes on your backends.

Register a service in Consul with MCP metadata, and LLM agents (Claude Desktop, Cursor, custom agents) can discover and invoke it immediately. Your REST services don't need to know anything about MCP, JSON-RPC, or tool schemas. CAPI handles the translation:

code
LLM Agent                          CAPI                          Your REST API
                                                                 (unchanged)
  tools/list  ──────────────►  reads Consul metadata
              ◄──────────────  returns tool catalog

  tools/call  ──────────────►  extracts arguments
              {"name":"..."}   POST /endpoint  ──────────────►  handles request
                               wraps response  ◄──────────────  returns JSON
              ◄──────────────  MCP-formatted result

CAPI also supports real MCP Server backends — services that already speak JSON-RPC 2.0. Register them with mcp-type: server and CAPI discovers their tools automatically via tools/list, then proxies tools/call requests transparently. Both REST and MCP Server backends are aggregated under one unified MCP endpoint.

Unlike dedicated MCP gateways that require all backends to be MCP Servers, CAPI bridges the gap between existing REST infrastructure and LLM-native protocols. See the MCP Gateway docs and the demo for a working example with both backend types.

Quickstart

CAPI requires the CAPI_CONFIG_FILE environment variable pointing to a valid configuration file.

Running from JAR

bash
CAPI_CONFIG_FILE=config/config.yaml java -jar capi-core.jar

Running with Docker

bash
docker run -p 8380:8380 -p 8381:8381 \
  -v $(pwd)/config/config.yaml:/capi/config/config.yaml \
  -e CAPI_CONFIG_FILE=/capi/config/config.yaml \
  surisoft/capi-core

Running with Helm (Kubernetes)

A Helm chart is available in helm/capi-core/.

bash
helm install capi-core helm/capi-core

# With custom values
helm install capi-core helm/capi-core -f my-values.yaml

# Enable SSL and truststore
helm install capi-core helm/capi-core \
  --set capi.ssl.enabled=true \
  --set capi.ssl.keystoreBase64=<base64-encoded-keystore> \
  --set capi.ssl.password=changeit

See helm/capi-core/values.yaml for all available configuration options.

Ports

PortDescriptionConfig key
8380REST API gatewaycapi.rest.port
8381Admin / metricscapi.adminPort
8382WebSocket gatewaycapi.websocket.port
8383MCP Gateway (experimental)capi.mcp.port
8384gRPC Gateway (experimental)capi.grpc.port

Running Modes

The runningMode field controls which types of services CAPI will proxy:

ModeDescription
fullProxies REST, WebSocket, and SSE services (default)
websocketOnly proxies WebSocket services
sseOnly proxies SSE services

Documentation

DocumentDescription
Service RegistrationHow to register services in Consul and configure routing, security, and throttling via metadata
SecurityOAuth2/OIDC and OPA authorization configuration
Admin APIAdmin endpoints reference (health, metrics, routes, OpenAPI)
Configuration ReferenceComplete YAML configuration reference with all fields
MCP Gateway (Experimental)MCP Gateway for LLM tool integration via JSON-RPC 2.0
gRPC Gateway (Experimental)Transparent gRPC reverse proxy with header-based routing

常见问题

CAPI Gateway 是什么?

基于 Apache Camel 的 API Gateway,为 LLM agents 提供 REST-to-MCP 桥接能力。

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描165.3k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描165.3k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描23.5k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.1k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.9k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
71.9k

评论