stoa

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License Ò€” License: Apache-2.0
  • Description Ò€” Repository has a description
  • Active repo Ò€” Last push 0 days ago
  • Low visibility Ò€” Only 7 GitHub stars
Code Basarisiz
  • rm -rf Ò€” Recursive force deletion command in .claude/hooks/permission-request-contabo.sh
  • rm -rf Ò€” Recursive force deletion command in .claude/hooks/post-compact-state.sh
Permissions Gecti
  • Permissions Ò€” No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

πŸ›οΈ The European Agent Gateway β€” Open-source MCP Gateway for Enterprise AI | gostoa.dev

README.md

STOA
The open-source Agent Gateway for governed AI-to-API traffic
Keep your gateway. Add MCP. Govern every agent call.

License CI GitHub Stars Discord

Website Β· Docs Β· Discussions Β· Discord Β· Status


APIs are becoming AI tools. Who governs the calls?

AI agents are starting to call internal systems: billing, CRM, identity, logistics, support, legacy SOAP services, and private REST APIs.

The hard part is not only making an API callable by an agent. The hard part is answering:

Which agent called which API, under which identity, through which policy, with which quota, and with what audit trail?

STOA is an open-source Agent Gateway that sits next to your existing API gateway and exposes enterprise APIs as governed Model Context Protocol (MCP) tools.

No gateway replacement. No duplicated API catalog. No untracked agent traffic.

STOA Console β€” Call Flow Dashboard with live traces and traffic heatmap


What you can do with STOA

In your platform today With STOA
APIs live behind Kong, Gravitee, Apigee, Azure APIM, AWS API Gateway, or webMethods Keep them where they are and add an MCP layer for agents
Developers wait for access, credentials, and onboarding Use a self-service portal for discovery, subscription, and testing
API catalogs drift between specs, spreadsheets, and gateways Define APIs once and expose them as REST endpoints and MCP tools
AI agents call tools without enterprise-grade controls Apply OAuth, mTLS, rate limits, RBAC, quotas, and audit trails
Teams lack visibility into AI-to-API traffic Observe calls with Prometheus, Grafana, Loki, and OpenSearch

Quick start

Run the full local stack with Docker Compose.

# Clone
git clone https://github.com/stoa-platform/stoa.git
cd stoa/deploy/docker-compose

# Start the demo stack
cp .env.example .env
docker compose up -d

# Wait for services to become healthy
../../scripts/demo/check-health.sh --wait

# Seed demo data
../../scripts/demo/seed-all.sh --skip-traffic

Open http://localhost and log in with:

username: halliday
password: readyplayerone
Service URL
Console http://localhost
Developer Portal http://localhost/portal
API Docs http://localhost/api/docs
Grafana http://localhost/grafana
Keycloak http://localhost/auth
Gateway health http://localhost/gateway/health

For local component-by-component development, see DEVELOPMENT.md.


From API to agent tool in 3 steps

graph LR
  A[Import or define an API] --> B[Attach auth, quotas, policies]
  B --> C[Publish REST + MCP]
  C --> D[Agents discover tools]
  C --> E[Humans keep using REST]
  D --> F[Audit, metrics, traces]
  E --> F
  1. Define once β€” import OpenAPI or describe the API through STOA's Universal API Contract.
  2. Govern once β€” attach identity, plans, rate limits, scopes, and tenant policies.
  3. Expose everywhere β€” publish for human developers through REST and for AI agents through MCP.

Why teams choose STOA

MCP-native, not MCP as an afterthought

STOA is built for AI agents that need to discover and call enterprise APIs safely. Agents connect through MCP; platform teams keep control over identity, authorization, rate limiting, and audit.

Sidecar by design

STOA does not force a big-bang gateway migration. Existing REST traffic continues through your current gateway while STOA adds a governed MCP path for agents.

Open source and self-hostable

The core platform is Apache 2.0. Run it locally, in Kubernetes, on-premise, or in a hybrid setup. Fork it, inspect it, extend it, or contribute back.

Built for European and regulated environments

STOA is designed for teams that care about sovereignty, auditability, data residency, and operational control. It supports self-hosted deployments and keeps governance close to your infrastructure.


Architecture

                         STOA Control Plane
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚ Console Β· Portal Β· Control Plane API Β· Keycloak  β”‚
        β”‚ Observability Β· Tenants Β· Subscriptions Β· Audit  β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚ sync
             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β”‚                                     β”‚
             β–Ό                                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ STOA Agent Gateway       β”‚        β”‚ Existing API Gateway         β”‚
β”‚ Rust Β· MCP Β· REST bridge β”‚        β”‚ Kong Β· Gravitee Β· Apigee     β”‚
β”‚ OAuth Β· mTLS Β· quotas    β”‚        β”‚ Azure APIM Β· AWS Β· webMethodsβ”‚
β”‚ Tool discovery Β· audit   β”‚        β”‚ Existing REST clients stay   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚                                    β”‚
              β–Ό                                    β–Ό
       AI agents via MCP                    Existing backends

Core idea: STOA adds a governed agent layer without taking ownership of your whole API estate.


Platform capabilities

Capability What it gives you
MCP Gateway Governed tool discovery and execution for AI agents
Universal API Contract One definition for REST and MCP exposure
Self-Service Portal API discovery, subscriptions, credentials, and testing
Admin Console Tenants, consumers, APIs, plans, subscriptions, and policies
Multi-Gateway Adapters Sync with Kong, Gravitee, Apigee, Azure APIM, AWS API Gateway, webMethods, and STOA native
Identity Federation Keycloak-based OIDC, SAML, LDAP, Active Directory, and cross-realm isolation
Security Controls OAuth 2.1, PKCE, mTLS, JWT validation, RBAC, quotas, and per-consumer rate limiting
Observability Prometheus metrics, Grafana dashboards, Loki logs, OpenSearch error snapshots, traces, and audit history
Kubernetes Native Helm deployment, operator support, and CRDs for tools, toolsets, skills, gateways, and bindings

Demo scenarios

After seeding the demo stack, try these flows:

Scenario What to look for
Developer discovers an API Open the Portal, browse the API catalog, inspect specs, and request access
Admin approves and governs access Use the Console to manage consumers, plans, subscriptions, tenants, and quotas
Agent calls an API as a tool Observe how MCP traffic is authenticated, rate-limited, traced, and audited
Platform team monitors usage Open Grafana and inspect latency, request rate, errors, quotas, and gateway health
More screenshots

STOA Console β€” Gateway Overview


Who is STOA for?

Platform teams who already run API gateways and want an AI agent layer without replacing their infrastructure.

Integration teams modernizing legacy REST, SOAP, and webMethods APIs for agentic workflows.

AI teams that need real enterprise tools, not toy demos, with authentication, quotas, and audit from day one.

Open-source builders who believe the agentic web needs inspectable, self-hostable, standards-based infrastructure.


Under the hood

Component Stack Purpose
Control Plane API Python, FastAPI, SQLAlchemy Backend API, RBAC, adapters, tenants, subscriptions
Console UI React, TypeScript, Vite Admin experience for platform teams
Developer Portal React, TypeScript, Vite Self-service API discovery and onboarding
STOA Gateway Rust, Tokio, axum API proxy, MCP bridge, auth, quotas, audit
stoactl Go, Cobra CLI and GitOps-style operations
Keycloak OIDC, SAML, LDAP Identity, federation, realms, authentication
Kubernetes Operator Python, Kopf CRD controller for MCP resources
Helm Chart Helm 3 Kubernetes installation and production deployment

Quality and security

STOA is built as infrastructure, not a demo script.

Area Practice
Gateway tests Unit, contract, integration, and security tests
Control plane tests Async API tests with coverage threshold
E2E tests Playwright + BDD feature files for smoke, critical, portal, console, and gateway flows
Supply chain SAST, dependency scanning, container scanning, SBOM generation, signed commits, and regression guards

See SECURITY.md, CONTRIBUTING.md, and docs/ for details.


Deploying STOA

Docker Compose

Use Docker Compose for local demos, development, and evaluation.

cd deploy/docker-compose
cp .env.example .env
docker compose up -d

See deploy/docker-compose/README.md.

Kubernetes

Use Helm for Kubernetes deployments.

helm install stoa-platform ./charts/stoa-platform \
  -n stoa-system --create-namespace \
  -f charts/stoa-platform/values.yaml

See the deployment documentation for production and hybrid environments.


Repository map

stoa/
β”œβ”€β”€ control-plane-api/       # FastAPI backend
β”œβ”€β”€ control-plane-ui/        # React admin console
β”œβ”€β”€ portal/                  # React developer portal
β”œβ”€β”€ stoa-gateway/            # Rust gateway + MCP bridge
β”œβ”€β”€ stoa-go/                 # Go CLI and connect agent
β”œβ”€β”€ stoa-operator/           # Kubernetes operator
β”œβ”€β”€ charts/                  # Helm chart and CRDs
β”œβ”€β”€ deploy/docker-compose/   # Local quick start
β”œβ”€β”€ e2e/                     # Playwright BDD tests
β”œβ”€β”€ scripts/                 # Demo, seed, benchmarks
└── docs/                    # Runbooks, ADRs, methodology

Contributing

STOA is early, open, and looking for builders who care about making AI-to-API traffic safe, observable, and self-hostable.

Great places to contribute:

  • Gateway adapters β€” Kong, Gravitee, Apigee, Azure APIM, AWS API Gateway, webMethods, and more.
  • MCP examples β€” agent clients, tool definitions, demo workflows, Claude/Cursor integrations.
  • Security hardening β€” OAuth, mTLS, RBAC, policy evaluation, audit, threat modeling.
  • Observability β€” dashboards, traces, error snapshots, benchmark scenarios.
  • Docs and tutorials β€” quick starts, migration guides, architecture notes, real-world examples.
  • Developer experience β€” stoactl, local setup, test ergonomics, CI, Helm values.

Start with CONTRIBUTING.md, open an issue, or join the community on Discord.

Contributors

Documentation and community

Resource Link
Documentation https://docs.gostoa.dev
Website https://gostoa.dev
GitHub Discussions https://github.com/stoa-platform/stoa/discussions
Discord https://discord.gg/j8tHSSes
Status https://status.gostoa.dev
Support SUPPORT.md
Roadmap ROADMAP.md

Related repositories

Repository Purpose
stoa-docs Documentation site, ADRs, guides, API reference
stoa-web Public website
stoa-quickstart Self-hosted quick start
stoactl CLI for API management workflows

License

STOA is released under the Apache License 2.0.

Built by CAB IngΓ©nierie β€” Paris, France.

Yorumlar (0)

Sonuc bulunamadi