mcp-client-console 0.2.0__tar.gz → 0.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. mcp_client_console-0.2.2/PKG-INFO +93 -0
  2. mcp_client_console-0.2.2/README.md +80 -0
  3. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/pyproject.toml +1 -1
  4. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/cli.py +4 -0
  5. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/config_default.toml +1 -1
  6. mcp_client_console-0.2.0/PKG-INFO +0 -160
  7. mcp_client_console-0.2.0/README.md +0 -147
  8. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/.gitignore +0 -0
  9. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/LICENSE +0 -0
  10. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/__init__.py +0 -0
  11. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/client.py +0 -0
  12. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/config_loader.py +0 -0
  13. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/llm/__init__.py +0 -0
  14. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/llm/orchestrator.py +0 -0
  15. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/llm/provider_api.py +0 -0
  16. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/llm/provider_base.py +0 -0
  17. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/llm/provider_local.py +0 -0
  18. {mcp_client_console-0.2.0 → mcp_client_console-0.2.2}/src/mcp_client_console/terminal.py +0 -0
@@ -0,0 +1,93 @@
1
+ Metadata-Version: 2.4
2
+ Name: mcp-client-console
3
+ Version: 0.2.2
4
+ Summary: MCP client that connects to a remote MCP server
5
+ Project-URL: Homepage, https://github.com/geomux/mcp-client-console
6
+ License-Expression: MIT
7
+ License-File: LICENSE
8
+ Requires-Python: >=3.11
9
+ Requires-Dist: httpx<1,>=0.27
10
+ Requires-Dist: mcp<2,>=1.25
11
+ Requires-Dist: platformdirs>4.0
12
+ Description-Content-Type: text/markdown
13
+
14
+ # mcp-client-console
15
+
16
+ MCP client that connects to a remote MCP server, LLM backend (API key or local model) and preset configuration files.
17
+
18
+ *Intended for use within private network for Cybersecurity purposes.*
19
+
20
+ ```
21
+ System: {user} <--> mcp-client-console <--> network <--> {box} <--> mcp-server-remote <--> tools
22
+ Client: {user} <--> cli.py <--> client.py <--> mcp SDK <--> * <--> mcp-server-remote
23
+ ```
24
+
25
+ ## User Guide | LLM Backend Setup
26
+
27
+ *Skip this section if using an API LLM connection.* For a local model, set up Ollama before installing the client:
28
+
29
+ ```bash
30
+ curl -fsSL https://ollama.com/install.sh | sh # Linux. macOS: brew install ollama. Windows: winget install Ollama.Ollama
31
+ ollama pull qwen2.5:14b # default model in config_default.toml
32
+ ollama list # confirm Ollama is running and the model is pulled
33
+ ```
34
+
35
+ To use a different model, pull it the same way and update `model` under `[llm.local]` in your `config.toml` to match the tag exactly. `host` under `[llm.local]` must include the full scheme: `http://127.0.0.1:11434` — not `127.0.0.1:11434`.
36
+
37
+ ## User Guide | Installation
38
+
39
+ Users:
40
+
41
+ ```bash
42
+ pipx install mcp-client-console
43
+ mcp-client-console
44
+ ```
45
+
46
+ Developers:
47
+
48
+ ```bash
49
+ git clone https://github.com/geomux/mcp-client-console.git
50
+ cd mcp-client-console
51
+ python3 -m venv .venv && source .venv/bin/activate
52
+ pip install -e .
53
+ mcp-client-console
54
+ ```
55
+
56
+ ## User Guide | Configuration
57
+
58
+ First run creates a default `config.toml` and prints its filepath (the `/config` command in the terminal chat prints it too). Edit it — populate with server name, url, token:
59
+
60
+ ```toml
61
+ [server]
62
+ name = "Box_1"
63
+ url = "http://127.0.0.1:9000/mcp"
64
+ ```
65
+
66
+ | OS | Config filepath |
67
+ | ------- | -------------------------------------------------------------- |
68
+ | Linux | `~/.config/mcp-client-console/config.toml` |
69
+ | macOS | `~/Library/Application Support/mcp-client-console/config.toml` |
70
+ | Windows | `%LOCALAPPDATA%\mcp-client-console\config.toml` |
71
+
72
+ ## User Guide | Operation
73
+
74
+ Start your MCP server first (see repos below) and confirm the client is configured to reach it. The client connects, performs the MCP handshake, and lists the server's tools. Use LLM natural language in the CLI to access tools on the remote box:
75
+
76
+ ```
77
+ $ mcp-client-console
78
+ Connected to Box_1 @ http://127.0.0.1:9000/mcp
79
+
80
+ How may I help you today?
81
+ ```
82
+
83
+ ## Related / Required Repos
84
+
85
+ - [mcp-server-remote](https://github.com/geomux/mcp-server-remote)
86
+ - [mcp-gateway-remote](https://github.com/geomux/mcp-gateway-remote)
87
+
88
+ ## Project Status
89
+
90
+ - [x] Create MCP client repo
91
+ - [x] Connect to MCP server locally
92
+ - [x] LLM backend (API / local Ollama) added to client
93
+ - [ ] Connect to MCP server remotely with TLS + bearer auth
@@ -0,0 +1,80 @@
1
+ # mcp-client-console
2
+
3
+ MCP client that connects to a remote MCP server, LLM backend (API key or local model) and preset configuration files.
4
+
5
+ *Intended for use within private network for Cybersecurity purposes.*
6
+
7
+ ```
8
+ System: {user} <--> mcp-client-console <--> network <--> {box} <--> mcp-server-remote <--> tools
9
+ Client: {user} <--> cli.py <--> client.py <--> mcp SDK <--> * <--> mcp-server-remote
10
+ ```
11
+
12
+ ## User Guide | LLM Backend Setup
13
+
14
+ *Skip this section if using an API LLM connection.* For a local model, set up Ollama before installing the client:
15
+
16
+ ```bash
17
+ curl -fsSL https://ollama.com/install.sh | sh # Linux. macOS: brew install ollama. Windows: winget install Ollama.Ollama
18
+ ollama pull qwen2.5:14b # default model in config_default.toml
19
+ ollama list # confirm Ollama is running and the model is pulled
20
+ ```
21
+
22
+ To use a different model, pull it the same way and update `model` under `[llm.local]` in your `config.toml` to match the tag exactly. `host` under `[llm.local]` must include the full scheme: `http://127.0.0.1:11434` — not `127.0.0.1:11434`.
23
+
24
+ ## User Guide | Installation
25
+
26
+ Users:
27
+
28
+ ```bash
29
+ pipx install mcp-client-console
30
+ mcp-client-console
31
+ ```
32
+
33
+ Developers:
34
+
35
+ ```bash
36
+ git clone https://github.com/geomux/mcp-client-console.git
37
+ cd mcp-client-console
38
+ python3 -m venv .venv && source .venv/bin/activate
39
+ pip install -e .
40
+ mcp-client-console
41
+ ```
42
+
43
+ ## User Guide | Configuration
44
+
45
+ First run creates a default `config.toml` and prints its filepath (the `/config` command in the terminal chat prints it too). Edit it — populate with server name, url, token:
46
+
47
+ ```toml
48
+ [server]
49
+ name = "Box_1"
50
+ url = "http://127.0.0.1:9000/mcp"
51
+ ```
52
+
53
+ | OS | Config filepath |
54
+ | ------- | -------------------------------------------------------------- |
55
+ | Linux | `~/.config/mcp-client-console/config.toml` |
56
+ | macOS | `~/Library/Application Support/mcp-client-console/config.toml` |
57
+ | Windows | `%LOCALAPPDATA%\mcp-client-console\config.toml` |
58
+
59
+ ## User Guide | Operation
60
+
61
+ Start your MCP server first (see repos below) and confirm the client is configured to reach it. The client connects, performs the MCP handshake, and lists the server's tools. Use LLM natural language in the CLI to access tools on the remote box:
62
+
63
+ ```
64
+ $ mcp-client-console
65
+ Connected to Box_1 @ http://127.0.0.1:9000/mcp
66
+
67
+ How may I help you today?
68
+ ```
69
+
70
+ ## Related / Required Repos
71
+
72
+ - [mcp-server-remote](https://github.com/geomux/mcp-server-remote)
73
+ - [mcp-gateway-remote](https://github.com/geomux/mcp-gateway-remote)
74
+
75
+ ## Project Status
76
+
77
+ - [x] Create MCP client repo
78
+ - [x] Connect to MCP server locally
79
+ - [x] LLM backend (API / local Ollama) added to client
80
+ - [ ] Connect to MCP server remotely with TLS + bearer auth
@@ -11,7 +11,7 @@ packages = ["src/mcp_client_console"]
11
11
  # Config project stuff
12
12
  [project]
13
13
  name = "mcp-client-console"
14
- version = "0.2.0"
14
+ version = "0.2.2"
15
15
  description = "MCP client that connects to a remote MCP server"
16
16
  readme = "README.md"
17
17
  license = "MIT"
@@ -41,6 +41,10 @@ async def async_main(server: dict, config: dict):
41
41
  print(header_text("[ CONNECTED SERVER ]"))
42
42
  print(f"\n{server['name']} @ {server['url']}\n")
43
43
  print("_" * WIDTH)
44
+ print(header_text("[ ACTIVE MODEL ]"))
45
+ llm = config["llm"]
46
+ print(f"\n{llm[llm['provider']]['model']} ({llm['provider']})\n")
47
+ print("_" * WIDTH)
44
48
  print(header_text("[ AVAILABLE TOOLS ]"))
45
49
  for name, description, _ in tools: # "_" here is for the currently unused inputSchema attribute
46
50
  name_text = subheader_text(f"Name: {name}")
@@ -40,7 +40,7 @@ provider = "local" # "local" or "api" (where your LLM is located)
40
40
  max_steps = 6 # max tool calls per message (save tokens/runaway loops)
41
41
 
42
42
  [llm.local]
43
- model = "llama3.1:8b" # get your tag exactly as listed by command: ollama list
43
+ model = "qwen2.5:14b" # get your tag exactly as listed by command: ollama list
44
44
  host = "http://127.0.0.1:11434" # where ollama server listens
45
45
 
46
46
  [llm.api]
@@ -1,160 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: mcp-client-console
3
- Version: 0.2.0
4
- Summary: MCP client that connects to a remote MCP server
5
- Project-URL: Homepage, https://github.com/geomux/mcp-client-console
6
- License-Expression: MIT
7
- License-File: LICENSE
8
- Requires-Python: >=3.11
9
- Requires-Dist: httpx<1,>=0.27
10
- Requires-Dist: mcp<2,>=1.25
11
- Requires-Dist: platformdirs>4.0
12
- Description-Content-Type: text/markdown
13
-
14
- # mcp-client-console
15
-
16
- MCP client that connects to a remote MCP server, LLM backend (API key or local model) and preset configuration files.
17
-
18
- *Intented for use within private network for Cybersecurity purposes.*
19
-
20
- ### Remote MCP System Architecture Flowchart
21
-
22
- {user} <--> mcp-client-console <--> network <--> {box} <--> mcp-server-remote <--> tools
23
-
24
- ### mcp-client-console Architecture Flowchart
25
-
26
- {user} <--> cli.py <--> client.py <--> mcp SDK <--> * <--> mcp-server-remote
27
-
28
- ## User Guide | Installation
29
-
30
- ### Users: install commands
31
- :~$ pipx install mcp-client-console
32
- :~$ mcp-client-console
33
-
34
- ### Developers: install commands
35
- :~$ git clone https://github.com/geomux/mcp-client-console.git
36
- :~$ cd mcp-client-console
37
- :~$ python3 -m venv .venv
38
- :~$ source .venv/bin/activate
39
- :~$ pip install -e .
40
- :~$ mcp-client-console
41
-
42
- ## User Guide | Configuration
43
-
44
- **See local LLM installation guide at the bottom of this README**
45
-
46
- First run will create a default config.toml file and print the filepath to the config file.
47
-
48
- Navigate to the filepath, edit the config file- populate with server name, url, token.
49
-
50
- *The client reads from "config.toml" to locate and access remote MCP server.*
51
-
52
-
53
- EXAMPLE:
54
- ```
55
- [server]
56
- name = "Box_1"
57
- url = "http://127.0.0.1:9000/mcp"
58
- ```
59
- ### OS Config Filepath
60
- **Linux:** ~/.config/mcp-client-console/config.toml
61
- **macOS:** ~/Library/Application Support/mcp-client-console/config.toml
62
- **Windows:** %LOCALAPPDATA%\mcp-client-console\config.toml
63
-
64
- /config command may be used to print filepath within the termianl chat.
65
-
66
-
67
- ## User Guide | Operation
68
-
69
- Start your MCP server first, see related / requires repos below.
70
-
71
- Confirm the MCP client is configured to connect to the remote server location.
72
-
73
- *The client connects, performs MCP handshake, lists the available tools via the server.*
74
-
75
- Use LLM natural language processing in CLI to access tools on remote box.
76
-
77
- EXAMPLE:
78
- ```
79
- :~$ mcp-client-console
80
- Connected to Box_1 @ http://127.0.0.1:9000/mcp
81
- ___
82
-
83
- How may I help you today?
84
-
85
- ```
86
-
87
- ## Related / Required Repos
88
-
89
- ### mcp-server-remote
90
- https://github.com/geomux/mcp-server-remote
91
-
92
- ### mcp-gateway-remote
93
- https://github.com/geomux/mcp-gateway-remote
94
-
95
-
96
-
97
- ## User Guide | LLM Backend Setup
98
-
99
- If using a local LLM connection, review your config file to confirm the default is enabled. You will need Ollama installed and running and your chosen/installed model named in the config file.
100
-
101
- *Skip this section if using an API LLM connection*
102
-
103
- ### Install Ollama
104
-
105
- **Linux:**
106
- :~$ curl -fsSL https://ollama.com/install.sh | sh
107
-
108
- **macOS:**
109
- :~$ brew install ollama
110
- :~$ brew services start ollama
111
-
112
- *(or download the macOS app directly: https://ollama.com/download)*
113
-
114
- **Windows (PowerShell):**
115
- PS> winget install Ollama.Ollama
116
-
117
- *(or download the installer directly: https://ollama.com/download)*
118
-
119
- ### Pull a model
120
-
121
- Default model used by `config_default.toml` is `llama3.1:8b`. Pull it with:
122
-
123
- :~$ ollama pull llama3.1:8b
124
-
125
- To use a different model, pull it the same way, then update `model` under
126
- `[llm.local]` in your `config.toml` to match the tag exactly.
127
-
128
- ### Confirm Ollama is running
129
-
130
- :~$ ollama list
131
-
132
- This should show your pulled model. If Ollama isn't running, start it with:
133
-
134
- **Linux/macOS:**
135
- :~$ ollama serve
136
-
137
- **Windows:**
138
- Ollama runs automatically as a background service after install.
139
-
140
- ### Confirm Local LLM within Ollama runs
141
-
142
- :~$ ollama run llama3.1:8b
143
-
144
- ### Confirm the client can reach it
145
-
146
- `host` in `config.toml` under `[llm.local]` must include the full scheme:
147
-
148
- host = "http://127.0.0.1:11434" # correct
149
- host = "127.0.0.1:11434" # will fail — missing http://
150
-
151
-
152
- ## --
153
- ## Project Status
154
- ## --
155
- - [x] Create MCP client repo
156
- - [x] Connect to MCP server locally
157
- - [x] LLM backend (API / local Ollama) added to client
158
- - [ ] Connect to MCP server remotely with TLS + bearer auth
159
-
160
-
@@ -1,147 +0,0 @@
1
- # mcp-client-console
2
-
3
- MCP client that connects to a remote MCP server, LLM backend (API key or local model) and preset configuration files.
4
-
5
- *Intented for use within private network for Cybersecurity purposes.*
6
-
7
- ### Remote MCP System Architecture Flowchart
8
-
9
- {user} <--> mcp-client-console <--> network <--> {box} <--> mcp-server-remote <--> tools
10
-
11
- ### mcp-client-console Architecture Flowchart
12
-
13
- {user} <--> cli.py <--> client.py <--> mcp SDK <--> * <--> mcp-server-remote
14
-
15
- ## User Guide | Installation
16
-
17
- ### Users: install commands
18
- :~$ pipx install mcp-client-console
19
- :~$ mcp-client-console
20
-
21
- ### Developers: install commands
22
- :~$ git clone https://github.com/geomux/mcp-client-console.git
23
- :~$ cd mcp-client-console
24
- :~$ python3 -m venv .venv
25
- :~$ source .venv/bin/activate
26
- :~$ pip install -e .
27
- :~$ mcp-client-console
28
-
29
- ## User Guide | Configuration
30
-
31
- **See local LLM installation guide at the bottom of this README**
32
-
33
- First run will create a default config.toml file and print the filepath to the config file.
34
-
35
- Navigate to the filepath, edit the config file- populate with server name, url, token.
36
-
37
- *The client reads from "config.toml" to locate and access remote MCP server.*
38
-
39
-
40
- EXAMPLE:
41
- ```
42
- [server]
43
- name = "Box_1"
44
- url = "http://127.0.0.1:9000/mcp"
45
- ```
46
- ### OS Config Filepath
47
- **Linux:** ~/.config/mcp-client-console/config.toml
48
- **macOS:** ~/Library/Application Support/mcp-client-console/config.toml
49
- **Windows:** %LOCALAPPDATA%\mcp-client-console\config.toml
50
-
51
- /config command may be used to print filepath within the termianl chat.
52
-
53
-
54
- ## User Guide | Operation
55
-
56
- Start your MCP server first, see related / requires repos below.
57
-
58
- Confirm the MCP client is configured to connect to the remote server location.
59
-
60
- *The client connects, performs MCP handshake, lists the available tools via the server.*
61
-
62
- Use LLM natural language processing in CLI to access tools on remote box.
63
-
64
- EXAMPLE:
65
- ```
66
- :~$ mcp-client-console
67
- Connected to Box_1 @ http://127.0.0.1:9000/mcp
68
- ___
69
-
70
- How may I help you today?
71
-
72
- ```
73
-
74
- ## Related / Required Repos
75
-
76
- ### mcp-server-remote
77
- https://github.com/geomux/mcp-server-remote
78
-
79
- ### mcp-gateway-remote
80
- https://github.com/geomux/mcp-gateway-remote
81
-
82
-
83
-
84
- ## User Guide | LLM Backend Setup
85
-
86
- If using a local LLM connection, review your config file to confirm the default is enabled. You will need Ollama installed and running and your chosen/installed model named in the config file.
87
-
88
- *Skip this section if using an API LLM connection*
89
-
90
- ### Install Ollama
91
-
92
- **Linux:**
93
- :~$ curl -fsSL https://ollama.com/install.sh | sh
94
-
95
- **macOS:**
96
- :~$ brew install ollama
97
- :~$ brew services start ollama
98
-
99
- *(or download the macOS app directly: https://ollama.com/download)*
100
-
101
- **Windows (PowerShell):**
102
- PS> winget install Ollama.Ollama
103
-
104
- *(or download the installer directly: https://ollama.com/download)*
105
-
106
- ### Pull a model
107
-
108
- Default model used by `config_default.toml` is `llama3.1:8b`. Pull it with:
109
-
110
- :~$ ollama pull llama3.1:8b
111
-
112
- To use a different model, pull it the same way, then update `model` under
113
- `[llm.local]` in your `config.toml` to match the tag exactly.
114
-
115
- ### Confirm Ollama is running
116
-
117
- :~$ ollama list
118
-
119
- This should show your pulled model. If Ollama isn't running, start it with:
120
-
121
- **Linux/macOS:**
122
- :~$ ollama serve
123
-
124
- **Windows:**
125
- Ollama runs automatically as a background service after install.
126
-
127
- ### Confirm Local LLM within Ollama runs
128
-
129
- :~$ ollama run llama3.1:8b
130
-
131
- ### Confirm the client can reach it
132
-
133
- `host` in `config.toml` under `[llm.local]` must include the full scheme:
134
-
135
- host = "http://127.0.0.1:11434" # correct
136
- host = "127.0.0.1:11434" # will fail — missing http://
137
-
138
-
139
- ## --
140
- ## Project Status
141
- ## --
142
- - [x] Create MCP client repo
143
- - [x] Connect to MCP server locally
144
- - [x] LLM backend (API / local Ollama) added to client
145
- - [ ] Connect to MCP server remotely with TLS + bearer auth
146
-
147
-