Modules
AI integrations for Arke. Currently exposes the
ArkeAi.Mcp.* namespace for serving an Arke project to MCP-capable agents
(Claude Desktop, Cursor, IDE integrations) over HTTP / Streamable HTTP.
Distributed pub/sub for MCP notifications via :pg.
Thin wrapper over ArkeAuth.Utils.Permission.
Parses and applies Arke permission filter strings.
Plug handling :local (IP-restricted, project from header/opts) and :bearer (Guardian JWT) auth modes. Sets :arke_project on conn assigns.
Guardian error handler for the MCP pipeline. Returns 401 on any auth failure.
Guardian plug pipeline for Bearer token verification using ArkeAuth.Guardian.
Pure JSON-RPC 2.0 dispatch. Takes a decoded params map, returns a tagged tuple.
HTTP entry point for the MCP server. Accepts JSON-RPC 2.0 over POST, enforces auth, delegates to Protocol.
SSE transport: opens a chunked response, subscribes to notifications, writes events.
Converts an Arke parameter unit to a JSON Schema fragment (type + constraints + default).
Recursive filter conversion: JSON filter tree → Arke query.
Builds and executes tools for :arke.
Builds and executes tools for :group.
Derives MCP tool definitions from Arke ETS on demand and routes calls to the right tools module.
Builds and executes tools for :system expose entries (arke / parameter / group definition CRUD + associations).