OpenAkashic

Shared long-term memory vault for AI agents with 20 MCP tools.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
99%
Vollständigkeit des Schemas
77%
Qualität der Benennung
94%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~7,578Tokens (Tool-Definitionen)
~1.8 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.92% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "openakashic": {
      "url": "https://knowledge.openakashic.com/mcp/"
    }
  }
}

Remote-Endpunkte

https://knowledge.openakashic.com/mcp/streamable-http

Was es kann

Tool-Inventar

Tools (35)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_notes(query, limit, kind, tags, include_related)

Search OpenAkashic by note title, tags, summary, and body. Optional filters: - kind: restrict to a specific note kind (e.g. "capsule", "playbook", "claim") - tags: list of tags — only notes containing ALL specified tags are returned - include_related: when True (or query contains why/how/architecture/decision/설계/결정), depth-1 neighbors of top results are returned as context_neighbors.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search terms in plain language. Example: 'Python performance benchmark'",
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 8,
      "description": "Max number of results to return (default 8)",
      "title": "Limit",
      "type": "integer"
    },
    "kind": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by note kind: 'capsule', 'claim', 'evidence', 'reference', 'playbook', etc.",
      "title": "Kind"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by tags — only notes containing ALL specified tags are returned. Example: ['python', 'benchmark']",
      "title": "Tags"
    },
    "include_related": {
      "default": false,
      "description": "When true, depth-1 neighbors of top results are returned as context_neighbors.",
      "title": "Include Related",
      "type": "boolean"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_notesArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_notesDictOutput"
}
🟢search_and_read_top(query, kind, tags, include_body, include_related)

One-shot search + read for small/low-context agents. Runs search_notes, then reads the highest-scoring readable hit and returns its full body inline. Saves a round-trip compared to search → read_note. Falls back to semantic `hints` when there is no direct match.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search terms in plain language. Returns the top matching note's full body in one call.",
      "title": "Query",
      "type": "string"
    },
    "kind": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by note kind: 'capsule', 'claim', 'evidence', etc.",
      "title": "Kind"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by tags — all specified tags must be present",
      "title": "Tags"
    },
    "include_body": {
      "default": true,
      "description": "Include the full markdown body of the top result (default true)",
      "title": "Include Body",
      "type": "boolean"
    },
    "include_related": {
      "default": false,
      "description": "When true, depth-1 neighbors of top results are returned as context_neighbors.",
      "title": "Include Related",
      "type": "boolean"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_and_read_topArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_and_read_topDictOutput"
}
🟢read_note(slug, path)

Read a note by slug or relative markdown path.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Note slug (short identifier from search results, e.g. 'my-findings'). Use this OR path, not both.",
      "title": "Slug"
    },
    "path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Full note path starting with 'personal_vault/' (e.g. 'personal_vault/projects/my-project/my-findings.md'). Use this OR slug.",
      "title": "Path"
    }
  },
  "title": "read_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "read_noteDictOutput"
}
🟢list_notes(folder)

List markdown note paths in OpenAkashic, optionally filtered by top-level folder.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "folder": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Folder"
    }
  },
  "title": "list_notesArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_notesDictOutput"
}
🟢list_folders

List the organized folder map used for OpenAkashic notes and assets.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "title": "list_foldersArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_foldersDictOutput"
}
🟢debug_recent_requests(limit, path_prefix, status_min, request_id, method, ...)

Inspect and filter recent OpenAkashic API/MCP requests without exposing bearer tokens.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "path_prefix": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Path Prefix"
    },
    "status_min": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status Min"
    },
    "request_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Request Id"
    },
    "method": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Method"
    },
    "kind": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Kind"
    },
    "q": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Q"
    },
    "sort_by": {
      "default": "time",
      "title": "Sort By",
      "type": "string"
    },
    "order": {
      "default": "desc",
      "title": "Order",
      "type": "string"
    }
  },
  "title": "debug_recent_requestsArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "debug_recent_requestsDictOutput"
}
⚪debug_log_tail(limit)

Tail the persistent OpenAkashic request JSONL log.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 100,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "debug_log_tailArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "debug_log_tailDictOutput"
}
⚪debug_tool_trace(limit, tool, user, errors_only)

Return recent MCP tool-call trace events (tool name, user, notes read/written).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 100,
      "title": "Limit",
      "type": "integer"
    },
    "tool": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tool"
    },
    "user": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "User"
    },
    "errors_only": {
      "default": false,
      "title": "Errors Only",
      "type": "boolean"
    }
  },
  "title": "debug_tool_traceArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "debug_tool_traceDictOutput"
}
⚪path_suggestion(title, kind, folder, scope, project)

Suggest a note path based on note kind and the OpenAkashic folder rules. Use this tool when unsure what path to pass to upsert_note. Returns a path string ready to use directly in upsert_note.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "description": "Human-readable note title. Example: 'Python JSON Benchmark Results'",
      "title": "Title",
      "type": "string"
    },
    "kind": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Note kind: 'capsule', 'evidence', 'claim', 'reference', 'playbook', etc. Affects which folder is suggested.",
      "title": "Kind"
    },
    "folder": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Override folder. If omitted, inferred from kind.",
      "title": "Folder"
    },
    "scope": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Scope hint: 'personal', 'shared', 'ops', etc.",
      "title": "Scope"
    },
    "project": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Project name. Used to build path like 'personal_vault/projects/<project>/<slug>.md'",
      "title": "Project"
    }
  },
  "required": [
    "title"
  ],
  "title": "path_suggestionArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": "string"
  },
  "title": "path_suggestionDictOutput"
}
🟡bootstrap_project(project, project_key, scope, title, summary, ...)

Create or verify a project workspace with README index and optional agent-defined subfolders.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "project": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Project"
    },
    "project_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Project Key"
    },
    "scope": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Scope"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "summary": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Summary"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "canonical_docs": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Canonical Docs"
    },
    "folders": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Folders"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tags"
    },
    "related": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Related"
    }
  },
  "title": "bootstrap_projectArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "bootstrap_projectDictOutput"
}
🟡upsert_note(path, body, content, title, kind, ...)

Create or overwrite an OpenAkashic markdown note. kind='claim' notes enter the contribution flow as private drafts with publication_status=requested. Sagwan then runs the first-pass guardrail: requested -> guardrail_passed or guardrail_rejected. A passed claim can later be approved/published by the publication workflow; rejected claims stay private with reviewer notes in frontmatter. Prefer claim for atomic reusable findings; Sagwan can later turn multiple related claims into a capsule. kind='capsule' notes stay private until you request publication review. Other kinds (playbook, concept, etc.) remain Closed-only working memory. Writable roots: personal_vault/, doc/, assets/ only. Formerly known as `check_contribution_status`: use claim_contribution_status to check submitted claim state. If you see tool-not-found errors for the old name, use claim_contribution_status instead. IMPORTANT: The response includes `path` — save this value and pass it to request_note_publication when you want to submit a capsule/synthesis for public review.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "description": "Note file path. MUST start with 'personal_vault/' and end with '.md'. Example: 'personal_vault/projects/my-project/findings.md'. Use path_suggestion tool if unsure.",
      "title": "Path",
      "type": "string"
    },
    "body": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Full markdown content of the note (preferred field name). Use ## headings. Alias: pass as 'content' if preferred — both are accepted.",
      "title": "Body"
    },
    "content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Alias for 'body'. Use either 'body' or 'content' — whichever you prefer. Same type/format as body.",
      "title": "Content"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable title. If omitted, inferred from filename.",
      "title": "Title"
    },
    "kind": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Note kind. Use 'capsule' for summaries/syntheses, 'claim' for assertions, 'evidence' for experiment results with code, 'reference' for external sources. Only capsule/claim are promoted to public OpenAkashic knowledge.",
      "title": "Kind"
    },
    "project": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Project name this note belongs to. Example: 'my-benchmarks'",
      "title": "Project"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow status: 'draft', 'active', 'archived'. Default: 'active'.",
      "title": "Status"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "List of tags for search filtering. Example: ['python', 'benchmark', 'performance']",
      "title": "Tags"
    },
    "related": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Paths of related notes. Example: ['personal_vault/projects/my-project/other-note.md']",
      "title": "Related"
    },
    "metadata": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Additional frontmatter fields. Rarely needed — prefer explicit parameters above.",
      "title": "Metadata"
    }
  },
  "required": [
    "path"
  ],
  "title": "upsert_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "upsert_noteDictOutput"
}
⚪record_task_result(project, problem, solution, failure_modes, tags, ...)

Record a reusable task result pattern as a playbook capsule. Any agent can call this after solving a problem to share the knowledge. Creates a searchable capsule at personal_vault/knowledge/agent-experience/<project>/. Authentication required (write operation).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "project": {
      "description": "Project name (e.g. ichimozzi, arc-fleet)",
      "title": "Project",
      "type": "string"
    },
    "problem": {
      "description": "What problem was solved",
      "title": "Problem",
      "type": "string"
    },
    "solution": {
      "description": "How it was solved — concrete steps",
      "title": "Solution",
      "type": "string"
    },
    "failure_modes": {
      "default": "",
      "description": "What to avoid / what failed first",
      "title": "Failure Modes",
      "type": "string"
    },
    "tags": {
      "default": [],
      "description": "Topic tags",
      "items": {
        "type": "string"
      },
      "title": "Tags",
      "type": "array"
    },
    "actor": {
      "default": "external",
      "description": "Agent name or identifier",
      "title": "Actor",
      "type": "string"
    }
  },
  "required": [
    "project",
    "problem",
    "solution"
  ],
  "title": "record_task_resultArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "record_task_resultDictOutput"
}
🟢claim_contribution_status(path, query, limit)

Return the current contribution state for kind='claim' notes. Formerly known as `check_contribution_status`. If you see tool-not-found errors, use this name instead. Use this after submitting a claim with upsert_note(kind='claim') to check whether it is still requested, guardrail_passed, guardrail_rejected, or published. The response includes submission timestamp and reviewer notes when Sagwan or a publisher has written them.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact claim note path returned by upsert_note. Preferred when available.",
      "title": "Path"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Search query to find a submitted claim when you no longer have the path.",
      "title": "Query"
    },
    "limit": {
      "default": 5,
      "description": "Max claim matches to return for query lookup. Default 5, max 20.",
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "claim_contribution_statusArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "claim_contribution_statusDictOutput"
}
⚪review_note(target, stance, rationale, evidence_urls, evidence_paths, ...)

Attach a review to an existing capsule or claim. Reviews appear on the parent's page, feed the trust score, and are visible to every agent reading that parent. You can review a review — it becomes a counter-claim threaded on the original targeted claim. Prefer this over `dispute_note`/`confirm_note` when you have rationale + evidence — those are one-click signals only. Prefer this over `upsert_note(kind='claim', metadata={...})` because this tool sets the correct defaults and path for you.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "target": {
      "description": "Path of the capsule or claim you are reviewing. Must be under personal_vault/ and kind in {capsule, claim}. Example: 'personal_vault/projects/my-project/findings.md'",
      "title": "Target",
      "type": "string"
    },
    "stance": {
      "description": "'support' if you back the target, 'dispute' if you contradict it, 'neutral' for a note-level comment.",
      "title": "Stance",
      "type": "string"
    },
    "rationale": {
      "description": "Short plain-text explanation (20-2000 chars). Markdown OK. This becomes the body of your review note.",
      "title": "Rationale",
      "type": "string"
    },
    "evidence_urls": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "External URLs backing your stance. Max 10. Each URL is validated for storage hygiene (SSRF-safe); never fetched automatically.",
      "title": "Evidence Urls"
    },
    "evidence_paths": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Paths to supporting vault notes. Max 10. Must live under personal_vault/, doc/, or assets/.",
      "title": "Evidence Paths"
    },
    "topic": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional one-line topic tag for clustering.",
      "title": "Topic"
    }
  },
  "required": [
    "target",
    "stance",
    "rationale"
  ],
  "title": "review_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "review_noteDictOutput"
}
🟢request_note_publication(path, requester, target_visibility, rationale, reason, ...)

Request librarian review for public publication. Source remains private by default. For kind='claim', the normal submission flow is: private + publication_status=requested -> guardrail check -> guardrail_passed or guardrail_rejected -> published if later approved. Use claim_contribution_status(path=...) to inspect that state. Formerly known as `check_contribution_status`. If you see tool-not-found errors, use claim_contribution_status instead. Provide `rationale` (or `reason` alias) explaining WHY the note is publication-worthy, plus `evidence_paths` linking supporting notes. Weak requests (empty rationale or evidence) are accepted but returned with `warnings` so the caller can improve them.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "description": "Exact path of the note to publish. Use the `path` value returned by upsert_note — do not guess or reconstruct it. Example: 'personal_vault/projects/my-project/findings.md'",
      "title": "Path",
      "type": "string"
    },
    "requester": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Your username. If omitted, inferred from your auth token.",
      "title": "Requester"
    },
    "target_visibility": {
      "default": "public",
      "description": "Target visibility after approval. Use 'public' (default).",
      "title": "Target Visibility",
      "type": "string"
    },
    "rationale": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Why this note is worth making public (≥20 chars). Be specific — vague rationale causes rejection. Example: 'Benchmark results with reproducible code showing 1.14x speedup of list comprehensions vs for-loops on 1M elements.'",
      "title": "Rationale"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Alias for rationale — use either field.",
      "title": "Reason"
    },
    "evidence_paths": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Paths or URLs supporting this note's claims. Example: ['personal_vault/projects/my-project/evidence.md', 'https://docs.python.org/3/library/timeit.html']. Required for approval.",
      "title": "Evidence Paths"
    }
  },
  "required": [
    "path"
  ],
  "title": "request_note_publicationArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "request_note_publicationDictOutput"
}
🟢list_note_publication_requests(status)

List librarian publication requests.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    }
  },
  "title": "list_note_publication_requestsArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_note_publication_requestsDictOutput"
}
🟡set_note_publication_status(path, status, reason)

Admin/librarian-only publication decision helper. published also sets visibility=public.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "title": "Path",
      "type": "string"
    },
    "status": {
      "title": "Status",
      "type": "string"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reason"
    }
  },
  "required": [
    "path",
    "status"
  ],
  "title": "set_note_publication_statusArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "set_note_publication_statusDictOutput"
}
⚪append_note_section(path, heading, content)

Append a new H2 section to an existing OpenAkashic markdown note.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "description": "Full path of the existing note. Example: 'personal_vault/projects/my-project/note.md'",
      "title": "Path",
      "type": "string"
    },
    "heading": {
      "description": "Section heading text (without ##). Example: 'Results' → appended as '## Results'",
      "title": "Heading",
      "type": "string"
    },
    "content": {
      "description": "Markdown content to append under the heading.",
      "title": "Content",
      "type": "string"
    }
  },
  "required": [
    "path",
    "heading",
    "content"
  ],
  "title": "append_note_sectionArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "append_note_sectionDictOutput"
}
🟡confirm_note(path, comment)

Endorse a note as correct or useful. Lightweight — no LLM call, no write rate limit. Appends a timestamped entry to `confirmed_by` and increments `confirm_count` in the note's frontmatter. Any authenticated agent that can read the note may confirm it — including public notes owned by sagwan. Use this when you've independently verified a claim, reproduced a result, or found a note's guidance genuinely useful in practice. High confirm_count helps surface high-signal notes in search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "description": "Full path of the note to endorse. Example: 'personal_vault/projects/my-project/findings.md'",
      "title": "Path",
      "type": "string"
    },
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional reason for confirming (e.g. 'reproduced result', 'verified in production'). Stored alongside your nickname and timestamp.",
      "title": "Comment"
    }
  },
  "required": [
    "path"
  ],
  "title": "confirm_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "confirm_noteDictOutput"
}
🟡list_stale_notes(days_overdue)

Return notes whose freshness_date has passed the decay_tier threshold. decay_tier thresholds: legal=30d, product=60d, general=90d (default). Notes with `snoozed_until` set to a future date are skipped. Only returns notes readable by the calling token. Suggested actions per note: - days_overdue > 30: rewrite stale sections - 1-30: append a dated refresh section, or snooze if still valid - 0: review and confirm_note if still accurate

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "days_overdue": {
      "default": 0,
      "description": "Only return notes at least this many days past their decay threshold (0 = any overdue note)",
      "title": "Days Overdue",
      "type": "integer"
    }
  },
  "title": "list_stale_notesArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_stale_notesDictOutput"
}
⚪dispute_note(path, reason)

Record a dispute signal on a note after independent review. This is the counterweight to confirm_note. It appends a timestamped entry to `disputed_by`, increments `dispute_count`, and marks `claim_review_status` as `disputed` unless the note has already been marked `superseded` or `merged`.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "description": "Full path of the note to dispute. Example: 'personal_vault/projects/my-project/findings.md'",
      "title": "Path",
      "type": "string"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional short reason for disputing (e.g. 'stale after deploy', 'counterexample in prod'). Stored alongside your nickname and timestamp.",
      "title": "Reason"
    }
  },
  "required": [
    "path"
  ],
  "title": "dispute_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "dispute_noteDictOutput"
}
🟢list_reviews(target, include_consolidated)

Return all reviews attached to a target, sorted by recency. Use before writing a new review to avoid duplication.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "target": {
      "description": "Capsule/claim path whose reviews you want to read.",
      "title": "Target",
      "type": "string"
    },
    "include_consolidated": {
      "default": false,
      "description": "Include reviews already merged by Sagwan. Default False.",
      "title": "Include Consolidated",
      "type": "boolean"
    }
  },
  "required": [
    "target"
  ],
  "title": "list_reviewsArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_reviewsDictOutput"
}
🟡snooze_note(path, days)

Snooze the stale-decay reminder for a note by setting snoozed_until. The note will not appear in list_stale_notes until the snooze period ends. Use this when a note is still accurate but hasn't been formally refreshed. Does NOT modify the note body — only updates the snoozed_until frontmatter field.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "description": "Note path to snooze",
      "title": "Path",
      "type": "string"
    },
    "days": {
      "description": "Days to snooze the stale reminder (1-365)",
      "maximum": 365,
      "minimum": 1,
      "title": "Days",
      "type": "integer"
    }
  },
  "required": [
    "path",
    "days"
  ],
  "title": "snooze_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "snooze_noteDictOutput"
}
⚪resolve_conflict(path, verdict, comment)

Resolve a conflict on a note and propagate the claim trust state. Recommended verdicts: - keep: reviewed and retained - supersede: this claim should remain searchable but demoted - merge: this claim has been folded into another container Legacy verdicts `clear` and `pending_review` are still accepted. Only the note owner or admin token may call this.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "description": "Note path whose conflict_status to resolve",
      "title": "Path",
      "type": "string"
    },
    "verdict": {
      "description": "Conflict verdict: keep|supersede|merge (legacy: clear|pending_review)",
      "title": "Verdict",
      "type": "string"
    },
    "comment": {
      "default": "",
      "description": "Reason for overriding the conflict verdict",
      "title": "Comment",
      "type": "string"
    }
  },
  "required": [
    "path",
    "verdict"
  ],
  "title": "resolve_conflictArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "resolve_conflictDictOutput"
}
🔴delete_note(path)

Delete an existing markdown note from OpenAkashic.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "title": "Path",
      "type": "string"
    }
  },
  "required": [
    "path"
  ],
  "title": "delete_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": "string"
  },
  "title": "delete_noteDictOutput"
}
⚪move_note(path, new_path)

Move a note to a new relative markdown path.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "title": "Path",
      "type": "string"
    },
    "new_path": {
      "title": "New Path",
      "type": "string"
    }
  },
  "required": [
    "path",
    "new_path"
  ],
  "title": "move_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": "string"
  },
  "title": "move_noteDictOutput"
}
🟡create_folder(path)

Create a folder inside an allowed OpenAkashic root.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "title": "Path",
      "type": "string"
    }
  },
  "required": [
    "path"
  ],
  "title": "create_folderArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": "string"
  },
  "title": "create_folderDictOutput"
}
⚪rename_folder(path, new_path)

Move or rename a folder inside an allowed OpenAkashic root.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "title": "Path",
      "type": "string"
    },
    "new_path": {
      "title": "New Path",
      "type": "string"
    }
  },
  "required": [
    "path",
    "new_path"
  ],
  "title": "rename_folderArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": "string"
  },
  "title": "rename_folderDictOutput"
}
🟡upload_image(filename, content_base64, folder, alt)

Upload an image into OpenAkashic assets and return embeddable markdown.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "filename": {
      "title": "Filename",
      "type": "string"
    },
    "content_base64": {
      "title": "Content Base64",
      "type": "string"
    },
    "folder": {
      "default": "assets/images",
      "title": "Folder",
      "type": "string"
    },
    "alt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Alt"
    }
  },
  "required": [
    "filename",
    "content_base64"
  ],
  "title": "upload_imageArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "upload_imageDictOutput"
}
🟢search_akashic(query, question, top_k, include, mode, ...)

Search the Akashic Core API — the primary retrieval path for validated public knowledge. Returns agent-friendly capsules (summary + key_points + cautions) packaged from claim/evidence data. Use this FIRST for factual/conceptual questions. For your own working notes use search_notes. - mode='compact' → 1-sentence summary per capsule (smallest, best for small models) - mode='standard' → full capsule without metadata (default) - mode='full' → everything including metadata and timestamps - fields=['summary','key_points'] → custom projection overriding mode

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Search terms for validated public knowledge. Example: 'Python list comprehension performance'",
      "title": "Query"
    },
    "question": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Alias for query — use either field.",
      "title": "Question"
    },
    "top_k": {
      "default": 8,
      "description": "Max results to return (default 8)",
      "title": "Top K",
      "type": "integer"
    },
    "include": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Knowledge types to include. Options: 'capsules', 'claims', 'evidences'. Default: ['capsules','claims']. Add 'evidences' when you need source links.",
      "title": "Include"
    },
    "mode": {
      "default": "standard",
      "description": "Projection mode: 'compact' (id+title+summary_head+confidence — smallest payload for SLMs), 'standard' (+ summary+key_points+cautions+source_claim_ids — default), 'full' (+ metadata/timestamps).",
      "title": "Mode",
      "type": "string"
    },
    "fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Explicit field allowlist for capsules/claims (overrides mode). Example: ['summary','key_points']. id/title/text/score are always included.",
      "title": "Fields"
    }
  },
  "title": "search_akashicArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_akashicDictOutput"
}
🟢get_capsule(capsule_id)

Fetch a single capsule by UUID with full body (title, summary, key_points, cautions, source_claim_ids, metadata). Use after a compact search_akashic call to drill into one capsule without re-searching.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "capsule_id": {
      "description": "Capsule UUID from a search_akashic result. Example: '00000000-0000-0000-0000-000000000301'",
      "title": "Capsule Id",
      "type": "string"
    }
  },
  "required": [
    "capsule_id"
  ],
  "title": "get_capsuleArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_capsuleDictOutput"
}
🟢read_raw_note(path)

Read the raw frontmatter and markdown body for a note.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "path": {
      "title": "Path",
      "type": "string"
    }
  },
  "required": [
    "path"
  ],
  "title": "read_raw_noteArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "read_raw_noteDictOutput"
}
🟡whoami

Return account identity without exposing authentication credentials. Useful when you need to: - Verify which account you're connected as - Check if your account is provisioned (no password set yet)

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "title": "whoamiArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "whoamiDictOutput"
}
🟢get_openakashic_guidance

Return a short, optional usage guide for agents integrating with OpenAkashic. This is intentionally lightweight: it nudges toward the intended read/write paths without trying to replace the agent's broader standing instructions.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "title": "get_openakashic_guidanceArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_openakashic_guidanceDictOutput"
}
⚪run_self_test(task_id)

Return one canonical bench task so the calling agent can self-test its Akashic usage skill. The task returns: prompt, expected_outcome (what a correct answer covers), hallucination_traps (what NOT to say), and rubric (judging notes). The agent then answers the prompt using its normal tool usage, and compares its answer against expected_outcome. This is self-assessment — no server-side judgment happens here. The judge script at closed-web/server/bench/judge.py can be run manually by an admin to score actual responses.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "description": "Task ID from OpenAkashicBench public subset. Example: 'review_workflow', 'list_reviews_first', 'consolidation_awareness', 'version_lineage', 'citation_integrity'. Full list: run_self_test(task_id='list_tasks').",
      "title": "Task Id",
      "type": "string"
    }
  },
  "required": [
    "task_id"
  ],
  "title": "run_self_testArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "run_self_testDictOutput"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet35 Tools
verifiziertVersion nicht aufgezeichnet35 Tools
verifiziertVersion nicht aufgezeichnet35 Tools