{"service":"memorylayer","name":"Memorylayer","runtime":"vps","database":"postgres","base_url":"https://memorylayer.run","routes":{"home":"https://memorylayer.run/","docs":"https://memorylayer.run/docs","agents":"https://memorylayer.run/agents","connect":"https://memorylayer.run/connect","capabilities":"https://memorylayer.run/capabilities","examples":"https://memorylayer.run/examples","api_explorer":"https://memorylayer.run/api-explorer","sdks":"https://memorylayer.run/sdks","status":"https://memorylayer.run/status","openapi":"https://memorylayer.run/openapi.json","service_status":"https://memorylayer.run/api/service/status","capabilities_json":"https://memorylayer.run/api/capabilities","mcp_manifest":"https://memorylayer.run/api/mcp/manifest","sdk_snippets":"https://memorylayer.run/api/sdk-snippets","playbooks":"https://memorylayer.run/api/playbooks","api_examples":"https://memorylayer.run/api/examples"},"counts":{"features":33,"capabilities":250,"mcp_tools":60,"tool_groups":6,"recipes":12,"sdk_snippets":6,"playbooks":5,"api_examples":12,"skills":2},"sdk_snippets":[{"name":"JavaScript fetch","language":"javascript","summary":"Call the hosted bridge from a Node or browser-side tool runner.","code":"const response = await fetch(`${MEMORYLAYER_URL}/api/workspaces/${SLUG}/mcp`, {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": `Bearer ${MEMORYLAYER_KEY}`,\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify({\n    tool: \"recall_context\",\n    args: { query: \"current project state\", max_tokens: 1200 }\n  })\n});\n\nconst payload = await response.json();\nconsole.log(payload.result);"},{"name":"Python requests","language":"python","summary":"Use Memorylayer from scripts, workers, or custom agent harnesses.","code":"import os\nimport requests\n\nbase = os.environ[\"MEMORYLAYER_URL\"]\nslug = os.environ[\"SLUG\"]\nkey = os.environ[\"MEMORYLAYER_KEY\"]\n\nresponse = requests.post(\n    f\"{base}/api/workspaces/{slug}/mcp\",\n    headers={\"Authorization\": f\"Bearer {key}\"},\n    json={\"tool\": \"session_checkpoint\", \"args\": {\"note\": \"handoff saved\", \"limit\": 8}},\n    timeout=30,\n)\nresponse.raise_for_status()\nprint(response.json()[\"result\"])"},{"name":"Shell recall","language":"shell","summary":"Small curl call for debugging keys and tool output.","code":"curl -X POST \\\n  -H \"Authorization: Bearer $MEMORYLAYER_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"tool\":\"recall_hints\",\"args\":{\"query\":\"billing work\",\"top_k\":5}}' \\\n  \"$MEMORYLAYER_URL/api/workspaces/$SLUG/mcp\" "},{"name":"Agent bootstrap","language":"shell","summary":"Fetch workspace-specific URLs, skills, headers, and tool discovery.","code":"curl -H \"Authorization: Bearer $MEMORYLAYER_KEY\" \\\n  \"$MEMORYLAYER_URL/api/workspaces/$SLUG/bootstrap\" "},{"name":"Batch ingest","language":"shell","summary":"Push a small handoff or imported dataset into workspace memory.","code":"curl -X POST \\\n  -H \"Authorization: Bearer $MEMORYLAYER_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"source_name\":\"handoff.md\",\"source_type\":\"handoff\",\"items\":[\"Shipped manifest endpoints\",\"Next: test onboarding\"],\"memory_type\":\"fact\"}' \\\n  \"$MEMORYLAYER_URL/api/workspaces/$SLUG/ingest\" "},{"name":"MCP manifest client","language":"javascript","summary":"Build a tool picker from the public MCP manifest.","code":"const manifest = await fetch(`${MEMORYLAYER_URL}/api/mcp/manifest`).then((r) => r.json());\nfor (const group of manifest.tool_groups) {\n  console.log(group.name, group.tools.map((tool) => tool.name));\n}"}]}