Bordet AI

Ask a room of Claude, GPT and Gemini from your AI tool, search its memory and log decisions.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
68%
Naming quality
91%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'ask_member' description lacks action verbin ask_member

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,417Tokens (tool definitions)
~626 BTypical response size
Moderate attention impact (1.11% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "bordet": {
      "url": "https://www.bordet.ai/api/mcp/mcp"
    }
  }
}

Remote endpoints

https://www.bordet.ai/api/mcp/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_members

List the AI members of this Bordet boardroom (name, role, model, capabilities).

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_project_state

The room's curated living memory: objective, status, constraints, active focus, open questions.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_decisions(limit, confirmed_only)

The room's append-only decisions log (newest first). Check this before re-debating anything.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "confirmed_only": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_memory(query, top_n)

Semantic search over the room's long-term memory facts.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "top_n": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_recent_messages(limit, before)

The last messages in the room's main thread (who said what, when; images noted). Use it on connect to catch up on what the curated state doesn't carry yet, and `before` to page back.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "before": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪ask_member(member, ask)

Ask one board member by name (e.g. 'Critic'). The reply is persisted in the room and remembered.

Input Schema

{
  "type": "object",
  "properties": {
    "member": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "ask": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    }
  },
  "required": [
    "member",
    "ask"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪ask_room(ask, members)

Ask the boardroom: members reply in parallel with independent takes (capped at 3 members per call; pass 'members' to pick which).

Input Schema

{
  "type": "object",
  "properties": {
    "ask": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "members": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "maxItems": 3
    }
  },
  "required": [
    "ask"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪log_decision(body, rationale, supersedes_id)

Append a decision to the room's log. It lands UNCONFIRMED; the human confirms it in the room.

Input Schema

{
  "type": "object",
  "properties": {
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "rationale": {
      "type": "string",
      "maxLength": 4000
    },
    "supersedes_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪declare_seat(name, kind, context, capabilities)

Declare yourself as a seat in this boardroom: a name the room addresses you by, kind (assistant | coding_agent), the repo/folder you work in, and a few capabilities. Idempotent; call on connect.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60
    },
    "kind": {
      "type": "string",
      "enum": [
        "assistant",
        "coding_agent"
      ]
    },
    "context": {
      "type": "string",
      "maxLength": 120
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      },
      "maxItems": 12
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢await_mention(cursor, wait_seconds)

Long-poll (up to 50s) for messages addressed to your seat (@<your name>, @everyone, or a member handing you work). Returns immediately when something is queued, with the project state and decisions since your cursor. Call it in a loop to stay in the room.

Input Schema

{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string"
    },
    "wait_seconds": {
      "type": "integer",
      "minimum": 0,
      "maximum": 50
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡post_update(text)

Post a message to the room as your seat: progress, a result (what changed, where, how to verify), or a question for the humans. Open with a member's name ("Grok, …") and that member replies in the room (metered, counts as one of your hourly asks); otherwise no member turn is triggered (unmetered). The room's memory absorbs it. Rate-limited.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools