franks42/bb-mcp-server
If you are the rightful owner of bb-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Model Context Protocol (MCP) server is a specialized server designed to facilitate communication and data exchange between different model-based applications and systems.
bb-mcp-server
Modular MCP server in Clojure/Babashka.
Quick Start
# stdio (Claude Code)
bb server:stdio
# HTTP (Streamable HTTP spec 2025-03-26)
bb server:streamable 3000
Modules
| Module | Description |
|---|---|
calculate | Math expressions (100+ functions) |
nrepl | Remote Clojure REPL |
local-eval | Server-side code execution |
echo | Echo for testing |
hello | Greeting tool |
strings | String concat |
math | Basic arithmetic |
See modules/*/README.md for details.
Configuration
system.edn:
{:modules ["hello" "echo" "calculate" "nrepl" "local-eval"]}
External Modules
Load modules from outside the project directory:
# Single module or collection of modules
BB_MCP_EXTERNAL_MODULES=/path/to/my-module bb server --http
# Multiple paths (colon-separated)
BB_MCP_EXTERNAL_MODULES=/path/to/module1:/path/to/modules-collection bb server --http
Auto-detects:
- Single module: Directory containing
module.edn - Collection: Directory with subdirectories containing
module.edn
Modules must be listed in system.edn to be loaded at startup.
Dynamic Module Loading
Load modules at runtime (after server is already running):
;; Via local-eval, nrepl-eval, or direct REPL
(require '[bb-mcp-server.module.system :as system])
(system/load-new-module! "/path/to/external-module")
This enables a minimal bootstrap pattern:
- Start server with just
local-eval(ornrepl) - Load other modules dynamically via
local-eval - Tools are registered immediately after loading
;; system.edn - minimal bootstrap
{:modules ["local-eval"]} ; Just local-eval!
Both local-eval and nrepl have full server access (no sandbox restrictions).
See scripts/test_dynamic_load.clj for a working example.
Claude Code
{
"mcpServers": {
"bb-mcp": {
"command": "bb",
"args": ["server:stdio"],
"cwd": "/path/to/bb-mcp-server"
}
}
}
Development
bb test # Run tests
bb lint # clj-kondo
bb server:stop 3000 # Stop HTTP server
Status
Phase 5.5 complete. See docs/design/streamable-http-implementation-plan.md.
License
See LICENSE.