Skip to main content
Glama
aetheris-consulting

Council Blackboard

Council Blackboard System — FastMCP / Prefect Horizon

Council Blackboard is an AI-first shared-state and multi-agent deliberation system with a Human-In-The-Loop (HITL) boundary, blackboard state, colloquium/chamber coordination, audit visibility, and a companion React control interface.

Primary deployment: Prefect Horizon

This repository is configured to deploy as an MCP server in Prefect Horizon.

Horizon entrypoint:

main.py:mcp

Horizon detects pyproject.toml, installs fastmcp==4.0.3, imports the mcp object from main.py, and exposes the managed MCP endpoint.

Deploy

  1. Connect this GitHub repository to Prefect Horizon.

  2. Create a server/project from aetheris-consulting/AI-council-blackboard.

  3. Set the entrypoint to main.py:mcp.

  4. Deploy and validate the tools in Horizon Inspector or ChatMCP.

See HORIZON.md for the exact deployment and local-validation commands.

Related MCP server: agent-broker

MCP capabilities

The Horizon-native server currently exposes blackboard state operations, HITL proposal routing and approval, operating-mode control, colloquium session inspection/interjection, colloquium-to-blackboard commits, rule-of-motion updates, resources, prompts, and a small in-process audit log.

The MVP is intentionally explicit about one limitation: Horizon state is currently in-memory and non-durable. It can reset on process replacement or redeploy. A durable shared-state backend should be added before multi-instance production use.

Companion C2 / web UI

The original application remains in this repository as a React/Vite + Express TypeScript interface.

npm install
npm run dev

The web application includes:

  • Council Blackboard UI

  • AI-first colloquium/chamber UI

  • HITL stage and proposal review

  • agent panels and rule-of-motion controls

  • connector and room UI

  • an earlier hand-written MCP JSON-RPC router in server/mcpServer.ts

The Horizon-facing main.py:mcp server is the recommended MCP deployment surface. The TypeScript router is retained for the companion application and future consolidation.

Repository layout

main.py                 # FastMCP server for Prefect Horizon
pyproject.toml          # Horizon/Python dependency declaration
HORIZON.md              # Horizon deployment notes
server/mcpServer.ts     # Existing TypeScript MCP JSON-RPC implementation
server.ts               # Express/Vite companion app server
src/                    # React C2 / chamber UI

Environment

The Horizon-native MCP server requires no provider API key for its current core state-management tools.

The companion TypeScript application can use:

GEMINI_API_KEY=...

Do not commit real credentials. .env* files remain ignored except for .env.example.

Validation notes

The source was reviewed before import for obvious embedded credentials. No live provider/API credential was found in the archive. The companion app does contain demo/session tokens and simulated/fallback behavior; those should not be treated as production authentication or durable governance controls.

Available Tools

11 tools
audit_get_recentAudit Get RecentB

Return recent mutating MCP calls from the in-process audit log.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It reveals the tool returns only mutating calls (not all calls) and that they come from an in-process log (implying non-persistence). However, it does not state that it is a read-only operation, how results are ordered, or whether it is destructive. Some transparency is present but significant gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose. There is zero filler or redundancy; every word contributes to the tool's meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While an output schema exists (not shown), the description omits essential usage details for the only parameter, 'limit'. It does not clarify how 'recent' is defined, what the default behavior is, or any limitations of the in-process log. The tool is simple but the missing parameter semantics makes it incomplete for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% because the description does not mention the 'limit' parameter. The description must compensate for low coverage but does not explain what limit controls (e.g., maximum number of results, ordering, or pagination). An agent cannot infer parameter behavior from the description alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Return'), a specific resource ('recent mutating MCP calls from the in-process audit log'), and a clear scope. It is not a tautology of the title and clearly distinguishes itself from sibling tools like blackboard or colloquium operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for retrieving recent mutating calls for auditing purposes, but it does not explicitly state when to use it versus alternatives or when not to use it. There is no mention of exclusions or conditions, leaving the usage context implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blackboard_add_itemBlackboard Add ItemC

Commit a new item directly to the shared blackboard.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
typeNoconcept
titleYes
contentYes
author_nameNoMCP Agent

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to provide hints, the description carries the full burden. It says 'Commit' but does not disclose whether the item is immediately visible, whether approval is required, or what happens on conflict or error. The side effects are vague, leaving an agent uncertain about the tool's impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that is easy to parse. It avoids filler and directly communicates the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does not mention the output or return value (despite an output schema existing), possible errors, or how this tool fits with the rest of the blackboard workflow. Given the complexity of having multiple similar blackboard tools, this lack of context leaves an agent uncertain about the tool's place and consequences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% — the schema provides names and types but no descriptions for title, content, tags, type, or author_name. The tool description adds no parameter explanations, so the agent must guess the meaning and constraints of each field, especially content and type semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Commit') and resource ('new item' to 'shared blackboard'), but it does not explicitly distinguish this from the sibling tool blackboard_propose_input, which also adds items. The word 'directly' hints at a bypass, but it is not spelled out.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as blackboard_propose_input or blackboard_approve_proposal. The description lacks any explicit 'use this when' or 'use that instead' context, which is critical given the presence of several related blackboard tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blackboard_approve_proposalBlackboard Approve ProposalB

Approve or reject a pending proposal at the HITL supervisory boundary.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
feedbackNo
proposal_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals that the tool modifies the state of a pending proposal, but it does not explain side effects, reversibility, permissions, or the result of approval versus rejection, and there are no annotations to supplement this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no redundant or extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no schema property descriptions and no annotations, the minimal description leaves important context missing, such as the meaning of feedback, the exact effect of each action, and what the response will contain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has three parameters with no descriptions, and the description only implicitly references proposal_id and action, leaving feedback completely unexplained and adding no substantive meaning to the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Approve or reject'), the object ('a pending proposal'), and the context ('HITL supervisory boundary'), making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context 'HITL supervisory boundary' implies when this tool should be used, but it does not explicitly compare it to sibling tools such as blackboard_propose_input or colloquium_commit_to_blackboard, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blackboard_get_stateBlackboard Get StateA

Retrieve the shared Council Blackboard state.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'retrieve' strongly indicates a non-mutating read operation, and no contrary behaviors are suggested. However, it does not explicitly state that it is side-effect-free or mention any permissions or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no unnecessary words, making it highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the getter nature is clear, the presence of an optional 'mode' parameter with no contextual explanation creates ambiguity about how the state retrieval is scoped, and the output is not described beyond an existing schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'mode' has an enum in the schema but no description. The tool description does not explain what filtering or behavior 'mode' controls, leaving its meaning entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the shared Council Blackboard state, distinguishing it from sibling tools that add, propose, approve, or set modes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied as a read operation for the blackboard state, but no explicit guidance is given on when to prefer this over alternatives like blackboard_set_mode or colloquium_get_session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blackboard_propose_inputBlackboard Propose InputD

Submit a candidate mutation through the Human-In-The-Loop boundary.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNolead_architect
typeNoconcept
titleYes
contentYes
agent_nameYes
justificationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides no information about side effects, required approvals, persistence, or any consequences of invoking the tool. It does not mention whether the submission is asynchronous, whether it triggers a review process, or what the output schema represents. Completely lacks behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence), but its brevity works against it. While not verbose, it lacks sufficient structure to convey essential information. The single clause 'Submit a candidate mutation through the Human-In-The-Loop boundary' does not front-load any practical details, making the conciseness counterproductive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the schema (6 params, enums, output schema), the description is completely inadequate. It provides zero context about the intended workflow, how this tool fits with sibling tools, or what the input and output represent. The tool cannot be used effectively based on this description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 6 parameters with 0% description coverage. The description does not explain the meaning of any parameter (e.g., 'agent_name', 'title', 'content', etc.). An agent cannot infer parameter semantics from the description alone, making it impossible to construct a correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Submit') and object ('candidate mutation'), and hints at the context ('Human-In-The-Loop boundary'). However, it does not elaborate on what constitutes a 'candidate mutation' or how it relates to the blackboard system, leaving ambiguity. It also does not distinguish itself from the sibling tools like blackboard_add_item or blackboard_approve_proposal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. No conditions, preconditions, or scenarios are mentioned. The description is a single sentence with no usage instructions, leaving the agent to infer when to submit a proposal versus other blackboard operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blackboard_set_modeBlackboard Set ModeC

Switch the operating mode of the Council Blackboard.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations and no mention of side effects, persistence, permissions, or returned results. The description implies a state change, but does not disclose what changing the mode affects (e.g., pending items, approvals, subsequent tool behavior).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no filler or redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple, but with no annotations, no parameter descriptions, and no explanation of output or effects, the description is not enough to fully understand the tool's behavior in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required enum parameter with values that are somewhat self-explanatory, but schema description coverage is 0% and the description does not explain what each mode means. It adds no additional meaning beyond the bare enum names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Switch') and target ('operating mode of the Council Blackboard'), and it is distinct from sibling tools like blackboard_get_state or blackboard_add_item. However, it does not elaborate on what 'operating mode' concretely affects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to switch modes versus using other blackboard tools, nor does it explain which mode should be chosen for a given situation. It only states the action, leaving the usage context implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colloquium_commit_to_blackboardColloquium Commit To BlackboardD

Commit a distilled colloquium outcome into the shared blackboard.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
typeNoconcept
titleYes
contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose side effects, permissions, or return behavior. 'Commit' implies a write operation but without explicit details, the agent cannot anticipate its impact on the blackboard or potential errors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it omits critical information. It is under-specified and does not front-load the most important details about the tool's functionality, making it less useful despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no parameter details, the description is severely incomplete. It lacks information about the tool's integration with the blackboard system, expected inputs, outputs, and its relationship to sibling tools, leaving major gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no per-parameter descriptions, and the description fails to explain the meaning of 'title', 'content', 'tags', or 'type'. The enum values for 'type' are not documented, leaving the agent without any semantic guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'commit' is vague and does not specify the exact operation (add, update, replace) on the blackboard. It mentions 'distilled colloquium outcome' but fails to distinguish this from sibling tools like blackboard_add_item or blackboard_propose_input, leaving the purpose ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus siblings. No mention of prerequisites, typical scenarios, or when to avoid it. The description offers no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colloquium_get_sessionColloquium Get SessionC

Inspect the current AI-first colloquium session.

ParametersJSON Schema
NameRequiredDescriptionDefault
limit_messagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'Inspect' implies a read-only operation, but no explicit side-effect, permission, or safety behavior is disclosed, and there are no annotations to supplement this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clear sentence with no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description omits parameter semantics and does not clarify expected output or interaction context, which is insufficient even for a simple inspection tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, limit_messages, is not described in the tool description or schema beyond its type and default, leaving its meaning and effect entirely implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'Inspect' and a specific resource 'current AI-first colloquium session', clearly distinguishing it from sibling tools like colloquium_interject or colloquium_update_rule_of_motion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; it only describes the target resource without conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colloquium_interjectColloquium InterjectB

Insert a high-priority supervisor directive into the colloquium stream.

ParametersJSON Schema
NameRequiredDescriptionDefault
directiveYes
sender_nameNoSupervisor (HITL)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears the full burden of disclosing behavior. It indicates an insertion action but does not mention side effects, ordering, persistence, visibility, permissions, idempotency, or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no redundant words or unnecessary structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description omits practical context such as output, error cases, or effects on the stream. It covers the basic purpose but not enough for confident use in varied situations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not meaningfully explain the parameters. It indirectly references 'directive' but not 'sender_name', and there are no per-parameter descriptions in the schema to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Insert'), a clear object ('high-priority supervisor directive'), and the target resource ('colloquium stream'). It clearly distinguishes this tool's purpose from the sibling colloquium tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'high-priority supervisor directive' implies when the tool should be used, but it does not explicitly state when to prefer this over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colloquium_update_rule_of_motionColloquium Update Rule Of MotionB

Update colloquium turn structure, consensus threshold, or active topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNo
rule_typeNo
consensus_thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits itself, but it only states the intended modification. It does not mention side effects (e.g., whether existing settings are overridden), permissions required, idempotency, or whether the operation is reversible. The absence of such details leaves the tool's behavior opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that names the verb and the key objects. It is appropriately brief, front-loaded with the action, and contains no extraneous information. The structure is clean and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three optional parameters and an output schema, but the description does not mention the nature of the output, error handling, or any side effects. It also does not clarify whether multiple parameters can be updated simultaneously. The provision of an output schema without any description of its contents makes the tool under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema defines three parameters without descriptions, and the description only loosely links 'turn structure' to rule_type, 'consensus threshold' to consensus_threshold, and 'active topic' to topic. It does not explain allowed values (e.g., the enum options), the meaning of the numeric threshold (range, scale), or whether parameters interact or are mutually exclusive. The description does not compensate for the schema's lack of detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Update') and the specific resource ('colloquium') along with the exact realms affected ('turn structure, consensus threshold, or active topic'). This distinguishes it from sibling tools like colloquium_get_session and colloquium_interject, which handle retrieval and speaking respectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, conditions under which an update is appropriate, or any relationship to the other colloquium tools. Users are left to infer when this action is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

system_statusSystem StatusB

Return deployment identity, state model, and current chamber counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read-only operation via 'Return', but there is no explicit statement about side effects, data freshness, or whether it reflects live or cached state. With no annotations available, the burden falls on the description, which does not address these aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no redundant words. It front-loads the action verb and directly lists the returned items, making it highly concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for basic invocation but omits details about the structure or format of the returned data. Although the output schema is noted as present, it is not included here, so the description alone does not tell the agent what fields to expect or how to interpret 'state model' and 'chamber counts'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the description does not need to explain input semantics. The baseline for zero-parameter tools is 4, and the description does not introduce any confusion about arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Return' and identifies three distinct resources: deployment identity, state model, and current chamber counts. This clearly distinguishes it from sibling getters like blackboard_get_state and colloquium_get_session, though 'state model' and 'chamber counts' are somewhat ambiguous without further context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. While the sibling list includes other getters, the description does not explicitly differentiate scenarios (e.g., 'use this for overall system status, not specific board state'). Users must infer its purpose from the name and resource list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.1.0
    • First observedaudit_get_recent
    • First observedblackboard_add_item
    • First observedblackboard_approve_proposal
    • First observedblackboard_get_state
    • First observedblackboard_propose_input
    • First observedblackboard_set_mode
    • First observedcolloquium_commit_to_blackboard
    • First observedcolloquium_get_session
    • First observedcolloquium_interject
    • First observedcolloquium_update_rule_of_motion
    • First observedsystem_status

TDQS

C2.7/5.0

Scored across 11 tools

Disambiguation3/5

Some overlap exists: blackboard_add_item and colloquium_commit_to_blackboard both write to the blackboard, and get_state/get_session could be confused. However, descriptions clarify direct vs. distilled and state vs. session, so most tools have distinct purposes.

Naming Consistency3/5

Most tools follow a <domain>_<action> pattern (e.g., blackboard_get_state, colloquium_interject), but 'system_status' lacks a verb, breaking the otherwise consistent naming scheme.

Tool Count5/5

With 11 tools, the server is well-scoped, covering blackboard, colloquium, and audit operations without feeling bloated or sparse. This is within the ideal range for a specialized server.

Completeness4/5

The tool surface covers the core lifecycle of the domain: reading state, adding/proposing/approving items, managing sessions, and auditing. Minor gaps like explicit item deletion or update are not critical, so it feels reasonably complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers