mcptoai 0.1.0__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.
- mcptoai-0.1.0/LICENSE +21 -0
- mcptoai-0.1.0/MANIFEST.in +13 -0
- mcptoai-0.1.0/PKG-INFO +476 -0
- mcptoai-0.1.0/README.md +437 -0
- mcptoai-0.1.0/mcptoai.egg-info/PKG-INFO +476 -0
- mcptoai-0.1.0/mcptoai.egg-info/SOURCES.txt +36 -0
- mcptoai-0.1.0/mcptoai.egg-info/dependency_links.txt +1 -0
- mcptoai-0.1.0/mcptoai.egg-info/entry_points.txt +2 -0
- mcptoai-0.1.0/mcptoai.egg-info/requires.txt +14 -0
- mcptoai-0.1.0/mcptoai.egg-info/top_level.txt +1 -0
- mcptoai-0.1.0/mcptoai_linux/__init__.py +2 -0
- mcptoai-0.1.0/mcptoai_linux/__main__.py +4 -0
- mcptoai-0.1.0/mcptoai_linux/agent.py +203 -0
- mcptoai-0.1.0/mcptoai_linux/auth.py +334 -0
- mcptoai-0.1.0/mcptoai_linux/cli.py +850 -0
- mcptoai-0.1.0/mcptoai_linux/config.py +109 -0
- mcptoai-0.1.0/mcptoai_linux/credential_lock.py +253 -0
- mcptoai-0.1.0/mcptoai_linux/discover_cli.py +130 -0
- mcptoai-0.1.0/mcptoai_linux/jobs.py +380 -0
- mcptoai-0.1.0/mcptoai_linux/mcp_config.py +162 -0
- mcptoai-0.1.0/mcptoai_linux/mcp_oauth.py +217 -0
- mcptoai-0.1.0/mcptoai_linux/mcp_secrets.py +39 -0
- mcptoai-0.1.0/mcptoai_linux/paths.py +10 -0
- mcptoai-0.1.0/mcptoai_linux/policy.py +89 -0
- mcptoai-0.1.0/mcptoai_linux/provider_probe.py +20 -0
- mcptoai-0.1.0/mcptoai_linux/provider_registry.py +29 -0
- mcptoai-0.1.0/mcptoai_linux/providers/__init__.py +33 -0
- mcptoai-0.1.0/mcptoai_linux/providers/anthropic_provider.py +80 -0
- mcptoai-0.1.0/mcptoai_linux/providers/base.py +52 -0
- mcptoai-0.1.0/mcptoai_linux/providers/evren_provider.py +70 -0
- mcptoai-0.1.0/mcptoai_linux/providers/openai_provider.py +122 -0
- mcptoai-0.1.0/mcptoai_linux/relay_client.py +548 -0
- mcptoai-0.1.0/mcptoai_linux/secret_store.py +418 -0
- mcptoai-0.1.0/mcptoai_linux/service.py +92 -0
- mcptoai-0.1.0/mcptoai_linux/tools/__init__.py +5 -0
- mcptoai-0.1.0/mcptoai_linux/tools/host_tools.py +573 -0
- mcptoai-0.1.0/pyproject.toml +54 -0
- mcptoai-0.1.0/setup.cfg +4 -0
mcptoai-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 BKTY LTD
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
include LICENSE
|
|
2
|
+
include README.md
|
|
3
|
+
prune tests
|
|
4
|
+
global-exclude *.py[cod]
|
|
5
|
+
global-exclude __pycache__
|
|
6
|
+
global-exclude .DS_Store
|
|
7
|
+
global-exclude *.bak
|
|
8
|
+
global-exclude *.bak_*
|
|
9
|
+
global-exclude *.old
|
|
10
|
+
global-exclude *.orig
|
|
11
|
+
global-exclude *.tmp
|
|
12
|
+
global-exclude .env
|
|
13
|
+
global-exclude .env.*
|
mcptoai-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mcptoai
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: MCPtoAI for Linux: chat with AI on your server from the web, your phone or the terminal
|
|
5
|
+
Author-email: BKTY LTD <info@bktyconsultancy.co.uk>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://mcptoai.com
|
|
8
|
+
Project-URL: Documentation, https://mcptoai.com/how-it-works/
|
|
9
|
+
Project-URL: Privacy, https://mcptoai.com/privacy/
|
|
10
|
+
Project-URL: Terms, https://mcptoai.com/terms/
|
|
11
|
+
Keywords: mcp,ai,agent,llm,remote,server,cli
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: System Administrators
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: System :: Systems Administration
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: fastmcp==2.14.7
|
|
25
|
+
Requires-Dist: mcp==1.30.0
|
|
26
|
+
Requires-Dist: httpx==0.28.1
|
|
27
|
+
Requires-Dist: websockets==15.0.1
|
|
28
|
+
Requires-Dist: PyJWT[crypto]==2.15.1
|
|
29
|
+
Requires-Dist: cryptography==50.0.2
|
|
30
|
+
Requires-Dist: keyring==25.7.0
|
|
31
|
+
Requires-Dist: python-dotenv==1.2.4
|
|
32
|
+
Requires-Dist: Pillow==12.3.0
|
|
33
|
+
Requires-Dist: pydantic==2.13.5
|
|
34
|
+
Requires-Dist: anyio==4.15.1
|
|
35
|
+
Requires-Dist: openai==3.23.0
|
|
36
|
+
Requires-Dist: anthropic==1.11.0
|
|
37
|
+
Requires-Dist: packaging==26.3
|
|
38
|
+
Dynamic: license-file
|
|
39
|
+
|
|
40
|
+
# MCPtoAI for Linux
|
|
41
|
+
|
|
42
|
+
MCPtoAI connects a Linux machine to AI so you can work with it from the MCPtoAI web app, your phone, or directly from a terminal over SSH.
|
|
43
|
+
|
|
44
|
+
Your AI provider credentials stay on the machine. Filesystem access is workspace-scoped, terminal execution is disabled by default, and actions that require approval remain under your control.
|
|
45
|
+
|
|
46
|
+
## What you can do
|
|
47
|
+
|
|
48
|
+
- **Remote chat** — use your Linux machine from `app.mcptoai.com` or a phone.
|
|
49
|
+
- **Choose your AI provider and model** — configure provider keys locally and switch models without reinstalling the agent.
|
|
50
|
+
- **Use MCP servers** — connect remote HTTPS Streamable HTTP MCP servers or local stdio MCP servers.
|
|
51
|
+
- **Work with files** — expose a controlled workspace rather than your entire filesystem.
|
|
52
|
+
- **Run long jobs** — follow builds, training jobs, scripts and other background work across chat sessions.
|
|
53
|
+
- **Use the terminal** — `mcptoai chat` works over SSH without opening a browser.
|
|
54
|
+
- **Run continuously** — install a systemd user service, or run MCPtoAI in Docker.
|
|
55
|
+
|
|
56
|
+
## Requirements
|
|
57
|
+
|
|
58
|
+
For a normal Python installation:
|
|
59
|
+
|
|
60
|
+
- Linux
|
|
61
|
+
- Python 3.11 or newer
|
|
62
|
+
- a logged-in MCPtoAI account
|
|
63
|
+
- an API key for the AI provider you want to use, unless that provider does not require one
|
|
64
|
+
|
|
65
|
+
Docker does not require a host Python installation.
|
|
66
|
+
|
|
67
|
+
## Install
|
|
68
|
+
|
|
69
|
+
### pipx — recommended
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
pipx install mcptoai
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
`pipx` keeps the CLI isolated from system Python packages while still making the `mcptoai` command available globally for your user.
|
|
76
|
+
|
|
77
|
+
### pip
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
python3 -m pip install mcptoai
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Check the installation
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
mcptoai --version
|
|
87
|
+
mcptoai --help
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 60-second quick start
|
|
91
|
+
|
|
92
|
+
Pair the machine:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
mcptoai login
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Save a provider API key. The key is requested through a hidden prompt and is not passed as a command-line argument:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
mcptoai keys set anthropic
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
See available models and choose one:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
mcptoai models anthropic
|
|
108
|
+
mcptoai use anthropic <model-id>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Keep the device connected in the background:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
mcptoai service install
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Verify the setup:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
mcptoai doctor
|
|
121
|
+
mcptoai status
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Then open `https://app.mcptoai.com` and select this Linux device.
|
|
125
|
+
|
|
126
|
+
## Command reference
|
|
127
|
+
|
|
128
|
+
The CLI has built-in documentation. Start with:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
mcptoai --help
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Every major command also has its own help page:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
mcptoai login --help
|
|
138
|
+
mcptoai keys --help
|
|
139
|
+
mcptoai models --help
|
|
140
|
+
mcptoai use --help
|
|
141
|
+
mcptoai workspace --help
|
|
142
|
+
mcptoai mcp --help
|
|
143
|
+
mcptoai shell --help
|
|
144
|
+
mcptoai jobs --help
|
|
145
|
+
mcptoai chat --help
|
|
146
|
+
mcptoai service --help
|
|
147
|
+
mcptoai update --help
|
|
148
|
+
mcptoai reset --help
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Account and diagnostics
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
mcptoai login # pair this machine
|
|
155
|
+
mcptoai logout # disconnect it without deleting local keys/settings
|
|
156
|
+
mcptoai status # current pairing/provider/vault/service/job state
|
|
157
|
+
mcptoai doctor # installation and configuration checks
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
`mcptoai doctor` returns a non-zero exit status when an important check fails, so it can also be used in scripts and deployment checks.
|
|
161
|
+
|
|
162
|
+
### Provider keys
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
mcptoai keys list
|
|
166
|
+
mcptoai keys set openai
|
|
167
|
+
mcptoai keys set anthropic
|
|
168
|
+
mcptoai keys remove openai
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Provider keys are deliberately **not accepted as command-line arguments**. This reduces accidental exposure through shell history and process listings.
|
|
172
|
+
|
|
173
|
+
### Models
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
mcptoai models
|
|
177
|
+
mcptoai models openai
|
|
178
|
+
mcptoai use openai <model-id>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`mcptoai models` without a provider uses the currently selected provider.
|
|
182
|
+
|
|
183
|
+
### Filesystem workspace
|
|
184
|
+
|
|
185
|
+
Show the current scope:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
mcptoai workspace show
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Restrict MCPtoAI file tools to one directory:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
mcptoai workspace set ~/projects/my-app
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Return to the default Desktop/Documents/Downloads scope:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
mcptoai workspace reset
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Changing the workspace restarts the background service if it is running.
|
|
204
|
+
|
|
205
|
+
## MCP servers
|
|
206
|
+
|
|
207
|
+
List configured MCP servers:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
mcptoai mcp list
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Remote HTTPS MCP
|
|
214
|
+
|
|
215
|
+
Add a Streamable HTTP MCP endpoint:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
mcptoai mcp add-http Cloudflare https://mcp.cloudflare.com/mcp
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Remote MCP URLs must use HTTPS. If the service uses OAuth, MCPtoAI starts the authorization flow during tool discovery.
|
|
222
|
+
|
|
223
|
+
### Local stdio MCP
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
mcptoai mcp add-stdio my-tools /path/to/server --arg value
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
A local stdio MCP server executes code on this machine with your Linux user permissions. For that reason it must be added locally and requires confirmation.
|
|
230
|
+
|
|
231
|
+
Remove a configured server using the id shown by `mcptoai mcp list`:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
mcptoai mcp remove mcp-0123456789ab
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Terminal command permission
|
|
238
|
+
|
|
239
|
+
Terminal execution and long-running jobs are controlled by a local permission:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
mcptoai shell status
|
|
243
|
+
mcptoai shell on
|
|
244
|
+
mcptoai shell off
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Important security properties:
|
|
248
|
+
|
|
249
|
+
- terminal execution is **off by default**;
|
|
250
|
+
- it can only be enabled locally on the Linux machine;
|
|
251
|
+
- a remote web client cannot turn it on;
|
|
252
|
+
- sensitive tool calls can still require explicit approval.
|
|
253
|
+
|
|
254
|
+
## Long-running jobs
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
mcptoai jobs list
|
|
258
|
+
mcptoai jobs show job-1234abcd
|
|
259
|
+
mcptoai jobs logs job-1234abcd
|
|
260
|
+
mcptoai jobs logs job-1234abcd --follow
|
|
261
|
+
mcptoai jobs stop job-1234abcd
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Jobs are kept independently of one model response, so a later chat/model session can still inspect their state.
|
|
265
|
+
|
|
266
|
+
## Terminal chat
|
|
267
|
+
|
|
268
|
+
Start a chat directly over SSH or a local terminal:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
mcptoai chat
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Override the configured model for that terminal session:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
mcptoai chat --provider openai --model <model-id>
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Inside terminal chat:
|
|
281
|
+
|
|
282
|
+
```text
|
|
283
|
+
/help
|
|
284
|
+
/model <model-id>
|
|
285
|
+
/provider <provider> <model-id>
|
|
286
|
+
/new
|
|
287
|
+
/jobs
|
|
288
|
+
/exit
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
When a tool needs approval, the terminal asks interactively. Non-interactive stdin does not silently approve tool calls.
|
|
292
|
+
|
|
293
|
+
## Background service
|
|
294
|
+
|
|
295
|
+
Install the systemd user service after pairing:
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
mcptoai service install
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Manage it with:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
mcptoai service status
|
|
305
|
+
mcptoai service restart
|
|
306
|
+
mcptoai service stop
|
|
307
|
+
mcptoai service start
|
|
308
|
+
mcptoai service logs
|
|
309
|
+
mcptoai service logs --follow
|
|
310
|
+
mcptoai service uninstall
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
For servers that must remain reachable after you log out, `mcptoai doctor` also checks whether systemd user lingering is enabled and shows the relevant `loginctl` command when needed.
|
|
314
|
+
|
|
315
|
+
For foreground/debug operation:
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
mcptoai connect
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
## Updating MCPtoAI
|
|
322
|
+
|
|
323
|
+
Check whether a newer CLI release is available on PyPI without changing anything:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
mcptoai update --check
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Install the latest release:
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
mcptoai update
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
MCPtoAI detects how the CLI was installed:
|
|
336
|
+
|
|
337
|
+
- **pipx** installations use `pipx upgrade mcptoai`;
|
|
338
|
+
- **pip / virtual environment** installations use the Python interpreter running MCPtoAI with `pip install --upgrade mcptoai`;
|
|
339
|
+
- if the MCPtoAI systemd user service was already running, it is restarted only after a successful update;
|
|
340
|
+
- if the upgrade fails, the running background service is left alone;
|
|
341
|
+
- **Docker** installations are not modified from inside the container. Pull the newer image and recreate/restart the container instead.
|
|
342
|
+
|
|
343
|
+
You can always confirm the installed version with:
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
mcptoai --version
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
## Docker
|
|
351
|
+
|
|
352
|
+
Pair using a persistent configuration volume:
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
docker run -it --rm \
|
|
356
|
+
-v mcptoai:/home/mcptoai/.config \
|
|
357
|
+
ghcr.io/abktya/mcptoai login
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Then run continuously:
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
docker run -d \
|
|
364
|
+
--name mcptoai \
|
|
365
|
+
--restart unless-stopped \
|
|
366
|
+
-v mcptoai:/home/mcptoai/.config \
|
|
367
|
+
ghcr.io/abktya/mcptoai
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
Inside Docker, the container restart policy replaces the systemd user service.
|
|
371
|
+
|
|
372
|
+
## Troubleshooting
|
|
373
|
+
|
|
374
|
+
Start with:
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
mcptoai status
|
|
378
|
+
mcptoai doctor
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
Check the background service:
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
mcptoai service status
|
|
385
|
+
mcptoai service logs -n 100
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Follow live logs:
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
mcptoai service logs --follow
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
For a Python traceback while debugging a CLI failure:
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
MCPTOAI_DEBUG=1 mcptoai <command>
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
If an AI provider is not ready:
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
mcptoai keys list
|
|
404
|
+
mcptoai models <provider>
|
|
405
|
+
mcptoai use <provider> <model-id>
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
If a remote MCP integration is not available, inspect configured servers with:
|
|
409
|
+
|
|
410
|
+
```bash
|
|
411
|
+
mcptoai mcp list
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
## Security model
|
|
415
|
+
|
|
416
|
+
MCPtoAI is designed so that connecting the machine does not automatically grant unrestricted execution access.
|
|
417
|
+
|
|
418
|
+
- Provider API keys are stored locally in the MCPtoAI vault.
|
|
419
|
+
- Keys are not accepted as normal CLI arguments.
|
|
420
|
+
- File tools are constrained to the configured workspace.
|
|
421
|
+
- Terminal execution is disabled by default and can only be enabled locally.
|
|
422
|
+
- Local stdio MCP servers require local confirmation because they execute code on the machine.
|
|
423
|
+
- Remote MCP endpoints must use HTTPS; OAuth integrations can authorize through their provider.
|
|
424
|
+
- Sensitive tool actions can require approval before execution.
|
|
425
|
+
- The device establishes an outbound connection; you do not need to expose an inbound MCPtoAI port on the server.
|
|
426
|
+
|
|
427
|
+
See the security documentation for the current threat model and implementation details: `https://mcptoai.com/security/`.
|
|
428
|
+
|
|
429
|
+
## Disconnect, uninstall and reset
|
|
430
|
+
|
|
431
|
+
Disconnect the device but keep local configuration:
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
mcptoai logout
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
Remove only the background service:
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
mcptoai service uninstall
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
Completely remove the local MCPtoAI configuration, provider credentials, MCP configuration, pairing and service:
|
|
444
|
+
|
|
445
|
+
```bash
|
|
446
|
+
mcptoai reset
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
`mcptoai reset` is destructive for **local MCPtoAI data on this machine**. It does not delete your MCPtoAI account or cloud-side account data.
|
|
450
|
+
|
|
451
|
+
To remove the Python package afterwards:
|
|
452
|
+
|
|
453
|
+
```bash
|
|
454
|
+
pipx uninstall mcptoai
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
or, if installed with pip:
|
|
458
|
+
|
|
459
|
+
```bash
|
|
460
|
+
python3 -m pip uninstall mcptoai
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
## License
|
|
464
|
+
|
|
465
|
+
The MCPtoAI Linux CLI/agent is available under the MIT License. The hosted MCPtoAI service, backend, relay, web application and trademarks are separate from the MIT-licensed client code.
|
|
466
|
+
|
|
467
|
+
## Links
|
|
468
|
+
|
|
469
|
+
- Product: `https://mcptoai.com/`
|
|
470
|
+
- Web app: `https://app.mcptoai.com/`
|
|
471
|
+
- How it works: `https://mcptoai.com/how-it-works/`
|
|
472
|
+
- Security: `https://mcptoai.com/security/`
|
|
473
|
+
- Privacy: `https://mcptoai.com/privacy/`
|
|
474
|
+
- Terms: `https://mcptoai.com/terms/`
|
|
475
|
+
|
|
476
|
+
© BKTY LTD
|