AURON MCP
AURON MCP — v1 (read-only, multi-tenant, production-lean)
MCP gateway between AI hosts/agents and the AURON Suite backend
(api_peluqueria). Identity, tenancy, and RBAC are resolved from the real
AURON REST API — the model can never steer them.
What this is
Read-only: every tool is a GET against a verified AURON endpoint. No create/update/delete is exposed.
Real identity: resolves the authenticated AURON principal via
GET /api/auth/verify/+GET /api/tenants/current/(Bearer token or the httpOnly auth cookies that/api/auth/login/issues).Fail-closed RBAC: role → permission mirror (
policy/roles.py) derived from AURON's canonical roles. Unknown roles get zero permissions; AURON's own authorization (403) still overrides the table.Tenancy delegated to AURON: the adapter NEVER sends
tenant_idor anX-Auron-Tenantheader. The upstream derives the tenant from the session via itsTenantMiddleware, exactly like AURON's own clients.Error boundary: nothing internal (messages, tokens, upstream bodies, stack traces) reaches the model — see
errors/normalize_error.Per-call audit: every tool call (success or denied) is written to an append-only JSONL audit log and stdout.
Rate limiting: per-(user, tool) sliding-window limiter checked before policy on every call.
Tools
Tool | Endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Compound: sales + appointments + inventory + employee performance |
| Compound: products + low-stock alerts |
| Compound: dashboard stats + today's sales |
| Compound: performance + employee roster |
|
|
Plus a auron://context/current resource and a daily_business_review prompt.
Quick start
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Copy .env.example to .env and set the real values:
AURON_ADAPTER=http
AURON_API_BASE_URL=http://localhost:8000Authenticate once (this stores AURON's httpOnly auth cookies for the gateway):
auron-manage login --email caja@salon.test --subdomain salon-uno
auron-manage status # verify the resolved identity/roleRun the server:
auron-mcp # stdio (default; what local MCP hosts expect)Run over Streamable HTTP (spec 2026-07-28) instead:
AURON_MCP_TRANSPORT=streamable-http \
AURON_MCP_HTTP_HOST=127.0.0.1 \
AURON_MCP_HTTP_PORT=8765 \
auron-mcp # serves the MCP endpoint at http://127.0.0.1:8765/mcpThe HTTP deployment validates the MCP-Protocol-Version / Mcp-Method /
Mcp-Name request headers against the JSON-RPC body (400 + -32020
HeaderMismatch), rejects non-POST with 405, and enables DNS-rebinding
protection. See docs/CONNECTING.md for the full endpoint contract and
src/auron_mcp/http_app.py for the spec layer on top of the SDK transport.
With AURON_ADAPTER=mock (default) the server works offline with a fixed
dev identity (u-mock-1 / t-mock-1 / CLIENT_ADMIN) for development and
testing only.
Tests
pytest -q # 78 tests: policy, rbac, audit, ratelimit, adapters,
# identity provider, tools, MCP stdio handshake, and the
# 2026-07-28 Streamable HTTP header rules
ruff check src testsLayout
src/auron_mcp/
auth/ identity.py (AuronIdentity) + provider.py (resolve via AURON)
policy/ roles.py (RBAC mirror) + engine.py (PolicyEngine, fail-closed)
audit/ AuditLogger (JSONL + stdout)
adapters/ base.py (interface) / http.py (httpx2 + cookies) / mock.py
tools/ AuronTools (policy + rate-limit + audit around every read)
errors/ normalize_error (model-safe error boundary)
server.py MCPServer wiring (stdio / streamable-http / sse)
http_app.py Streamable HTTP deployment: 2026-07-28 header validation,
DNS-rebinding settings, optional bearer token
manage.py operator CLI: login / status / cleanSecurity principles
Never trust a tenant ID supplied by an LLM as an authorization boundary.
Resolve tenant/scope from authenticated identity and server-side policy.
Tools are read-only; side effects are intentionally out of scope for v1.
Every sensitive action is auditable — including denied attempts.
MCP calls stable AURON application APIs, never raw SQL.
Never expose secrets, JWTs, upstream response bodies, or stack traces to the model.
A tool call has a cost — rate-limit it.
See docs/mcp-integration-audit.md (audit of the real AURON backend),
docs/ARCHITECTURE.md, docs/CONNECTING.md, and docs/ROADMAP.md.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alexandevs2309/auron-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server