| name | mcps |
| description | MCP CLI Manager - Manage MCP servers and call tools |
| homepage | https://github.com/maplezzk/mcps |
| metadata | {"clawdbot":{"emoji":"🔌","requires":{"bins":["mcps"]},"install":[{"id":"npm","kind":"node","package":"@maplezzk/mcps","bins":["mcps"],"label":"Install mcps"}]}} |
mcps - MCP CLI Manager
A powerful command-line tool for managing and calling MCP (Model Context Protocol) servers.
Installation
npm install -g @maplezzk/mcps
Configuration Examples
Adding Various MCP Servers
mcps add fetch --command uvx --args mcp-server-fetch
mcps add postgres --command npx --args @modelcontextprotocol/server-postgres --env POSTGRES_CONNECTION_STRING="${DATABASE_URL}"
mcps add gitlab --command npx --args gitlab-mcp-server
mcps add remote --type sse --url http://localhost:8000/sse
mcps add http-server --type http --url http://localhost:8000/mcp
Config File Example (~/.mcps/mcp.json)
{
"servers": [
{
"name": "fetch",
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
},
{
"name": "postgres",
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "${DATABASE_URL}"
}
},
{
"name": "gitlab",
Note: Use environment variables for sensitive data (${VAR_NAME} format).
Quick Start
mcps add fetch --command uvx --args mcp-server-fetch
mcps start
mcps status
mcps tools fetch
mcps call fetch fetch url="https://example.com"
Command Reference
Server Management
| Command | Description |
|---|
mcps ls | List all configured servers |
mcps add <name> --command <cmd> --args <args> | Add a new server |
mcps rm <name> | Remove a server |
mcps update [name] | Update server configuration |
mcps update <name> --disabled true | Disable a server |
Daemon Control
| Command | Description |
|---|
mcps start [--verbose] | Start daemon (verbose mode for debugging) |
mcps stop | Stop daemon |
mcps restart [server] | Restart daemon or specific server |
mcps status | Check daemon status |
Tool Invocation
| Command | Description |
|---|
mcps tools <server> [--simple] | List available tools |
mcps call <server> <tool> [args...] | Call a tool |
Tool Invocation: Parameter Passing
Default Mode (Auto JSON Parsing)
mcps call fetch fetch url="https://example.com"
mcps call fetch fetch max_length=5000 follow_redirects=true
mcps call my-server createUser user='{"name": "Alice", "age": 30}'
--raw Mode (Keep Values as Strings)
mcps call my-db createOrder --raw order_id="12345" sku="ABC-001"
mcps call alibaba-dms createDataChangeOrder --raw \
database_id="123" \
script="DELETE FROM table WHERE id = 'xxx';" \
logic="true"
--json Mode (Complex Parameters)
mcps call my-server createUser --json '{"name": "Alice", "age": 30}'
mcps call my-server createUser --json params.json
Real-World Usage Examples
Scenario 1: Web Scraping and Search
mcps call fetch fetch url="https://example.com" max_length=5000
mcps call fetch fetch url="https://example.com" follow_redirects=true max_depth=2
mcps call fetch fetch url="https://news.example.com" include_tags='["article", "p"]' exclude_tags='["script", "style"]'
Scenario 2: Database Query
mcps call postgres query sql="SELECT * FROM users WHERE active = true LIMIT 10"
mcps call postgres query --raw sql="SELECT * FROM orders WHERE id = '12345'"
Scenario 3: Complex Parameter Passing
mcps call my-server createUser user='{"name": "Alice", "age": 30, "tags": ["admin", "user"]}'
mcps call my-server createUser --json user.json
mcps call my-server update --raw id="123" data='{"name": "Updated"}'
Scenario 4: Server Management
mcps ls
mcps status
mcps restart postgres
mcps restart
mcps update my-server --disabled true
mcps rm my-server
Scenario 5: Tool Filtering and Search
mcps tools postgres --simple
mcps tools postgres --tool query --tool describe
mcps tools postgres --tool create
Configuration
- Config file:
~/.mcps/mcp.json
- Environment variables:
MCPS_CONFIG_DIR: Config directory
MCPS_PORT: Daemon port (default: 4100)
MCPS_VERBOSE: Verbose logging mode
FAQ
Q: How to check server status?
mcps status
mcps ls
Q: Server connection failed?
mcps start --verbose
mcps restart my-server
Q: How to quickly find tools?
mcps tools my-server --tool keyword
mcps tools my-server --simple
Q: Special characters in parameters (e.g., SQL)?
mcps call alibaba-dms createDataChangeOrder --raw \
database_id="123" \
script="DELETE FROM table WHERE id = 'xxx';" \
logic="true"
Q: Daemon starts slowly?
- First start loads all servers, 10-15 seconds is normal
- Subsequent starts are faster (~2 seconds)
- Use
mcps ls to check config without starting daemon