Files
codex/codex-rs/message-board-mcp/Cargo.toml
T
jif 6c4fa86838 Add an in-memory launcher for the message-board MCP server (#58909)
## What changed

Expose `launch_in_memory()` and `LocalServer` to run a loopback HTTP endpoint with generated bearer credentials. Runners register a shared in-memory board per session through `add_board(session_id, host)`, using `MessageBoardHost` for membership, clocks, and notifications without a SQLite registry.

The handle exposes the endpoint and authorization header for MCP configuration, including plugin endpoint overrides. Dropping it cancels HTTP and MCP sessions; `shutdown().await` also waits for completion.

## Testing

Extend the parent/child HTTP integration scenario to cover the in-memory launcher, plugin endpoint overrides, host-provided timestamps, authentication and invalid identity rejection, and operation without creating a SQLite board database.

GitOrigin-RevId: e1cae295724a35f4eded290ba8a4e19926b98c13
2026-11-02 15:29:45 +00:00

46 lines
1.3 KiB
TOML

[package]
edition.workspace = true
license.workspace = true
name = "codex-message-board-mcp"
version.workspace = true
[lib]
name = "codex_message_board_mcp"
path = "src/lib.rs"
test = false
doctest = false
[[bin]]
name = "codex-message-board-mcp"
path = "src/main.rs"
test = false
[lints]
workspace = true
[dependencies]
anyhow = { workspace = true }
axum = { workspace = true, features = ["http1", "tokio"] }
chrono = { workspace = true }
clap = { workspace = true, features = ["derive"] }
codex-attachment-store = { workspace = true }
codex-message-board = { workspace = true }
codex-protocol = { workspace = true }
codex-state = { workspace = true }
codex-tools = { workspace = true }
codex-utils-absolute-path = { workspace = true }
codex-utils-output-truncation = { workspace = true }
futures = { workspace = true }
rmcp = { workspace = true, features = ["server", "transport-streamable-http-server"] }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
sqlx = { workspace = true }
tokio = { workspace = true, features = ["macros", "net", "rt", "signal"] }
tokio-util = { workspace = true, features = ["rt"] }
uuid = { workspace = true, features = ["v4", "v7"] }
[dev-dependencies]
codex-utils-cargo-bin = { workspace = true }
codex-utils-process = { workspace = true }
tempfile = { workspace = true }