Skip to main content

The MITHUNAI platform

One AI platform, its products, and one account under them

MITHUNAI is an AI platform with named products on one account and one organisation boundary. RAG, Chat and the Gateway are live, and three more are in beta. They share the knowledge you connect, the people you invite and the keys you issue.

Last updated

Every MITHUNAI product, on one account

MITHUNAI is a family of products on one platform: one account, one organisation boundary and one body of knowledge underneath all of them. They are not equally far along, and each one says where it stands. Signing in once and signing out once across every product is in beta.

  • MITHUNAI RAG

    Live

    For support, documentation and developer teams

    app.mithunai.com

    Connect your documentation, repositories, help centres and files, and answer questions from them with citations, or a plain "I don't know" when the sources do not support an answer. Put it on your site with the Ask AI widget, call it over the HTTP API, or reach it from your editor through read-only MCP tools. Coverage gaps, Top questions and source analytics show what people ask and what is missing.

    Limit: It is also at its own address, rag.mithunai.com, in Beta.

  • MITHUNAI Chat

    Live

    For everyone in your organisation who wants to ask, draft and summarise

    chat.mithunai.com

    A chat workspace with threads, saved prompts, bookmarks and file attachments. Every thread can search your knowledge and ask your assistants for a cited answer, and its model calls go through MITHUNAI Gateway.

  • MITHUNAI Gateway

    Live

    For platform teams that manage model providers

    gateway.mithunai.com

    One OpenAI-compatible endpoint in front of your model providers, with provider keys in an encrypted vault, routing and failover, and per-key usage and budgets for the traffic that goes through it. Chat sends its model calls through it; the RAG answer engine and Agents call providers with their own credentials.

    Limit: It admits platform administrators, and an organisation’s owners and administrators where a deployment allows it.

  • MITHUNAI Agents

    Beta. Access on request.

    For teams that want work done over several steps

    agents.mithunai.com

    Agents that plan over several steps and call tools. It runs behind sign-in, in beta, with access on request.

  • MITHUNAI Team

    Beta. Access on request.

    For support, IT, DevOps, marketing, sales and finance teams

    AI employees for Support, IT service desk, DevOps, Marketer, Sales and Finance work. Each one proposes what to do, a person approves, edits or rejects it, and every step is recorded.

    Limit: Beta. Access on request. It is built and tested against stand-ins, the tool connections it would use have not yet been tried against a real account, and its address will be team.mithunai.com.

  • The MITHUNAI platform

    Underneath every product

    For the administrators who run your organisation

    One account works across the products. Invite colleagues, change a member’s role, remove a member or hand over ownership, and see your organisation’s monthly answer allowance as “X of Y answers used this month”. Each customer’s data stays inside its own organisation.

    Limit: Signing in once and signing out once across every product is in beta; e-mailed invitations are in beta: a real invitation has not yet been tried.

MITHUNAI Architecture

What an AI Knowledge Engine should be.

MITHUNAI covers the path from your sources to a cited answer: ingestion of your documentation, retrieval, grounded answers that say when they do not know, and one customer’s data never reaching another.

Grounded Answering Engine

Checkable Citations with Honest Abstention

Every answer produced by MITHUNAI is constructed directly from retrieved knowledge passages. If evidence is absent, the engine honestly declines to answer rather than hallucinating plausible text.

Test live queries
MITHUNAI logoMITHUNAI streaming runner
SSE streaming
Q: How is tenant isolation enforced at query time?
MITHUNAI binds one organisation into every database query, vector search and cache key: the identifier a technical reader can grep for is OrganizationScope. Requests that cross or cannot name their organisation are refused rather than run broadly.
Verified citations
[1] docs/architecture/10-identity-and-tenancy.md
[2] mithunai.platform OrganizationScope, assert_tenant_filtered
Model Gateway

One Model Layer for Completions and Embeddings

Every model call the answer engine makes goes through one model layer, which talks directly to Anthropic, OpenAI and Gemini with the credentials your deployment configures. Each assistant picks its model from the deployment's catalogue.

✓Direct adapters for Anthropic, OpenAI and Gemini
✓Retries, timeouts and fallback to another configured provider
✓Normalised usage and cost estimates for every call
✓Answers streamed to the client as Server-Sent Events
GATEWAY • EXAMPLE CALLS
ILLUSTRATIVE
complete()anthropic
Grounded answer for an assistant, using the model it is configured with
complete()FALLBACK
Primary provider timed out, so the call is retried on another configured one
embed()openai
Chunk embeddings for a collection, with its fixed embedding model
Usage eventtokens and estimated cost
Normalised the same way for every provider
Ingestion Pipeline

Connect GitHub, Websites, Sitemaps and Files

Connect a GitHub repository, crawl a website on its own origin, follow a sitemap, or upload files. Ingestion runs as a background job, and you re-sync a source by hand or on a schedule your operator sets.

✓GitHub connector for public repositories, and private ones through a saved connection (not yet tried against a real account)
✓Same-origin website crawl and sitemap sources
✓File upload for PDF, DOCX, Markdown, HTML and TXT
✓Background ingestion jobs with status you can poll
JOB: sync_github_repo_mainIN FLIGHT • STAGE 3/4
1. Fetch & ExtractComplete (4,210 files)
2. Chunking (example workspace)Complete (18,450 chunks)
3. Vector indexing (example workspace)82% (15,129 / 18,450)
4. Organization Partition SyncQueued
Developer Platform

Model Context Protocol (MCP) and REST APIs

Connect your IDE to your knowledge base through the remote MCP server, in beta, or call the HTTP API from any language. Both authenticate with the same API key.

✓Read-only MCP tools: search_knowledge, ask_assistant, list_knowledge
✓Versioned /mithunai/api/v1 HTTP endpoints with predictable error envelopes
✓Hashed mithunai_sk_ API keys you can revoke at any time
✓No SDK to install: curl or any HTTP client works
.cursor/mcp.json • Model Context ProtocolJSON Configuration
{
  "mcpServers": {
    "mithunai": {
      "url": "https://app.mithunai.com/mithunai/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer mithunai_sk_..."
      }
    }
  }
}
Security & Multi-Tenancy

Authenticated Perimeter & Strict Multi-Tenancy

Tenant isolation is not an optional filter. It is an enforced query-time invariant. Every vector query requires a signed-in caller whose organisation is known, and is refused closed if omitted.

✓Every database query is bound to one organisation, with no exceptions
✓Automated credential and secret redaction prior to vectorization
✓Prompt fences with per-turn random nonces
✓Self-hosted deployment with no outbound telemetry by default
SECURITY ENFORCEMENT PIPELINEFAILS CLOSED
1. Principal Token Authentication
Bearer mithunai_sk_... resolves to one organisation, never a request field
2. Bound to One Organisation
SQL / pgvector filter: WHERE organization_id = 'tenant_01' (immutable)
3. Automated Secret Stripping
Pattern scanner redacts cloud and GitHub tokens and private keys before storage
4. Perimeter Guarantee
A request whose organisation cannot be established is refused, not run broadly.
White-Label Web Widget

Embed Grounded Chat with Zero Code Forking

Embed an intelligent chat assistant on your marketing site or authenticated portal. Enforce domain origin allowlists so only authorized websites can load your assistant.

✓Lightweight single-script bundle with zero tracking dependencies
✓Strict origin allowlist enforcement prevents third-party embedding
✓A widget visitor can send messages and nothing else
✓Full tenant customization: logo marks, colors, and instructions
EMBED SNIPPET • HTML / REACTORIGIN VERIFIED
<!-- Paste before </body> -->
<script>
  window.mithunaiWidget = {
    apiBaseUrl: "https://app.mithunai.com/mithunai/api/v1",
    widgetKey: "mithunai_wk_...",
  }
</script>
<script src="https://app.mithunai.com/widget/mithunai-widget.js" defer></script>
Security Architecture:
The deployment key has no secret half. Requests are verified by OriginPolicy on every SSE stream.
MITHUNAI emblemmithunai-core // product-architecture-explorer
One Account, Every Product
SELECT A SURFACE:THE PRODUCTS + HOW THEY CONNECT
SURFACE 01GatewayOpen Gateway
AI Gateway · gateway.mithunai.com

One OpenAI-compatible endpoint in front of the providers you register. Provider keys sit in an encrypted vault, a failed call falls back to another configured model, and usage is attributed to the key that spent it.

WIRE PROTOCOL & DATA CONTRACT // http // post // /v1/chat/completions
Illustrative
POST https://gateway.mithunai.com/v1/chat/completions
Authorization: Bearer $GATEWAY_API_KEY
Content-Type: application/json

{
  "model": "$MODEL",
  "messages": [{"role": "user", "content": "Summarise this change log."}],
  "stream": true
}

// $MODEL is a model your gateway lists at GET /v1/models.
// 200 OK, streamed as OpenAI-format chunks:
data: {"choices":[{"delta":{"content":"..."}}]}
DELIVERED IN THE PLATFORM TODAY:
Source Connectors

GitHub, websites, sitemaps, and document files.

No Default Telemetry

Self-hosted deployments send no telemetry by default.

White-Labeling

Per-tenant names, logos and colours without forks.

Unified Channels

Website widget, HTTP API, and read-only MCP.

Organisations, people and keys

Underneath the assistant is the part that makes it operable by a company rather than by one person: organisations, the people and services in them, what each may do, and what it has been used for.

  • One organisation, many members

    A deployment carries many organisations. The one a request acts in is derived from the authenticated principal. An organisation identifier supplied by a caller is never the basis for a decision.

  • Signing in grants nothing on its own

    Knowing who someone is and deciding what they may do are separate steps, and the second one happens where the action does, never in the interface alone.

  • Roles carry permissions, requests carry scope

    Permissions come from the role held in an organisation, and ownership of the specific resource is checked alongside them, not instead of them.

  • API keys are principals, not bypasses

    A key authenticates as a service principal with its own membership and role. Only a hash is stored, the secret is shown once, and revoking a key takes effect on its next request.

  • Every caller is a principal, human or not

    A person, a service key and a widget visitor are all principals with a type, and whether the actor was human is recorded rather than guessed from a missing user id.

  • Colleagues join by invitation

    An administrator invites a colleague by e-mail with a single-use link that expires after seven days, and anyone can reset a forgotten password with a link that lasts thirty minutes and ends every session when it is used.

    Limit: In beta: a test e-mail has arrived, and a real invitation has not yet been tried.

  • Change a role, remove a member, or hand over ownership

    Raise or lower a member’s role, or remove them. Removal ends their sessions and revokes the API keys they created and the invitations they sent. Nobody can act on their own seat or on someone senior to them, and the owner’s seat moves only when the owner hands it to an active member, who becomes owner as the previous one becomes an administrator.

  • A monthly answer allowance

    Each organisation has a monthly allowance of answers, counted the same way on the console, the widget, the API and MCP. The Dashboard shows it as “X of Y answers used this month”, and a question past the allowance is refused before any model is called.

    Limit: It caps answers, not spend, and nothing bills for usage yet.

  • See what it is being used for

    Volume and answer-quality counts for your own organisation, broken down by model and by channel, and filterable to a single assistant. Counts only: no shape in the package can carry message content.

  • Top questions, and the gaps behind them

    Top questions lists what people ask most and never who asked: a question appears only once three different people have asked it. Coverage gaps groups the questions an assistant declined by meaning as well as by wording, so the paraphrases of one question count together.

    Limit: The similarity threshold for grouping by meaning is not yet tuned on live questions, and Top questions reads the newest 2,000 questions of a period.

Boundaries that are enforced, not documented

The platform is built as layered modules with a dependency rule that a linter checks on every change. The foundation layer imports nothing from the layers above it, so the platform core cannot come to depend on the features built on top of it.

The module dependency rule

Each layer may depend only on those listed beside it. The foundation depends on nothing.

  1. experiencedepends onplatform, knowledge, ai, agents, workflow
  2. workflowdepends onplatform, ai, knowledge, agents
  3. agentsdepends onplatform, ai, knowledge
  4. knowledgedepends onplatform, ai
  5. aidepends onplatform
  6. platformdepends onnothing
  • Checked by a linter

    The import rule is machine-enforced in continuous integration, not left to review.

  • Every capability has an API

    Each capability is reachable by a client other than our own interface, so the platform is integrable rather than a closed application.

  • The transport holds no logic

    The HTTP layer parses, calls the module that owns the capability, and serialises. There is no behaviour in it that a reviewer would have to find twice.

  • Deployable where your data has to live

    The platform runs as a containerised deployment, so it can be operated in an environment you control rather than only as a hosted service.

Frequently Asked Questions

Questions about the platform

No. One account and one organisation work across the products, with one body of knowledge underneath them and each customer’s data kept inside its own organisation. Signing in once and signing out once across every product is in beta.
Most organisations start with RAG: connect your documentation and answer questions from it with citations, on your site, over the API or in your editor. Chat and the Gateway use the same account when your team wants a workspace or one endpoint for its model providers.
Production Readiness

Grounded answers from your own knowledge, a chat workspace for your team and one model gateway, on one account.

A 30-minute walkthrough on your own use case: connect a source, ask it questions, check the citations and see what it does when the answer is not there. Or ask the public playground now, with no account.