About mcp-tools-cli
mcp-tools-cli is a command-line client for users who need to inspect or invoke tools on MCP servers. It selects servers from a configuration file and offers tool listing and invocation actions.
Key features
- 01Connect to servers through a config file
- 02List available server tools
- 03Call a specified tool
- 04Set a custom config file path
Use cases
- 01Inspect tools offered by an MCP server
- 02Invoke an MCP tool from the command line
MCP support
As an MCP client, it starts and connects to a configured server using mcp_config.json, then lists or calls its tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-tools-cli
This is a command-line client for interacting with Model Context Protocol (MCP) servers.
Installation
You can install mcp-tools-cli using pip:
pip install mcp-tools-cli
Configuration
The client uses a configuration file named mcp_config.json to store the connection details for MCP servers. Create a file named mcp_config.json with the following content:
{
"mcpServers": {
"time": {
"command": "python",
"args": ["-m", "mcp_server_time", "--local-timezone=America/New_York"]
}
}
}
Replace the values with your own MCP server configurations.
Usage
mcp-tools-cli <action> --mcp-name <mcp_name> [options]
Arguments
action(required): The action to perform. Must be one of:list-tools: Lists the available tools on the MCP server.call-tool: Calls a specific tool on the MCP server.
--mcp-name(required): The name of the MCP server to connect to, as defined inmcp_config.json.--tool-name(required forcall-toolaction): The name of the tool to call.--tool-args(optional): Arguments for the tool. Can be a JSON string or a single string value. If a single string value is not a valid JSON, it will be passed as thequeryargument to the tool.--config-path(optional): Path to themcp_config.jsonfile. Defaults tomcp_config.jsonin the current directory.
Configuration
The client uses a configuration file named mcp_config.json to store the connection details for MCP servers. The file should be in the following format:
{
"mcpServers": {
"<mcp_name>": {
"command": "<command to run the server>",
"args": ["<argument1>", "<argument2>", ...],
"env": {
"<environment variable name>": "<environment variable value>",
...
}
},
...
}
}
Replace <mcp_name> with the name of your MCP server (e.g., time). The command, args, and env fields specify how to run the server.
Examples
A sample using the Time MCP Server is provided in mcp_config.sample.json. If you want to use this, please execute
pip install mcp-server-timebeforehand.
- List available tools:
mcp-tools-cli list-tools --mcp-name time --config-path mcp_config.sample.json
- Call the
get_current_timetool with a query:
mcp-tools-cli call-tool --mcp-name time --tool-name get_current_time --config-path mcp_config.sample.json
Error Handling
The client will print error messages to the console if any errors occur, such as:
- FileNotFoundError: If the config file is not found.
- json.JSONDecodeError: If the config file is not a valid JSON file.
- ValueError: If the MCP server is not found in the config file, or if the command is missing.
- argparse.ArgumentError: If there are invalid command-line arguments.
- Other exceptions during tool execution.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.