mcp-valve-1.0.0 is not a library.
mcp-valve
A unified MCP (Model Context Protocol) client that works with any MCP server through configurable profiles.
Design Philosophy
This tool is a thin wrapper around the MCP protocol.
- Tools are called by providing JSON arguments that conform to the
inputSchemafromtools/list - No validation or field name conversion occurs - the MCP server's schema is the source of truth
- If
tools/listshows a field namedX, useXexactly as-is in your JSON
Installation
# Or build from source:
Quick Start
# List configured servers
# List tools from a server
# Call a tool
# Read args from stdin
|
# Daemon mode (persistent connection)
Configuration
Server profiles are defined in ~/.claude/scripts/mcp-servers.json:
Profile Options
| Field | Type | Description |
|---|---|---|
command |
string[] |
Command and initial args to start the server |
default_args |
string[] |
Default arguments (overridden by --server-args) |
supports_daemon |
bool |
Enable daemon mode for persistent connections |
description |
string |
Human-readable description |
env |
object |
Environment variables to set |
Template Variables
Arguments support template expansion:
| Variable | Expands To |
|---|---|
{profile_dir} |
.mcp-profile/<server-name> |
{pid} |
Current process ID |
{cwd} |
Current working directory |
Commands
| Command | Description |
|---|---|
list-servers |
Show all configured servers |
list-tools |
List available tools from server |
call <tool> |
Call a tool with JSON arguments |
shell |
Interactive REPL mode |
start-daemon |
Start persistent daemon |
stop-daemon |
Stop running daemon |
daemon-status |
Check daemon status |
Daemon Mode
For servers that support it (supports_daemon: true), daemon mode keeps a persistent MCP connection:
# Start daemon (creates .mcp-profile/<server>/ in current directory)
# Calls automatically route through daemon
# Check status
# Stop daemon
Directory matters: Daemon state is stored in .mcp-profile/ in the current working directory. Different directories = separate daemon instances.
Auto-Fallback
When daemon is running, call automatically uses it. If daemon fails, falls back to STDIO mode.
Technical Details
- Protocol: MCP 2025-06-18 (JSON-RPC 2.0)
- Transport: STDIO (default) / Unix socket (daemon)
- Platform: Unix-like systems (uses nix crate for process management)
Dependencies
clap- CLI parsingserde/serde_json- JSON serializationanyhow- Error handlingnix- Unix system calls (umask, setsid, signals)
License
MIT