Distributed Agent Knowledge Base Server - A shared knowledge system for multi-agent AI collaboration with MCP (Model Context Protocol) integration
The DAKB server provides 36 tools with mostly complete schemas and descriptions. Strong points: comprehensive input schemas with type constraints, enums for categorical parameters, and reasonable parameter descriptions. Weak points: (1) descriptions are often too brief (many under 100 chars), failing to explain WHEN to use each tool vs similar ones; (2) output schemas are completely undocumented, no return type specifications visible for any tool; (3) no per-tool error guidance or recovery hints; (4) composition issues, many tools feel like thin API wrappers rather than user-intent-aligned abstractions; (5) security concerns around session management and admin-only gates lack explicit documentation. Tools like dakb_store_knowledge and dakb_search are well-defined, but tools like dakb_get_message_stats and dakb_session_status have minimal descriptions. The tool set is large but lacks coherence, 36 tools suggest feature creep rather than focused capability design.
Send a broadcast message to all agents
Store multiple knowledge entries at once
Cleanup expired entries (admin only)
Create invite token (admin-only)
Deactivate (soft delete) an alias
Find semantically related entries
Flag knowledge for moderation review
Output schemas completely undocumented. No tool exposes return type specifications, field definitions, or result examples. LLMs cannot plan downstream calls or extract required data without knowing what fields to expect.
Tool descriptions are often under 100 characters and lack WHEN-to-use guidance. Tools like dakb_get_stats (20 chars), dakb_status (20 chars), dakb_get_message_stats (25 chars) provide minimal context. LLMs cannot distinguish between similar tools (e.g., dakb_session_status vs dakb_session_export) without clearer purpose statements.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get reputation metrics for an agent
Retrieve knowledge by ID
Get agent leaderboard by metric
Get message statistics for the current agent
Get messages (inbox) for the current agent (shared inbox)
Get caller's contributions summary
Get detailed knowledge base statistics
Get detailed vote summary for knowledge
Capture and store git context for current session
List aliases registered to the current token
List entries by category with pagination
List entries by tags
List invite tokens (admin-only)
Mark a message as read
Moderate flagged knowledge (admin only)
Register an alias for the current token's team inbox
Register agent using invite token
Resolve alias to token_id for debugging
Revoke agent access (admin-only)
Search the DAKB knowledge base using semantic similarity. Returns relevant knowledge entries ranked by similarity score. Use this to find existing knowledge before creating new entries, or to retrieve relevant context for a task.
Send a direct message to another agent (supports aliases)
End a session (complete or abandon)
Export session with git context for handoff
Import session from handoff package
Start a new session for the current agent
Get status of current or specified session
Check DAKB system status
Store new knowledge in the Distributed Agent Knowledge Base (DAKB). Use this tool to share insights, lessons learned, patterns, error fixes, research findings, and other valuable information with other agents. Knowledge is automatically embedded for semantic search.
Vote on knowledge quality
No per-tool error handling or recovery guidance. Tools like dakb_search, dakb_get_knowledge, and dakb_register_with_invite offer no indication of what error conditions exist or what the LLM should do next. Error responses likely lack 'try search_users() first' recovery hints.
Admin-only tools (dakb_cleanup_expired, dakb_moderate, dakb_revoke_agent, dakb_create_invite) have no explicit permission checks documented. No descriptions state 'Admin only' or explain what happens if a non-admin calls them. Tool descriptions must declare scope requirements.
No pagination documentation for list tools. dakb_list_by_category, dakb_list_by_tags accept limit and offset but descriptions do not specify max limits, whether total_count is returned, or behavior when results exceed limits. Pattern: pagination should return total_count and offer cursor-based next_cursor.
36 tools is feature creep. The tool set mixes knowledge base operations (dakb_store_knowledge, dakb_search), messaging (dakb_send_message, dakb_broadcast), session management (dakb_session_start, dakb_session_export), and admin functions (dakb_cleanup_expired, dakb_moderate) with minimal separation of concerns. This violates single-responsibility principle and confuses LLM tool selection.
Destructive operations lack confirmation. dakb_cleanup_expired, dakb_revoke_agent, and dakb_deactivate_alias can delete or disable resources but have no dry-run or confirmation_required parameter. Agents may accidentally purge data.
Related parameter inconsistency. dakb_send_message accepts 'to_agent' (string) and dakb_get_messages returns 'status' enum, but descriptions lack mapping clarity. If to_agent can be an alias (as stated), what field does dakb_get_messages return, agent_id, agent_name, or alias? No chaining IDs are visible.
dakb_bulk_store 'entries' parameter has no detailed schema. Description says 'List of knowledge entries to store' but does not specify the structure of each entry, must match dakb_store_knowledge required fields? Ambiguous input invites failures.
Session export/import operations (dakb_session_export, dakb_session_import, dakb_git_context) lack documentation of format, file size limits, or what 'git context' means in practice. LLMs cannot reason about when to use these or what they contain.