Ambur MCP server
by drewstaylor
Ambur MCP server is a server implemented in Rust that wraps Ambur query and execute entry point messages. It's designed to be broadcast by a signer.
Last updated: N/A
Ambur MCP server
MCP server in Rust, for wrapping Ambur query and execute entry point messages to be broadcast by a signer.
Building this project
To build this project requires the nightly
build of Rust, this will allow using edition 2024 of rustc.
# Switch rustc to `nightly` channel
rustup default nightly
# Build for development
cargo build
# Build for deployment
cargo build --release
Connecting MCP to Claude Desktop
For default setups, build a release binary and point the mcp server's command
to its path. No run arguments (args
) are required:
// claude_desktop_config.json
{
"mcpServers": {
"ambur": {
"command": "/your-computer-path/ambur-mcp/target/release/ambur-mcp",
"args": []
}
}
}
For Virtual Machine setups and WSL users, execute the VM as the command
and use run arguments (args
) to point the VM where to run the binary:
// claude_desktop_config.json
{
"mcpServers": {
"ambur": {
"command": "wsl.exe",
"args": [
"bash",
"-ic",
"/your-vm-path/ambur-mcp/target/release/ambur-mcp",
]
}
}
}
Connecting MCP to LangGraph
@langchain/mcp-adapters must be installed in the graph project. This package will conver the MCP endpoints into Graph tools.
Using @langchain/mcp-adapters
// graph.ts
import { MultiServerMCPClient } from "@langchain/mcp-adapters";
// ...
// Create client and connect to server
const client = new MultiServerMCPClient({
throwOnLoadError: true,
prefixToolNameWithServerName: true,
additionalToolNamePrefix: "mcp",
mcpServers: {
ambur: {
transport: "stdio",
command: "~/mcp-servers/ambur-mcp", // path to pre-built linux binary
// stored in the Graph repo
args: [],
restart: {
enabled: true,
maxAttempts: 3,
delayMs: 1000,
},
},
},
});
const tools = await client.getTools();
// ...