mcp-server-rust
by lotharschulz
A simple Rust function designed for integration with an MCP (Model Context Protocol) client, specifically for use with Claude Desktop. It allows you to extend Claude's capabilities with custom Rust-based functions.
Last updated: N/A
A simple Rust function integrated with an MCP client.
Step 1: Relase the Rust & Javascript/TS code
Release
npm run build:wasm:release // release rust code
npm install // create javascript file and install all npm dependencies
Step 2: Claude Desktop Configuration
Create a configuration file at:
{
"mcpServers": {
"mcp-server": {
"command": "node",
"args": [
"[your local path]/mcpserver/build/index.js"
]
}
}
}
locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
(source: https://modelcontextprotocol.info/docs/quickstart/user/#2-add-the-filesystem-mcp-server)
Step 3: Claude Desktop
Start Claude Desktop

Claude Desktop Initial View
Agree to use the mcp server function:

Allow MCP server
Observe the mcp server function:

factorial function used
Video
Watch the video tutorial here: YouTube video
Misc
Test the rust code
npm run test:rust
or
cd src/lib/rust-functions-lib
cargo test && cargo fmt --all -- --check
Clean the output files and folders
npm run clean
Build the rust code - alternatives
npm
npm run build:wasm
Alternative approach using wasm tool
cd src/lib/rust-functions-lib
wasm-pack build --target bundler
Build only ts code (npm)
npm build
Copy build Rust code
manual copy to the correct location - included in npm run build:wasm:release
mkdir -p build/lib/rust-functions-lib/pkg && cp src/lib/rust-functions-lib/pkg/rust_funcations_lib.js build/lib/rust-functions-lib/pkg/rust_funcations_lib.js
Rust import failed
issue:

rust import failed
solution:
run npm run build:wasm:release
to release the wasm-binding the factorial import depends on