forked from EmilLindfors/mcp
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
67 lines (60 loc) · 1.89 KB
/
Copy pathCargo.toml
File metadata and controls
67 lines (60 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[package]
name = "mcp_rs"
description = "a library for making MCP (Model Context Protocol) compatible programs with rust"
version = "0.1.0"
edition = "2021"
authors = ["Emil Lindfors <[email protected]>"]
keywords = ["gen", "anthropic", "mcp_protocol", "mcp"]
categories = ["api-bindings"]
license = "MIT"
[dependencies]
async-trait = "0.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["full"] }
thiserror = "2"
tracing = "0.1"
tokio-util = "0.7"
jsonrpc-core = "18"
warp = "0.3"
jsonrpc-derive = "18"
futures = "0.3"
uuid = { version = "1", features = ["v4", "v7", "serde"] }
url = "2"
base64 = "0.22"
async-stream = "0.3"
mime_guess = "2"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
config = "0.15"
# Optional: the two binaries below are the only clap users, and a library consumer that
# never builds them was compiling clap plus its 12-crate subtree for nothing.
clap = { version = "4", features = ["derive"], optional = true }
reqwest = { version = "0.12", features = ["json"] }
reqwest-eventsource = "0.6"
mime = "0.3"
tokio-tungstenite = { version = "0.26", features = ["native-tls"] }
typed-builder = "0.21.0"
tracing-core = "0.1"
async-recursion = "1"
http = "1.1"
# Off by default so `mcp_rs` as a dependency carries no CLI parser. `required-features`
# makes cargo skip the binaries rather than fail when it is off, so `cargo build` on a
# checkout still succeeds and `--all-features` (what CI runs) still builds and lints them.
[features]
cli = ["dep:clap"]
[[bin]]
name = "server"
path = "bin/server.rs"
required-features = ["cli"]
[[bin]]
name = "client"
path = "bin/client.rs"
required-features = ["cli"]
[lib]
name = "mcp_rs"
path = "src/lib.rs"
doctest = false
[dev-dependencies]
tempfile = "3.14.0"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tokio = { version = "1.0", features = ["full", "test-util"] }