Rust MCP server¶
The Rust MCP server is included in the Windows x64 and Linux x86_64 Rust packages. It communicates with MCP clients using JSON-RPC messages over standard input/output.
Package paths¶
After extracting a release package, launch:
Windows: <package>\bin\streamfind-rust-mcp.exe
Linux: <package>/bin/streamfind-rust-mcp
Keep share/streamfind/catalogue.duckdb and catalogue.json with the
package. The DuckDB catalogue is required runtime data for the MCP server.
Project and Operation flow¶
A typical client or AI agent uses this sequence:
- call
initializeand read its usage instructions; - call
tools/listto discover callable Operations; - call
createfor a new project; - call
describe,get_domain, orget_metadata; - call domain Operations with explicit
database_pathandproject_id.
Example requests, one JSON object per line:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"create","arguments":{"database_path":"demo.duckdb","project_id":"demo","domain":"mass_spec"}}}
{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"mass_spec.get_analyses_info","arguments":{"database_path":"demo.duckdb","project_id":"demo"}}}
Direct domain Operations are stateless and do not require connect or
close.
Workflow Methods¶
Workflow Methods are processing steps, not MCP tools. To use them:
- call
connectwith an existingdatabase_pathandproject_id; - call
get_available_methodsto discover Methods and their complete schemas; - use
add_methodorset_workflowto create the ordered workflow; - call
validate_workflow; - call
run_workfloworrun_method; - call
closewhen finished.
tools/list exposes Operations before connection; it is not the Method
discovery endpoint.
Rust CLI¶
The Rust package also includes a CLI for project creation and inspection:
streamfind-rust-cli create --help
streamfind-rust-cli describe --help
MCP client configuration¶
Configure an MCP client to launch the extracted Rust executable over stdio.
If the catalogue is stored separately, set STREAMFIND_CATALOGUE to the path
of catalogue.duckdb; otherwise keep the packaged catalogue in place.
Optional tools such as Open Babel, Java, and MetFrag are separate dependencies and are not installed automatically by the native package.