mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-06 02:48:25 +00:00
New `mcp` crate using rmcp v0.15.0 with stdio and HTTP transports.
MCP tools are registered as regular `RegisteredTool` instances in the
agent's `ToolRegistry`, sharing the same `execute_one_tool` path as
built-in tools. Tools are namespaced as `mcp__{server}__{tool}`.
Includes end-to-end test: real MCP server subprocess (Python echo
server) → mock LLM issues tool call → MCP bridge executes → result
flows back through the session loop.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
48 lines
1.2 KiB
TOML
48 lines
1.2 KiB
TOML
[workspace]
|
|
members = ["crates/*"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
version = "0.1.0"
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1"
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = ["full"] }
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
|
|
uuid = { version = "1", features = ["v4"] }
|
|
rand = "0.8"
|
|
dotenvy = "0.15"
|
|
futures = "0.3"
|
|
tokio-stream = "0.1"
|
|
async-trait = "0.1"
|
|
base64 = "0.22"
|
|
bytes = "1"
|
|
tokio-util = "0.7"
|
|
clap = { version = "4", features = ["derive"] }
|
|
jsonschema = "0.42"
|
|
chrono = "0.4"
|
|
bollard = "0.18"
|
|
tar = "0.4"
|
|
dialoguer = "0.12"
|
|
git2 = "0.19"
|
|
tracing = "0.1"
|
|
rmcp = { version = "0.15.0", default-features = false }
|
|
walkdir = "2"
|
|
regex = "1"
|
|
aho-corasick = "1"
|
|
toml = "0.8"
|
|
daytona-sdk = { git = "https://github.com/brynary/daytona-sdk-rust", package = "daytona-sdk" }
|
|
daytona-api-client = { git = "https://github.com/brynary/daytona-sdk-rust", package = "daytona-api-client" }
|
|
|
|
# regex is extremely slow in debug builds (~10s to compile gitleaks patterns)
|
|
[profile.dev.package.regex]
|
|
opt-level = 2
|
|
[profile.dev.package.regex-automata]
|
|
opt-level = 2
|
|
[profile.dev.package.regex-syntax]
|
|
opt-level = 2
|