MCP server teaching AI agents to implement TideCloak: auth, E2EE, IGA, security analysis
io.github.tide-foundation/raziel (MCP Server)
This MCP server teaches AI coding agents how to implement TideCloak correctly. It provides knowledge spanning Tide authentication, threshold cryptography, end-to-end encryption (E2EE), IGA governance, and Forseti smart contracts, plus tools for security gap analysis and self-hosting versus managed-hosting guidance.
🛠️ Key Features
Tide authentication guidance
Threshold cryptography knowledge
End-to-end encryption (E2EE) knowledge
IGA governance and related implementation knowledge
Forseti smart contracts knowledge
Security gap analysis for an existing system
Self-host vs managed-hosting guidance
Provides “deep knowledge” for implementing TideCloak
Documented as “Tide MCP”
🚀 Use Cases
Implement TideCloak in AI-assisted development
Evaluate and analyze security gaps in a Tide-based system
Decide between self-hosted and managed hosting for the stack
⚡ Developer Benefits
Fewer implementation mistakes by targeting authentication, cryptography, and E2EE details
Structured guidance for governance (IGA) and Forseti smart contracts
Security gap analysis support for existing systems
⚠️ Limitations
The provided excerpt does not enumerate the specific tools beyond a stated tool count of 18.
Captured live from the server via tools/list.
tide_list
List all available content in the Tide agent pack by category
Match a user request to a known scenario pattern before falling back to generic playbooks
Parameters1
situation
string
required
Describe the app or problem, e.g. 'build an organisation password manager'
Raw schema
{
"type": "object",
"properties": {
"situation": {
"type": "string",
"description": "Describe the app or problem, e.g. 'build an organisation password manager'"
}
},
"required": [
"situation"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tide_choose_playbook
Recommend the right playbook for a given situation
Parameters1
situation
string
required
Describe what the builder wants to do, e.g. 'add login to a new Next.js app'
Raw schema
{
"type": "object",
"properties": {
"situation": {
"type": "string",
"description": "Describe what the builder wants to do, e.g. 'add login to a new Next.js app'"
}
},
"required": [
"situation"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tide_security_analysis
Analyze an EXISTING (possibly non-Tide) system for security gaps and map them to Tide capabilities. Returns the Security Analyst role instructions, the security gap mapping table (SG-01…SG-18), and the runtime-probe procedures. Use this when the user asks 'do a security analysis', 'where is my auth weak', or 'what would Tide change about my security'.
Parameters1
include_runtime_probes
boolean
optional
Include the runtime-confirmation probe procedures (canon/security-runtime-probes.md). Only relevant when the operator is authorized to probe a live target. Defaults to true.
Raw schema
{
"type": "object",
"properties": {
"include_runtime_probes": {
"type": "boolean",
"description": "Include the runtime-confirmation probe procedures (canon/security-runtime-probes.md). Only relevant when the operator is authorized to probe a live target. Defaults to true."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
tide_blast_radius
Run a Blast Radius Assessment of an EXISTING app: an adversarial, vendor-neutral map of where authority is concentrated to a single point (whoever obtains that one thing obtains everything it governs), scored by blast radius (Total/Systemic/Contained/Limited) across three cores — Identity, Governance, Access — and delivered as a director-facing PDF. Phase 1 names no vendor; an opt-in Phase 2 companion explains how TideCloak shrinks each blast radius. Use this when the user wants to 'assess', 'red team', 'threat model', 'find the security gaps in', or make a before/after security case for an existing application.
Where TideCloak runs: local Docker vs partner-hosted (Skycloak managed TideCloak-as-a-service). Returns the local-vs-hosted decision with the honest trade-offs, the trust model, the verified Skycloak API reference (correct cluster field names and the required version), and the full provisioning playbook. CALL THIS BEFORE STARTING ANY TIDECLOAK DEPLOYMENT — the choice must be made up front (I-17) because a realm cannot be moved between local and hosted afterwards. Triggers: 'deploy to production', 'deploy TideCloak', 'go live', 'host this somewhere', 'managed option', 'stable URL', 'can someone host TideCloak for us', or any request to stand up an instance where local-vs-hosted has not been settled.
Parameters
No parameters.
Raw schema
{
"type": "object",
"properties": {}
}
tide_branding
How to produce and upload the enclave's branding assets — the LOGO and BACKGROUND_IMAGE the Tide login/approval enclave displays. Returns the VERIFIED upload contract (endpoint, multipart parts, the png/jpg/jpeg/gif/webp allowlist with SVG REJECTED, the 5 MB cap, save-AND-sign via set-branding), the recommended geometry with padding, a dependency-free GENERATOR script for agents that cannot create images, and image-model prompts for agents that can. CALL THIS whenever branding, a logo, a background, theming or 'skinning' the enclave/login screen comes up, and before generating or uploading any image — a wrong format or an unpadded logo wastes an upload and, worse, ships a broken-looking login screen.
Parameters
No parameters.
Raw schema
{
"type": "object",
"properties": {}
}
tide_gaps
Read the gap register — what is still uncertain or unresolved in the pack
Raziel is the Tide MCP — it gives AI coding agents the knowledge to implement TideCloak correctly.
This MCP server gives your AI assistant deep knowledge of Tide authentication, threshold cryptography, end-to-end encryption, IGA governance, and Forseti smart contracts — plus a security gap analysis of your existing system and self-host vs managed-hosting guidance. Instead of guessing, your AI follows verified playbooks.
Quick Start
Raziel is a standard MCP server — it works with any AI coding agent or MCP client. The universal way to add it is a project-level .mcp.json; most clients also have their own native config, shown below.
Note: Codex CLI currently supports stdio-based MCP servers only — use the npx command.
Lovable
Lovable's build agent can use Raziel through a Custom MCP connector (available on all plans). In your Lovable project, open Connectors → Custom MCP (the card at the bottom) and add:
Server name:Raziel
Server URL:https://mcp.tide.org/mcp
Authentication:No authentication
Then tell the agent to use it — e.g. "Use the Raziel connector to pull the TideCloak playbook before writing any auth code."
Two things that trip people up:
You attach it, not the agent. Lovable's agent can't add connectors and won't find Tide in the prebuilt catalog (Tide isn't a catalog partner). Add it yourself in the Connectors panel, then point the agent at it — otherwise it will say it "has no way to connect."
It's a build-time connector. It gives Lovable's agent verified Tide knowledge while it generates your app; it does not run inside the published app. You still wire TideCloak into the generated app the normal way.
What your AI can do with this
Once connected, your AI assistant can:
Analyze your existing system for security gaps and map each one to what Tide fixes (with an honest "what Tide does NOT fix" list)
Add Tide auth to a new or existing Next.js/React app
Protect API routes with server-side JWT + DPoP verification
Set up role-based access with Tide's IGA governance
Deploy Forseti smart contracts for policy-governed encryption and signing
Bootstrap TideCloak — self-hosted (Docker) or partner-hosted (Skycloak) — to a fully configured realm
Diagnose issues like broken login, missing roles, CORS errors
Follow security invariants that prevent common auth mistakes
Try it
After setup, try these prompts in your AI coding tool:
Do a security analysis of my app and show what Tide would change
Add Tide authentication to my Next.js app
I have an existing app with auth — help me migrate to Tide
Set up encrypted data sharing between users with Tide
Help me create a Forseti contract for multi-admin approval
What's inside
Category
Count
Examples
Canon doctrine
15 files
Security invariants, anti-patterns, security gap mapping, IGA change-request API, hosting options, framework matrix, troubleshooting
Playbooks
18 step-by-step guides
Add auth, protect APIs, verify JWTs, deploy TideCloak, set up E2EE, provision hosted TideCloak
No Node.js required. No npx. Works with any MCP client that supports remote servers.
Self-hosting
Want to run your own instance? Pull from Docker Hub:
bash
docker run -p 3000:3000 tideorg/mcp
Or build from source:
bash
docker build -t tideorg/mcp .
docker run -p 3000:3000 tideorg/mcp
Then point your MCP client at http://localhost:3000/mcp.
Optional: set API_TOKEN environment variable to require Bearer token auth:
bash
docker run -p 3000:3000 -e API_TOKEN=your-secret tideorg/mcp
Requirements
Remote server: None (just an MCP client that supports remote URLs)
npm/npx install: Node.js 18+
Self-hosted Docker: Docker
No TideCloak instance needed to start — the agent will guide you through setup.
Privacy
The MCP server is read-only. Run locally (npx), it collects nothing — no accounts, no telemetry, no storage. The hosted mcp.tide.org endpoint records aggregate usage geography (approximate location only, never request content or tool arguments) to see where it's used. Full details in PRIVACY.md.