mcpbeat Sign in

Ontonym MCP Server

answering

Ontonym is answering right now. Last checked 1 min ago. It exposes 22 tools.

Give your agents your team's real data — read the shared graph, propose actions your team approves.

Uptime history 9 days of history
9 days agonow
100.0%
Uptime 24h
92 of 92 checks
22
Tools
read from the server
302 ms
Response time
average over 24h
OAuth sign-in
Access
streamable-http

Nothing serious here today

Today is the operative word: we check Ontonym every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 1 min ago.

run in your terminal
claude mcp add memory --transport http https://mcp.ontonym.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "memory": {
      "url": "https://mcp.ontonym.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.memory]
url = "https://mcp.ontonym.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "memory": {
      "url": "https://mcp.ontonym.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "memory": {
      "url": "https://mcp.ontonym.com/mcp"
    }
  }
}

This endpoint answered with an authorization challenge. The server is running, and it signs you in through your browser: there is no API key to paste.

Available tools 22

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

owner
remove_owner
Drop an ownership row by (object, owner). Idempotent — `removed=false` when the pair wasn't linked. Requires write scope.
set_owner
Set ownership directly (status='approved'). `role` is 'primary' (demotes any existing approved primary to secondary) or 'secondary'. Requires write scope.
unapproved
list_unapproved
The review queue — rows still status='unapproved', which an agent should defer on. `kind` filters to one of class/property/action/ relationship/rule/flow/flow_step/object/object_property/object_action/ object_relationship/object_flow/object_flow_step; omit to scan all.
list_unapproved_owners
Pending-review ownership suggestions in a memory, newest first.
change
get_change_impact
"What should I watch out for if I change this object?" — event-class neighbours, actions touching it, property conflicts, top related objects, and provenance. One composite call. `memory` is the slug.
class
list_class_objects
List objects of one class in a memory (class_id from list_classes).
classes
list_classes
List the classes (schema) in a memory (slug from list_my_memories).
embed
embed_memory
Build (or top up) the vector index a memory's semantic_search reads. `semantic_search` matches against stored embeddings, so a memory that has never been embedded answers every query with ZERO results — indistinguishable from "nothing matches". Run this once per memory, and again after a large ingestion, to make newly added objects findable by meaning. Idempotent: entities already embedded for the current model are skipped unless `force`. `kinds` defaults to ['object', 'class']. Requires write scope. Large memories take a while — this can run for minutes.
extraction
get_extraction_prompt
Add a document to the knowledge graph by extracting it YOURSELF, in this chat. STEP 1 of 4. Use whenever the user shares a document/notes/transcript and wants it captured in the graph, and you (this assistant) should do the extraction. `memory` is the slug from list_my_memories. Returns a `passes` list. The flow: (1) run the `classes` pass prompt over the document you already have; (2) run the `objects` pass prompt and draft candidate objects/events; (3) call resolve_names ONCE with every candidate name and reuse each returned canonical name + class; (4) call submit_extraction_from_llm(memory, results). The document is NOT sent to the server, and no object list is embedded in the prompts — resolve_names is how you see what already exists.
feed
get_feed
Recent ingestions in a memory — what changed lately.
graph
get_graph
The class-level graph (classes + relationships) of a memory.
memories
list_my_memories
List the memories YOU can read and ingest into. Call this first, then pass the chosen `slug` as the `memory` argument to every other tool.
merge
merge_objects
Fold a DUPLICATE object into the object it duplicates, then delete it. Extraction coins near-duplicates (`turkey` beside `country_tur`) because the known-objects hint it sees is capped at the newest rows. Use this when two objects of the SAME class denote one real thing: `winner_id` is the one to keep, and the loser's properties, edges, mentions and ownership move onto it before it goes. Edges the move turns into self-loops or exact duplicates are dropped. Identify the loser by `loser_id` or by `loser_name` (its canonical snake_case name, resolved within the winner's class). Irreversible, and the loser id stops resolving afterwards — confirm the two really are one thing (get_object on both) before calling. Refuses a cross-class pair. Requires write access to the memory.
object
get_object
Full detail/subgraph for one object in a memory (id from search/list).
objects
list_objects
List objects in a memory, optionally filtered to one exact class (by canonical snake_case name; descendants NOT included). Each row carries `status` — defer on 'unapproved'. `memory` is the slug.
owned
list_owned_objects
Reverse ownership lookup — what objects does this person (object_id) own? Approved ownerships only. `memory` is the slug.
paths
get_paths
Shortest relationship paths between two objects in a memory — the one-call answer to "how are A and B connected?". `start` and `target` accept an object id or an exact name/display name. Each returned path is a list of steps {from, rel, direction, to}; paths are all of minimal length. `found: false` with `frontier_truncated: true` means the search hit its breadth cap, NOT proof the objects are disconnected. Use this instead of chaining get_object calls hop by hop.
propose
propose_action
Queue ONE action for HUMAN APPROVAL — nothing is sent or written until a memory owner approves it in the Agents tab. The kind that makes this powerful from an AI client: `workspace_write` creates a record in the memory's own apps once approved — an issue on the Agile board, a support ticket, a CRM deal, a note. Fields: target=record title, body=record body, extra.class_name=the app class (issue/ticket/deal/note/…), extra.properties=a {property: value} object, extra.relationships=[{type, target_name}]. Outbound kinds (jira_comment, slack_message, gmail_send, …) address connected external tools; see the API's action registry for their fields. `memory` is the slug. Requires write scope.
resolve
resolve_names
Ask which of your candidate names already exist in the memory — call ONCE per document during extraction, after drafting candidate entities and before emitting the final JSON. `items` = [{"kind": "object"|"class", "name": "...", "class_name": "..."?}, ...] (max 200). Each result carries `exact` (case-insensitive name hits) and `matches` (spelling/semantic look-alikes with scores). REUSE a returned canonical `name` + its class instead of creating a duplicate; only names with no hits should be created new. Read-only.
semantic
semantic_search
Semantic search over a memory's classes and objects. `memory` is the slug from list_my_memories. `kind` = 'class' | 'object' | omit. Check `status` and defer on 'unapproved'. `expand=1` inlines each top object hit's FIRST RING — properties plus relationship groups with counts and member previews — so you learn what a hit is and what it touches without a get_object per hit. Prefer expand=1 whenever you intend to follow relationships; for reach beyond one ring, use get_paths instead of hopping get_object calls.
submit
submit_extraction_from_llm
Save the extraction you produced — the LAST step after get_extraction_prompt and your single resolve_names call. `memory` is the slug. `results` maps each pass `key` to that pass's JSON, e.g. {"classes": {...}, "objects": {...}}. `source_doc` is an optional label (filename/title) for provenance. New rows land status='unapproved'. The response may carry `validation_errors` (rows the server could not place — report them to the user instead of ignoring them) and `near_duplicates` (new objects that look like an existing one — review with the user and fold confirmed pairs with merge_objects).
suggest
suggest_owner
File an ownership SUGGESTION (status='unapproved') for review instead of writing it directly. Idempotent and sticky. Requires write scope.

Endpoints

URLTransportStateLatencyChecked
https://mcp.ontonym.com/mcp streamable-http sign-in 422 ms 1 min ago

Alternatives to Ontonym

same job, measured the same way
Layven
by layven

Shared drive for your agents and teammates.

answering
Groove Hq
by usefulapi

Read Groove shared-inbox conversations, contacts, agents and tags; close, assign, snooze and tag.

16 tools answering
hiveWiki
by hivewiki

Shared project wiki for AI agents: read and write pages, next actions, and activity logs over MCP.

answering
What Matters
by blackdogranch

Your personal action-item list — what you owe and what you're owed. AI proposes; you approve.

6 tools answering
Paas Build MCP
by unipaas

Your agent opens a real merchant account (go_live) and takes payments the same day. 3.9% flat.

55 installs/wk local only
Pantts
by pantts

Read and manage your Pantts boards — kanban, gantt, table and graph over one shared card model.

answering
Oracle H
by tponscr-debug

Human approval gate for AI agents. Critical actions approved or rejected by a human via Telegram.

20 installs/wk local only
WitWiki
by witwiki

A shared team wiki your coding agents read and write — across every repo and every MCP client.

answering

Ontonym — questions

Answers built from our own checks of this server.

What can Ontonym do?
It exposes 22 tools, read directly from the server on our last check. Among them: embed_memory, get_change_impact, get_extraction_prompt, get_feed, get_graph, get_object and 16 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Ontonym mostly used for?
Its tools cluster around unapproved and owner. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Ontonym working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 302 ms. The bar chart above shows every period we have measured.
How do I connect Ontonym?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address. You sign in through your browser once and the client keeps the session: no key to copy, and it refuses anonymous clients.
How do you sign in to Ontonym?
No API key is involved. Ontonym answers our knock with an OAuth challenge, so you authorise it once in your browser and the client keeps the session. That is also why we see no tool list: it will not describe itself to an anonymous client, and that is the server working as intended, not a fault.
How fast is Ontonym?
It answers our handshake in 302 ms on average, which is faster than 50% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.