OpenClaw plugin for BlueNexus Universal MCP - connect OpenClaw agents to BlueNexus services including GitHub, Notion, Slack, and access to compiled knowledge base wiki
BlueNexus OpenClaw Plugin demonstrates solid tool definitions with comprehensive descriptions and clear schemas. All 5 tools have well-crafted descriptions (150-400 chars) that explain WHAT each tool does, WHEN to use it, and provide discovery/chaining guidance. Input schemas are properly defined using TypeBox with typed parameters. However, there are notable gaps: (1) output schemas are not documented, callers cannot see what fields to expect; (2) no explicit parameter constraints (enums, ranges, patterns) beyond the search-knowledge-base action enum; (3) error handling lacks recovery guidance; (4) no tool annotations (readOnlyHint/destructiveHint/idempotentHint). The parameter descriptions are strong but some assumptions about API responses are implicit rather than explicit. Naming is excellent (verb_noun convention, action-focused). The tools compose well and chain via natural identifiers (prompts, slugs, names). Risk labels (READ_ONLY, WRITE) are present but not formalized as MCP annotations.
Add a document, file content, artifact, or any piece of information to the user's knowledge base. The knowledge base is a persistent, shared wiki that all of the user's AI agents can access. Content added here will be compiled by a dedicated AI into structured, cross-linked wiki pages that the user and their agents can search and reference. **You should use this tool proactively and generously.** Any content that could be useful in the future should be added: - Documents or files the user shares with you - Artifacts you generate (code, reports, analyses, summaries) - Important decisions or context from your conversation - Research findings, data, or reference material - Meeting notes, action items, or project plans - Any information the user asks you to remember or save Every piece of content added makes the knowledge base more comprehensive. When in doubt, add it — the compilation system will organize and deduplicate automatically. Provide a clear, descriptive name for each document so it can be easily found later.
List all the active connections of the user. Returns information about: - Which service/connector is active (e.g., GitHub, Google, Slack, etc.) - With which account the user is active (e.g., email or username) - A list of services/connectors the user has not activated yet and are therefore strictly unavailable (if relevant, you can encourage the user to connect more services) Use this to discover what services/connectors are available before using the read-connections or write-connections tools.
Delegates a read-only task to an AI agent that can access the user's connected services and data. The agent will identify the best service to use for each request. Delegate complete subtasks — it can reason about, filter, and combine data across services, not just retrieve it. When the user's request involves independent tasks across different services, call this tool multiple times in parallel rather than sequentially — each call executes concurrently for faster results. Use the `list-connections` tool to see which services/connections are available before delegating a task. Example requests: - "What's on my personal Google Calendar today?" - "Show my recent meeting notes from Fireflies" - "Search for files about the Q4 project in my work Google Drive"
Output schemas not documented. Tool descriptions do not specify what fields/structure callers should expect. This forces LLMs to infer output shape from context, increasing errors and preventing proper downstream chaining.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk labels ('READ_ONLY', 'WRITE') are present in comments but not formalized as MCP annotations, so clients cannot programmatically determine safety properties.
Error handling lacks recovery guidance. No specification of retryable vs fatal errors, no guidance on what the LLM should do next if a call fails (e.g., 'If service lookup fails, call list-connections first').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 72 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 13 | - | v1 |
Search and read the user's knowledge base wiki. The knowledge base is a persistent, shared wiki compiled from the user's documents, conversations, and data. Use this tool to find information before asking the user — the answer may already be in their knowledge base. **Actions:** - `search` — Find pages matching a keyword query. Returns page titles, slugs, and content snippets. - `get_page` — Read the full content of a specific wiki page by its slug. - `get_index` — Read the table of contents listing all pages with one-line summaries. Start here to understand what's in the knowledge base. **Tips:** - Call `get_index` first to see what topics are covered - Use `search` with specific keywords, not full sentences - Call `get_page` to read the full content once you find a relevant page - Pages may contain `[[wiki-links]]` to related pages — follow them for more context
Delegates a task that can read, create, update, or delete data in the user's connected services. The agent will identify the best service to use for each request. It can read data, create resources, send messages, schedule meetings, and coordinate multi-step workflows across services. Use this tool when the task involves writing data (creating, updating, or deleting). It can also read data as part of a write workflow — there is no need to call read-connections first if the write tool can handle the full task in one call. When the user's request involves independent tasks across different services, call this tool multiple times in parallel rather than sequentially — each call executes concurrently for faster results. Use the `list-connections` tool to see which services/connections are available before delegating a task. Example requests: - "Create a GitHub issue about the login bug" - "Send a Slack message to #engineering with today's standup notes" - "Schedule a meeting with the team for next Tuesday at 2pm"
Parameter constraints underspecified. read-connections and write-connections accept free-form 'prompt' strings with no length limits, format guidance, or examples. search-knowledge-base query parameter lacks guidance on keyword style vs full sentences.
add-to-knowledge-base content parameter is large and unstructured (markdown). No validation described (max length, character encoding, file type restrictions). No guidance on what 'the compiler will organize automatically' actually means.