{"ok":true,"site":{"host":"companion-webmcp-challenge.netlify.app","url":"https://companion-webmcp-challenge.netlify.app/app/index.html","type":"live","desc":"Companion","tools":[{"name":"get_companion_vocabulary","kind":"answer","impl":"imperative","description":"Returns reusable, versioned vocabulary derived deterministically from stored factual relations for one subject. Inspect labels and choose relevantVocabularyIds yourself for query_companion_memory. Companion does not interpret your question, plan retrieval, evaluate sufficiency, or automatically refresh vocabulary. Source attribution is not objective truth.","title":"Get Companion factual vocabulary","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"subjectId":{"type":"string","description":"Exact subject identifier; defaults to the current active subject when omitted."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/app/index.html"},{"name":"query_companion_memory","kind":"answer","impl":"imperative","description":"The external agent must choose relevantVocabularyIds from reusable vocabulary. Returns only those stored factual relations and their endpoint nodes/source citations by exact ID; no model call, question interpretation, ranking, automatic expansion, vocabulary refresh or sufficiency decision. Unknown IDs are listed explicitly. Empty IDs return no evidence. SOURCE_EXPLICIT and SOURCE_STRONGLY_IMPLIED preserve attribution, not objective truth; AGENT_INFERRED is excluded. The agent owns subsequent reasoning.","title":"Look up selected Companion vocabulary IDs","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"subjectId":{"type":"string","minLength":1,"description":"Exact subject identifier from the vocabulary."},"relevantVocabularyIds":{"type":"array","items":{"type":"string","minLength":1},"description":"Opaque vocabulary IDs selected by the external agent. Duplicates are collapsed; an empty array requests no evidence."}},"required":["subjectId","relevantVocabularyIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/app/index.html"}],"category":"AI & Agents","favicon":"/favicons/companion-webmcp-challenge.netlify.app.ico","apiSurface":"spec","toolCount":2}}