# Mithril Graph & Ontology database > The Knowledge Graph & Ontology database of Mithril (formerly the > kotobase.net graph plane; the workbench moved to graph.kotoba.cloud on > 2026-09-16). Tenant-isolated graphs of datoms over immutable IPLD > snapshots, every entity tagged with an ontology type, queried in Datalog > (kotobase dialect, Datomic-shaped EDN), Cypher, SPARQL, Gremlin bytecode, > or bounded read-only SQL. Content identity is a CID. Workbench (sign-in): https://graph.kotoba.cloud/ API origin: https://api.mithril.fund/v1/database (session cookie or Biscuit; anonymous is 401) Read-only query lane for tool-calling models: https://api.mithril.fund/v1/graph/query · schema https://api.mithril.fund/v1/graph/tools Public operator: Kotoba Labs Inc. Contact: support@kotoba.cloud. ## Start in one command (MCP) MCP server: https://graph.kotoba.cloud/mcp (streamable HTTP, stateless; descriptor https://graph.kotoba.cloud/.well-known/mcp.json). With the two values from the workbench in the environment: ```sh claude mcp add --transport http kotoba-graph https://graph.kotoba.cloud/mcp --header "Authorization: Bearer $KOTOBA_DATABASE_TOKEN" --header "X-Kotobase-Tenant: $KOTOBA_TENANT_ID" ``` Tools: graph_list_databases · graph_create_database · graph_db_stats · graph_transact · graph_query (datalog | cypher | sparql | sql) · graph_usage · graph_docs (no credential). A tool result is the HTTP route's own answer. ## Agent entry points - Executable acceptance path (workspace → agent token → Biscuit → create database → transact → query): https://graph.kotoba.cloud/agent-quickstart.md - Expanded model context (data model, every method, limits, evidence): https://graph.kotoba.cloud/llms-full.txt - Agent card: https://graph.kotoba.cloud/.well-known/agent.json - Human docs: https://docs.mithril.fund/graph/ · error codes: https://docs.mithril.fund/reference/errors/ - Health (no data access): https://graph.kotoba.cloud/health ## What needs a person Sign-in (passkey / SIWE / own key), creating a workspace (`t_…`), and minting the agent token (a tenant service account, `kb_sa_…`, shown once) happen in the workbench. An agent cannot sign in and must never be handed a passkey, wallet, or card. With `KOTOBA_TENANT_ID` and `KOTOBA_DATABASE_TOKEN` in its secret store the agent sends `Authorization: Bearer $KOTOBA_DATABASE_TOKEN` on every call (or attenuates it to a 15-minute, one-database Biscuit at `POST https://auth.mithril.fund/v1/biscuit/token`) and needs nobody else. ## Minimal verification ```sh curl -fsS https://api.mithril.fund/v1/graph/tools # public tool schema # then agent-quickstart.md steps 3–4 (or the MCP tools): createDatabase → transact → q ``` Accept only a `datomic.q` response whose rows contain the value you wrote. A health 200, a tool schema, or a minted Biscuit is not evidence of a write. ## Data model in one paragraph A database is a set of datoms `[e a v tx added]` behind a signed immutable commit DAG (CID). Entities are maps of attributes; an attribute whose value is another entity is an edge. `:ontology/type` is the type tag the ontology inspector reads (Cypher node label, Gremlin `hasLabel`). Transactions are EDN vectors (`tx_edn`); a write publishes only after a conditional head compare-and-swap wins (HTTP 409 `retryable: true` otherwise). ## Claim boundaries Immutable snapshots and CID identity make stored content portable and independently checkable; they do not make hosted write availability provider-independent. Limits, measured latency, and the exact allowlists are in llms-full.txt. Do not infer customer traction or an SLA from this document. ## The rest of the stack - Kotoba, the language: https://kotoba-lang.org/llms.txt - Mithril identity, inference and packages: https://mithril.fund/llms.txt