Skip to content

Conversation

@xring
Copy link
Contributor

@xring xring commented Mar 16, 2025

Motivation and Context

How Has This Been Tested?

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@xring xring force-pushed the acitx-web-example branch from b9c6682 to baa8a49 Compare March 16, 2025 13:49
salman1993
salman1993 previously approved these changes Mar 18, 2025
@baxen
Copy link
Contributor

baxen commented Mar 19, 2025

Looks great! do you have a second to run cargo fmt and cargo clippy to pass the the repo checks?

@xring
Copy link
Contributor Author

xring commented Mar 20, 2025

Hi @baxen , could you please help approve for the waiting workflows? I've run locally and fix them.

@baxen baxen merged commit b3d655d into modelcontextprotocol:main Mar 20, 2025
3 checks passed
Jeadie added a commit to spiceai/modelcontextprotocol-rust-sdk that referenced this pull request May 15, 2025
* Server wasm compatibility (modelcontextprotocol#15) * add axum sse example * fix: make the sse axum folder name correct * feat: add common modules for Axum SSE example This commit adds supporting modules for the Axum Server-Sent Events (SSE) example: - Added `counter.rs` with a simple counter router implementation - Added `jsonrpc_frame_codec.rs` for decoding JSON-RPC frames - Created a `mod.rs` to expose these modules - Removed the previous SSE example configuration from Cargo.toml * refactor: remove main.rs and update Cargo.toml for WASM compatibility This commit makes two key changes: 1. Removes the main.rs file and make it a example 2. Add a wasi_std_io example * refactor: simplify WASI I/O handling in example and fmt Merged AsyncInputStream and AsyncOutputStream into a single WasiFd struct with std_in() and std_out() methods, reducing code duplication and improving clarity of the WASI standard I/O example. * move examples to root * add missing license (modelcontextprotocol#35) * pin transport once, use project in write_message (modelcontextprotocol#28) * docs: add installation instructions for uv (modelcontextprotocol#37) * fix: update transport command to use the correct example server (modelcontextprotocol#36) * fix: update transport command to use the correct example server * style: cargo fmt * add an actix-web server sse example (modelcontextprotocol#33) * add an actix-web server sse example remove unused import * fix to apply cargo fmt and cargo clippy to pass the the repo checks * chore: decrease log level (modelcontextprotocol#41) Co-authored-by: ziyang zhang <zhangziyang@stu.cdut.edu.cn> * Move whole rmcp crate to offcial rust sdk (modelcontextprotocol#44) * get rid of async-trait * move rmcp to official-rust-sdk * replace master with main * update readme, change license * fix typo * Update README.md Co-authored-by: Jefry Dewangga <jefrydco@gmail.com> * fix typos --------- Co-authored-by: = <=> Co-authored-by: Jefry Dewangga <jefrydco@gmail.com> * doc: fix a typo in Cargo.toml (modelcontextprotocol#45) * docs: fix the branch name for git dependency (modelcontextprotocol#46) * docs: update the chinese doc (modelcontextprotocol#48) the chinese doc also should be update Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * docs: fix broken link (modelcontextprotocol#53) * ci: add commit-lint in CI (modelcontextprotocol#50) no need too many workflows's yaml file, for ci we just need one. Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * refactor(sse_server): separate router and server startup (modelcontextprotocol#52) * feat: expose axum router * feat: add axum_router example with SSE server implementation * refactor: simplify SseServer configuration handling in server setup * docs: add warning to SseServer::new about potential post_path issues with embedded routers * style: fmt the project (modelcontextprotocol#54) add rustfmt.toml Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * [Example] Small fix on incorrect counter logic and improve prompt handling (modelcontextprotocol#63) The counter decrement in `get_value` was removed to prevent unintended changes to the counter state. Additionally, `get_prompt` was updated to parse and validate the `message` argument properly, ensuring better error handling and formatting. Co-authored-by: sandrohanea <me@sandro.rocks> * fix(server): add error enum while deal server info (modelcontextprotocol#51) 1. wrap the error type for more standardized 2. add more information in error for debug trace 3. wrap helper func for more user-friendly code Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * ci: use `rust-cache` (modelcontextprotocol#60) Replace actions/cache with rust-cache. * chore: format code correctly (modelcontextprotocol#66) * test: add test with js server (modelcontextprotocol#65) * fix(test): fix tool deserialization error (modelcontextprotocol#68) * ci: add documentation generation job (modelcontextprotocol#59) * ci: add documentation generation job 1. add doc ci in workflow 2. remove the readme in rmcp crate Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * docs: fix doc test in README.md 1) fix doc test in readme 2) fix some fmt Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> --------- Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * fix(notification): fix wrongly error report in notification (modelcontextprotocol#70) * docs: format and fix typo (modelcontextprotocol#72) * feat(transport): Sse client transport trait (modelcontextprotocol#67) * feat: created transport trait and impl * feat(transport): abstract sse transport from the client definition * test: add test with js server (modelcontextprotocol#65) * fix: use prefix to check mime type * fix(test): fix tool deserialization error (modelcontextprotocol#68) * ci: add documentation generation job (modelcontextprotocol#59) * ci: add documentation generation job 1. add doc ci in workflow 2. remove the readme in rmcp crate Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * docs: fix doc test in README.md 1) fix doc test in readme 2) fix some fmt Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> --------- Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * fix(notification): fix wrongly error report in notification (modelcontextprotocol#70) * chore: fix lint errors by creating a type alias * chore: resolve conflict * chore: fix fmt * chore: revert --------- Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> Co-authored-by: Jefry Dewangga <jefrydco@gmail.com> Co-authored-by: 4t145 <u4t145@163.com> Co-authored-by: jokemanfire <hu.dingyang@zte.com.cn> * feat: Sse server auto ping (modelcontextprotocol#74) 1. auto ping in sse stream every second to make cursor happy 2. configurable sse keep alive --------- Co-authored-by: = <=> * feat(tool): allow tool call return a serializable value in json format (modelcontextprotocol#75) (modelcontextprotocol#78) * fix(client): add error enum while deal client info (modelcontextprotocol#76) 1. wrap the error type for more standardized 2. add more information in error for debug trace 3. wrap helper func for more user-friendly code Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * chore: fix typos (modelcontextprotocol#79) * Adopt Devcontainer for Development Environment (modelcontextprotocol#81) * chore: add devcontainer setting * docs: add Dev Container setup instructions to README and create DEVCONTAINER.md * ci: add spell check (modelcontextprotocol#82) for code greater use spell check Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * fix(typo): s/marcos/macros/ (modelcontextprotocol#85) * fix: fix rig chat agent output format (modelcontextprotocol#86) * fix(typo): nit language corrections (modelcontextprotocol#90) * Add Claude desktop quick start and update Cargo.toml of examples/servers, examples/clients (modelcontextprotocol#94) * feat(readme): add Claude Desktop quick start guide * fix(readme): correct typo in Claude Desktop instructions * test(logging): Add tests for logging (modelcontextprotocol#96) * test(logging): implement basic logging functionality * test(logging): add comprehensive server transport tests * chore: fix broken wasi example link (modelcontextprotocol#100) fix doc's link in example * feat: revision-2025-03-26 without streamable http (modelcontextprotocol#84) 1. Suppot revision 2025-03-26 data types 2. Support meta, progress tokne, and extensions in request/notification, 3. Remove `Message`, use `JsonRpcMessage` directly * fix(macro): add generics marco types support (modelcontextprotocol#98) add generic marco support Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * test(context): test context request handling and refactor for reusable client-server tests (modelcontextprotocol#97) * fix(rig-integration): implement ToolEmbeddingDyn trait for McpToolAdaptor (modelcontextprotocol#99) - Added ToolEmbeddingDyn trait for McpToolAdaptor to enable dynamic loading of McpTool - Enhanced logging to record details Co-authored-by: byeblack <byeblack@misaki.red> * fix(test): fix test introduced by modelcontextprotocol#97 (modelcontextprotocol#101) * fix(server): schemars compilation errors (modelcontextprotocol#104) * feat: extensions to context (modelcontextprotocol#102) * docs: give macOS link and clarify missing UI (modelcontextprotocol#110) fix doc in examples/README.md. * ci: add code coverage job to CI workflow (modelcontextprotocol#111) add code coverage job * fix(macros): add error deal (modelcontextprotocol#109) 1.Check whether the parameters include aggregated parameters and individual parameters 2.Check if the toolbox attribute is default Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * Fix typo for Claude desktop config file path correction and add more example for Windows, Linux, and MacOS (modelcontextprotocol#107) * fix(typo): claude desktop config file path correction * fix: fix 2 cargo warnings (modelcontextprotocol#112) * fix: fix 3 cargo warnings * revert `version = "1.0"` removal * ci: harden release action (modelcontextprotocol#113) * docs: add an overview to `rmcp/src/lib.rs` (modelcontextprotocol#116) * fix(handler): do call handler methods when initialize server (modelcontextprotocol#118) * docs: add a simple chat client for example (modelcontextprotocol#119) 1. optimize the readme in root 2. add example Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * docs: fix the url (modelcontextprotocol#120) Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * docs: update calculator example description (modelcontextprotocol#115) The example in the README uses "sum" for both `sum` and `sub`. I changed it to "difference". For consistency, I also updated the example code to use the same term. * docs: fix typo and clarify instructions (modelcontextprotocol#124) * chore: remove un-used tower.rs (modelcontextprotocol#125) Signed-off-by: nora-coder-dot <nora6677@gmail.com> Co-authored-by: nora-coder-dot <nora6677@gmail.com> * docs: fix doc in simple-chat (modelcontextprotocol#129) * ci: security (modelcontextprotocol#133) * ci: add security audit job to workflow * feat(rmcp-macro): generate description from docs (modelcontextprotocol#141) * feat: generate description from docs * fix logic to extract doc * fmt * chore: undo unnecessary changes in `Cargo.toml` * chore: undo unnecessary changes in `Cargo.toml` * chore: remove unnecessary code in tests * create `extract_doc_line` * fmt * make sure the string is not empty * avoid multilayer nesting * fmt * chore: make proxy in simple-chat configure (modelcontextprotocol#134) and remove some prints and some useless codes Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * fix(rmcp-macros): fix extract_doc_line code (modelcontextprotocol#142) Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * chore: disable unix_socket example on windows (modelcontextprotocol#146) * chore: make cli command in simple-chat (modelcontextprotocol#145) add config,chat,help command * fix: fix resource leak (modelcontextprotocol#136) When a running service is dropped, its connections should be closed and its resources should be cleaned up. This changes the default from leaving services running to closing them. Library users who want their services to remain running should call `waiting` on their running service, in a new task where necessary. Co-authored-by: Paul Ellenbogen <pe5@cs.princeton.edu> * chore: add oauth2 support (modelcontextprotocol#130) 1.add oauth2 server and client example 2.add oauth2 impl in sse 3.add auth doc Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * fix(test): skip serialize tool's annotation if empty (modelcontextprotocol#160) * fix(test): skip serialize tool's annotation if empty 1. skip serialize tool's annotation if empty 2. close js server and client when close * fix(test): fix test with js, don't close too early * feat: allow use of reqwest without ring provider (modelcontextprotocol#155) Signed-off-by: Mauro Sardara <msardara@cisco.com> * feat(oauth): fixes + cache client credentials (modelcontextprotocol#157) credentials optimize * feat: add clippy config (modelcontextprotocol#162) Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> * feat(transport): support streamable http server (modelcontextprotocol#152) * feat(transport): support streamable http server * refactor(transport): add common module for shared transport utilities * perf(tracing): add more log for streamable http session * fix(test): fix port conflict in test with js * fix(transport): fix id generating and session management 1. cancel when deleting 2. use `wrapping` and `saturating` correctly * chore(naming): rename sse server to streamable http server * fix: build errors for WASI target (modelcontextprotocol#151) --------- Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn> Signed-off-by: nora-coder-dot <nora6677@gmail.com> Signed-off-by: Mauro Sardara <msardara@cisco.com> Co-authored-by: 4t145 <u4t145@163.com> Co-authored-by: niebayes <niebayes@gmail.com> Co-authored-by: Marc-Andre Giroux <mgiroux0@gmail.com> Co-authored-by: situ2001 <yongcong2001@outlook.com> Co-authored-by: xring <xringxie@gmail.com> Co-authored-by: Ma1oneZhang <73012001+Ma1oneZhang@users.noreply.github.com> Co-authored-by: ziyang zhang <zhangziyang@stu.cdut.edu.cn> Co-authored-by: Jefry Dewangga <jefrydco@gmail.com> Co-authored-by: Ramnivas Laddad <ramnivas@exograph.dev> Co-authored-by: jokemanfire <hu.dingyang@zte.com.cn> Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com> Co-authored-by: Wang Ruobiao <ronbiaobiao@gmail.com> Co-authored-by: Sandro Hanea <40202887+sandrohanea@users.noreply.github.com> Co-authored-by: sandrohanea <me@sandro.rocks> Co-authored-by: Todsaporn Banjerdkit <katopz@gmail.com> Co-authored-by: Eitan Yarmush <eitan.yarmush@solo.io> Co-authored-by: Bob Liu <akagi201@gmail.com> Co-authored-by: z9rtm <moppi624@yahoo.co.jp> Co-authored-by: Alex Kesling <alex@kesling.co> Co-authored-by: Jonathan Hendler <jonathan.hendler@gmail.com> Co-authored-by: Ruangyot Nanchiang <Rayato159@gmail.com> Co-authored-by: A₿del ∞/21M <45264458+AbdelStark@users.noreply.github.com> Co-authored-by: byeblack <byeblack@users.noreply.github.com> Co-authored-by: byeblack <byeblack@misaki.red> Co-authored-by: Sandipsinh Dilipsinh Rathod <62684960+ssddOnTop@users.noreply.github.com> Co-authored-by: Rik Huijzer <rik.huijzer+github@gmail.com> Co-authored-by: Rik Huijzer <github@huijzer.xyz> Co-authored-by: Luke Francl <look@recursion.org> Co-authored-by: Ofer Affias <ofer.affias@gmail.com> Co-authored-by: Nora <193381513+nora-coder-dot@users.noreply.github.com> Co-authored-by: nora-coder-dot <nora6677@gmail.com> Co-authored-by: Eucalypt <eluvk.dev@gmail.com> Co-authored-by: Paul Ellenbogen <PaulEllenbogen@gmail.com> Co-authored-by: Paul Ellenbogen <pe5@cs.princeton.edu> Co-authored-by: Mauro Sardara <11283032+msardara@users.noreply.github.com> Co-authored-by: Andrew Culberson <46251362+the-rooster@users.noreply.github.com> Co-authored-by: Dennis Kawurek <dennis.kawurek@hotmail.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants