Bike4Mind

Exposes a Bike4Mind account's notebooks, files, chat and audio generation to MCP clients

Official · Bike4Mind TypeScript Local · stdio Knowledge and memoryAI and ML

75 popularity score ★ 94 ↓ 67k/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

It needs B4M_API_KEY. Replace each <NAME> with your value.

Claude CodeTerminal
claude mcp add bike4mind -e B4M_API_KEY=<B4M_API_KEY> -- npx -y -p @bike4mind/cli b4m mcp serve
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "bike4mind": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@bike4mind/cli",
        "b4m",
        "mcp",
        "serve"
      ],
      "env": {
        "B4M_API_KEY": "<B4M_API_KEY>"
      }
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "bike4mind": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@bike4mind/cli",
        "b4m",
        "mcp",
        "serve"
      ],
      "env": {
        "B4M_API_KEY": "<B4M_API_KEY>"
      }
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "bike4mind": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@bike4mind/cli",
        "b4m",
        "mcp",
        "serve"
      ],
      "env": {
        "B4M_API_KEY": "<B4M_API_KEY>"
      }
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.bike4mind]
command = "npx"
args = ["-y", "-p", "@bike4mind/cli", "b4m", "mcp", "serve"]

[mcp_servers.bike4mind.env]
B4M_API_KEY = "<B4M_API_KEY>"
Gemini CLITerminal
gemini mcp add --scope user -e B4M_API_KEY=<B4M_API_KEY> bike4mind npx -- -y -p @bike4mind/cli b4m mcp serve

Settings 2

B4M_API_KEY Required: Bike4Mind API key (b4m_live_...); a stored `b4m login` session or the --api-key flag can stand in.
B4M_API_URL Optional: Address of the Bike4Mind instance to call, such as a self-hosted one; defaults to the CLI's configured backend.

What it does

Bike4Mind is a multi-model AI workspace built around notebooks, a document knowledge base and data lakes, offered as a hosted service at app.bike4mind.com or as a self-hosted open-core stack. Its command-line package, @bike4mind/cli, is mainly an interactive agent terminal, but its `b4m mcp serve` subcommand turns it into an MCP server that talks to a Bike4Mind backend on the user's behalf.

In the published 2.0.0 release the server registers ten tools (checked in the package's bundled serve module): listing, reading and creating notebooks, sending a chat message into a notebook and waiting for the reply with its cited sources, semantic search over notebook content, listing data lakes, searching files and fetching a file's metadata with a signed download link, and generating a sound effect or speech audio. A lake-grounded answer is built by chaining list_lakes, create_notebook with a dataLakeId, then send_message. It also serves notebooks, files, projects and artifacts as readable resources.

List-style tools return 25 items by default (search_knowledge_base returns 10), up to 100 with `limit`. It runs over stdio by default, or as a stateless streamable HTTP endpoint with `--http --port <n>`.

What it needs

RuntimeNode.js 24+

Node.js 24 or newer (the package's engines field). A Bike4Mind account, either on the hosted service or on a self-hosted instance, plus an API key created under Settings > API Keys with scopes for the tools you use (keys start `b4m_live_`); running `b4m login` once instead stores a sign-in the server can use. Audio generation spends the account's generation credits.

Limits

Version 2.0.0, the one on npm, has 10 tools. The repository docs list 17: rename_notebook, clone_notebook, delete_notebook, list_projects, get_project, create_project and generate_image, plus Briefcase prompts, arrive in 2.1.0, which its changelog records but npm does not yet carry. Resource listing is capped at 100 entries per template with no paging, and a failed listing comes back as an empty list with the error on stderr. HTTP mode binds only 127.0.0.1 and serves only /mcp; there is no flag to change the bind address. generate_sound_effect accepts 1-1000 characters of text and 0.5-30 seconds of length.

Who it suits

Suits people who already keep notes, documents or data lakes in Bike4Mind and want an assistant in another client to search them, start notebooks and get cited replies from Bike4Mind's own models. It is of no use without a Bike4Mind account or self-hosted instance. Because tools can create notebooks and spend credits on chat and audio generation, a key with only read scopes suits read-only use, though the docs note most routes do not enforce scopes. People who want the rename, delete, project or image tools should wait for a release after 2.0.0.

Tools 10

list_notebooks
Lists the account's notebooks, with optional text filter and paging
get_notebook
Fetches one notebook by its id
create_notebook
Creates a notebook, optionally in a project or tied to a data lake
send_message
Sends a chat message to a notebook and returns the reply with its cited sources
search_knowledge_base
Runs a semantic search over the account's notebooks
list_lakes
Lists the data lakes the key can reach, paged by cursor
list_files
Searches the account's uploaded files
get_file
Returns a file's metadata and a signed download link
generate_sound_effect
Generates a sound effect from a text description
text_to_speech
Turns text into spoken audio, saved as a file or returned inline

Similar servers