feat: introduce mcp-server crate (#792)

This introduces the `mcp-server` crate, which contains a barebones MCP
server that provides an `echo` tool that echoes the user's request back
to them.

To test it out, I launched
[modelcontextprotocol/inspector](https://github.com/modelcontextprotocol/inspector)
like so:

```
mcp-server$ npx @modelcontextprotocol/inspector cargo run --
```

and opened up `http://127.0.0.1:6274` in my browser:


![image](https://github.com/user-attachments/assets/83fc55d4-25c2-4497-80cd-e9702283ff93)

I also had to make a small fix to `mcp-types`, adding
`#[serde(untagged)]` to a number of `enum`s.
This commit is contained in:
Michael Bolin
2025-05-02 17:25:58 -07:00
committed by GitHub
parent 865e518771
commit 21cd953dbd
7 changed files with 593 additions and 4 deletions

13
codex-rs/Cargo.lock generated
View File

@@ -556,6 +556,19 @@ dependencies = [
"tempfile",
]
[[package]]
name = "codex-mcp-server"
version = "0.1.0"
dependencies = [
"codex-core",
"mcp-types",
"serde",
"serde_json",
"tokio",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "codex-tui"
version = "0.1.0"