pythonanywhere-mcp-server 0.0.3__tar.gz → 0.0.5__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.
- {pythonanywhere_mcp_server-0.0.3/src/pythonanywhere_mcp_server.egg-info → pythonanywhere_mcp_server-0.0.5}/PKG-INFO +29 -29
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/README.md +29 -29
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/pyproject.toml +1 -1
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5/src/pythonanywhere_mcp_server.egg-info}/PKG-INFO +29 -29
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/LICENSE +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/setup.cfg +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/__init__.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/__main__.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/server.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/tools/__init__.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/tools/file.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/tools/schedule.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/tools/webapp.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server/tools/website.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server.egg-info/SOURCES.txt +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server.egg-info/dependency_links.txt +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server.egg-info/entry_points.txt +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server.egg-info/requires.txt +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/src/pythonanywhere_mcp_server.egg-info/top_level.txt +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_file_tools.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_schedule_tools.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_server.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_webapp_tools.py +0 -0
- {pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_website_tools.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pythonanywhere-mcp-server
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.5
|
|
4
4
|
Summary: PythonAnywhere Model Context Protocol Server
|
|
5
5
|
Author-email: PythonAnywhere Developers <developers@pythonanywhere.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -26,42 +26,42 @@ Dynamic: license-file
|
|
|
26
26
|
|
|
27
27
|
# PythonAnywhere Model Context Protocol Server
|
|
28
28
|
|
|
29
|
-
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
|
|
30
|
-
server acts as a bridge between AI-powered tools and your
|
|
31
|
-
[PythonAnywhere](https://www.pythonanywhere.com/) account, enabling secure,
|
|
32
|
-
programmatic management of files, websites, webapps, and scheduled tasks. By
|
|
33
|
-
exposing a standardized interface, it allows language models and automation
|
|
34
|
-
clients to perform operations—such as editing files, deploying web apps, or
|
|
35
|
-
scheduling jobs
|
|
29
|
+
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
|
|
30
|
+
server acts as a bridge between AI-powered tools and your
|
|
31
|
+
[PythonAnywhere](https://www.pythonanywhere.com/) account, enabling secure,
|
|
32
|
+
programmatic management of files, websites, webapps, and scheduled tasks. By
|
|
33
|
+
exposing a standardized interface, it allows language models and automation
|
|
34
|
+
clients to perform operations—such as editing files, deploying web apps, or
|
|
35
|
+
scheduling jobs -- on your behalf, all while maintaining fine-grained control
|
|
36
36
|
and auditability.
|
|
37
37
|
|
|
38
38
|
## Features
|
|
39
|
-
- **File management**: Read, upload, delete files and list directory trees.
|
|
39
|
+
- **File management**: Read, upload, delete files and list directory trees.
|
|
40
40
|
_(also enables debugging with direct access to log files, which are just
|
|
41
41
|
files on PythonAnywhere)_
|
|
42
42
|
- **ASGI Web app management**: Create, delete, reload, and list.
|
|
43
|
-
_(as described in the [PythonAnywhere ASGI
|
|
43
|
+
_(as described in the [PythonAnywhere ASGI
|
|
44
44
|
documentation](https://help.pythonanywhere.com/pages/ASGICommandLine))_
|
|
45
45
|
- **WSGI Web app management**: Reload only _(at the moment)_.
|
|
46
46
|
- **Scheduled task management**: List, create, update, and delete.
|
|
47
|
-
_(
|
|
48
|
-
scheduled
|
|
47
|
+
_(Note that this enables LLMs to execute arbitrary commands if a task is
|
|
48
|
+
scheduled too soon after creation and deleted after execution. For that we
|
|
49
49
|
would suggest running it with [mcp-server-time](https://pypi.org/project/mcp-server-time/)
|
|
50
50
|
as models easily get confused about time.)_
|
|
51
51
|
|
|
52
52
|
## Installation
|
|
53
|
-
MCP protocol is well-defined and supported by various clients, but
|
|
54
|
-
installation is different depending on the client you are using. We will
|
|
53
|
+
The MCP protocol is well-defined and supported by various clients, but
|
|
54
|
+
installation is different depending on the client you are using. We will
|
|
55
55
|
cover cases that we tried and tested.
|
|
56
56
|
|
|
57
57
|
In all cases, you need to have `uv` installed and available in your `PATH`.
|
|
58
58
|
|
|
59
|
-
Have your PythonAnywhere API token and username ready. You can find (or
|
|
60
|
-
generate) your API token in the [API section of your PythonAnywhere
|
|
59
|
+
Have your PythonAnywhere API token and username ready. You can find (or
|
|
60
|
+
generate) your API token in the [API section of your PythonAnywhere
|
|
61
61
|
account](https://www.pythonanywhere.com/account/#api_token).
|
|
62
62
|
|
|
63
63
|
### Desktop Extension - works with Claude Desktop
|
|
64
|
-
Probably the most straightforward way to install the MCP server is to use
|
|
64
|
+
Probably the most straightforward way to install the MCP server is to use
|
|
65
65
|
the [desktop extension](https://github.com/anthropics/dxt/) for Claude Desktop.
|
|
66
66
|
|
|
67
67
|
1. Open Claude Desktop.
|
|
@@ -75,7 +75,7 @@ Run:
|
|
|
75
75
|
```bash
|
|
76
76
|
claude mcp add pythonanywhere-mcp-server \
|
|
77
77
|
-e API_TOKEN=yourpythonanywhereapitoken \
|
|
78
|
-
-e LOGNAME=yourpythonanywhereusername \
|
|
78
|
+
-e LOGNAME=yourpythonanywhereusername \
|
|
79
79
|
-- uvx pythonanywhere-mcp-server
|
|
80
80
|
```
|
|
81
81
|
|
|
@@ -99,7 +99,7 @@ Add it to your `mcp.json`.
|
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
### Claude Desktop (manual setup) and Cursor:
|
|
102
|
-
Add it to `claude_desktop_config.json` (for Claude Desktop) or (`mcp.json`
|
|
102
|
+
Add it to `claude_desktop_config.json` (for Claude Desktop) or (`mcp.json`
|
|
103
103
|
for Cursor).
|
|
104
104
|
|
|
105
105
|
```json
|
|
@@ -120,20 +120,20 @@ for Cursor).
|
|
|
120
120
|
|
|
121
121
|
## Caveats
|
|
122
122
|
|
|
123
|
-
Direct integration of an LLM with your PythonAnywhere account offers
|
|
124
|
-
significant capabilities, but also introduces risks. We strongly advise
|
|
125
|
-
maintaining human oversight, especially for sensitive actions such as
|
|
123
|
+
Direct integration of an LLM with your PythonAnywhere account offers
|
|
124
|
+
significant capabilities, but also introduces risks. We strongly advise
|
|
125
|
+
maintaining human oversight, especially for sensitive actions such as
|
|
126
126
|
modifying or deleting files.
|
|
127
127
|
|
|
128
|
-
If you are running multiple MCP servers simultaneously, be
|
|
129
|
-
cautious
|
|
130
|
-
control, such as GitHub issues. These can become attack vectors. For more
|
|
128
|
+
If you are running multiple MCP servers simultaneously, be
|
|
129
|
+
cautious -- particularly if any server can access external resources you do not
|
|
130
|
+
control, such as GitHub issues. These can become attack vectors. For more
|
|
131
131
|
details, see [this story](https://simonwillison.net/2025/Jul/6/supabase-mcp-lethal-trifecta/).
|
|
132
132
|
|
|
133
133
|
## Implementation
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
in connection with [pythonanywhere-core](https://github.com/pythonanywhere/pythonanywhere-core)
|
|
137
|
-
package ([docs](https://core.pythonanywhere.com/))
|
|
138
|
-
API](https://help.pythonanywhere.com/pages/API/) and
|
|
135
|
+
The server uses the [python mcp sdk](https://github.com/modelcontextprotocol/python-sdk)
|
|
136
|
+
in connection with the [pythonanywhere-core](https://github.com/pythonanywhere/pythonanywhere-core)
|
|
137
|
+
package ([docs](https://core.pythonanywhere.com/)), which wraps a subset of the [PythonAnywhere
|
|
138
|
+
API](https://help.pythonanywhere.com/pages/API/) and may be expanded in
|
|
139
139
|
the future as needed.
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
# PythonAnywhere Model Context Protocol Server
|
|
2
2
|
|
|
3
|
-
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
|
|
4
|
-
server acts as a bridge between AI-powered tools and your
|
|
5
|
-
[PythonAnywhere](https://www.pythonanywhere.com/) account, enabling secure,
|
|
6
|
-
programmatic management of files, websites, webapps, and scheduled tasks. By
|
|
7
|
-
exposing a standardized interface, it allows language models and automation
|
|
8
|
-
clients to perform operations—such as editing files, deploying web apps, or
|
|
9
|
-
scheduling jobs
|
|
3
|
+
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
|
|
4
|
+
server acts as a bridge between AI-powered tools and your
|
|
5
|
+
[PythonAnywhere](https://www.pythonanywhere.com/) account, enabling secure,
|
|
6
|
+
programmatic management of files, websites, webapps, and scheduled tasks. By
|
|
7
|
+
exposing a standardized interface, it allows language models and automation
|
|
8
|
+
clients to perform operations—such as editing files, deploying web apps, or
|
|
9
|
+
scheduling jobs -- on your behalf, all while maintaining fine-grained control
|
|
10
10
|
and auditability.
|
|
11
11
|
|
|
12
12
|
## Features
|
|
13
|
-
- **File management**: Read, upload, delete files and list directory trees.
|
|
13
|
+
- **File management**: Read, upload, delete files and list directory trees.
|
|
14
14
|
_(also enables debugging with direct access to log files, which are just
|
|
15
15
|
files on PythonAnywhere)_
|
|
16
16
|
- **ASGI Web app management**: Create, delete, reload, and list.
|
|
17
|
-
_(as described in the [PythonAnywhere ASGI
|
|
17
|
+
_(as described in the [PythonAnywhere ASGI
|
|
18
18
|
documentation](https://help.pythonanywhere.com/pages/ASGICommandLine))_
|
|
19
19
|
- **WSGI Web app management**: Reload only _(at the moment)_.
|
|
20
20
|
- **Scheduled task management**: List, create, update, and delete.
|
|
21
|
-
_(
|
|
22
|
-
scheduled
|
|
21
|
+
_(Note that this enables LLMs to execute arbitrary commands if a task is
|
|
22
|
+
scheduled too soon after creation and deleted after execution. For that we
|
|
23
23
|
would suggest running it with [mcp-server-time](https://pypi.org/project/mcp-server-time/)
|
|
24
24
|
as models easily get confused about time.)_
|
|
25
25
|
|
|
26
26
|
## Installation
|
|
27
|
-
MCP protocol is well-defined and supported by various clients, but
|
|
28
|
-
installation is different depending on the client you are using. We will
|
|
27
|
+
The MCP protocol is well-defined and supported by various clients, but
|
|
28
|
+
installation is different depending on the client you are using. We will
|
|
29
29
|
cover cases that we tried and tested.
|
|
30
30
|
|
|
31
31
|
In all cases, you need to have `uv` installed and available in your `PATH`.
|
|
32
32
|
|
|
33
|
-
Have your PythonAnywhere API token and username ready. You can find (or
|
|
34
|
-
generate) your API token in the [API section of your PythonAnywhere
|
|
33
|
+
Have your PythonAnywhere API token and username ready. You can find (or
|
|
34
|
+
generate) your API token in the [API section of your PythonAnywhere
|
|
35
35
|
account](https://www.pythonanywhere.com/account/#api_token).
|
|
36
36
|
|
|
37
37
|
### Desktop Extension - works with Claude Desktop
|
|
38
|
-
Probably the most straightforward way to install the MCP server is to use
|
|
38
|
+
Probably the most straightforward way to install the MCP server is to use
|
|
39
39
|
the [desktop extension](https://github.com/anthropics/dxt/) for Claude Desktop.
|
|
40
40
|
|
|
41
41
|
1. Open Claude Desktop.
|
|
@@ -49,7 +49,7 @@ Run:
|
|
|
49
49
|
```bash
|
|
50
50
|
claude mcp add pythonanywhere-mcp-server \
|
|
51
51
|
-e API_TOKEN=yourpythonanywhereapitoken \
|
|
52
|
-
-e LOGNAME=yourpythonanywhereusername \
|
|
52
|
+
-e LOGNAME=yourpythonanywhereusername \
|
|
53
53
|
-- uvx pythonanywhere-mcp-server
|
|
54
54
|
```
|
|
55
55
|
|
|
@@ -73,7 +73,7 @@ Add it to your `mcp.json`.
|
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### Claude Desktop (manual setup) and Cursor:
|
|
76
|
-
Add it to `claude_desktop_config.json` (for Claude Desktop) or (`mcp.json`
|
|
76
|
+
Add it to `claude_desktop_config.json` (for Claude Desktop) or (`mcp.json`
|
|
77
77
|
for Cursor).
|
|
78
78
|
|
|
79
79
|
```json
|
|
@@ -94,20 +94,20 @@ for Cursor).
|
|
|
94
94
|
|
|
95
95
|
## Caveats
|
|
96
96
|
|
|
97
|
-
Direct integration of an LLM with your PythonAnywhere account offers
|
|
98
|
-
significant capabilities, but also introduces risks. We strongly advise
|
|
99
|
-
maintaining human oversight, especially for sensitive actions such as
|
|
97
|
+
Direct integration of an LLM with your PythonAnywhere account offers
|
|
98
|
+
significant capabilities, but also introduces risks. We strongly advise
|
|
99
|
+
maintaining human oversight, especially for sensitive actions such as
|
|
100
100
|
modifying or deleting files.
|
|
101
101
|
|
|
102
|
-
If you are running multiple MCP servers simultaneously, be
|
|
103
|
-
cautious
|
|
104
|
-
control, such as GitHub issues. These can become attack vectors. For more
|
|
102
|
+
If you are running multiple MCP servers simultaneously, be
|
|
103
|
+
cautious -- particularly if any server can access external resources you do not
|
|
104
|
+
control, such as GitHub issues. These can become attack vectors. For more
|
|
105
105
|
details, see [this story](https://simonwillison.net/2025/Jul/6/supabase-mcp-lethal-trifecta/).
|
|
106
106
|
|
|
107
107
|
## Implementation
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
in connection with [pythonanywhere-core](https://github.com/pythonanywhere/pythonanywhere-core)
|
|
111
|
-
package ([docs](https://core.pythonanywhere.com/))
|
|
112
|
-
API](https://help.pythonanywhere.com/pages/API/) and
|
|
113
|
-
the future as needed.
|
|
109
|
+
The server uses the [python mcp sdk](https://github.com/modelcontextprotocol/python-sdk)
|
|
110
|
+
in connection with the [pythonanywhere-core](https://github.com/pythonanywhere/pythonanywhere-core)
|
|
111
|
+
package ([docs](https://core.pythonanywhere.com/)), which wraps a subset of the [PythonAnywhere
|
|
112
|
+
API](https://help.pythonanywhere.com/pages/API/) and may be expanded in
|
|
113
|
+
the future as needed.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pythonanywhere-mcp-server"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.5"
|
|
8
8
|
description = "PythonAnywhere Model Context Protocol Server"
|
|
9
9
|
authors = [
|
|
10
10
|
{name = "PythonAnywhere Developers", email = "developers@pythonanywhere.com"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pythonanywhere-mcp-server
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.5
|
|
4
4
|
Summary: PythonAnywhere Model Context Protocol Server
|
|
5
5
|
Author-email: PythonAnywhere Developers <developers@pythonanywhere.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -26,42 +26,42 @@ Dynamic: license-file
|
|
|
26
26
|
|
|
27
27
|
# PythonAnywhere Model Context Protocol Server
|
|
28
28
|
|
|
29
|
-
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
|
|
30
|
-
server acts as a bridge between AI-powered tools and your
|
|
31
|
-
[PythonAnywhere](https://www.pythonanywhere.com/) account, enabling secure,
|
|
32
|
-
programmatic management of files, websites, webapps, and scheduled tasks. By
|
|
33
|
-
exposing a standardized interface, it allows language models and automation
|
|
34
|
-
clients to perform operations—such as editing files, deploying web apps, or
|
|
35
|
-
scheduling jobs
|
|
29
|
+
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
|
|
30
|
+
server acts as a bridge between AI-powered tools and your
|
|
31
|
+
[PythonAnywhere](https://www.pythonanywhere.com/) account, enabling secure,
|
|
32
|
+
programmatic management of files, websites, webapps, and scheduled tasks. By
|
|
33
|
+
exposing a standardized interface, it allows language models and automation
|
|
34
|
+
clients to perform operations—such as editing files, deploying web apps, or
|
|
35
|
+
scheduling jobs -- on your behalf, all while maintaining fine-grained control
|
|
36
36
|
and auditability.
|
|
37
37
|
|
|
38
38
|
## Features
|
|
39
|
-
- **File management**: Read, upload, delete files and list directory trees.
|
|
39
|
+
- **File management**: Read, upload, delete files and list directory trees.
|
|
40
40
|
_(also enables debugging with direct access to log files, which are just
|
|
41
41
|
files on PythonAnywhere)_
|
|
42
42
|
- **ASGI Web app management**: Create, delete, reload, and list.
|
|
43
|
-
_(as described in the [PythonAnywhere ASGI
|
|
43
|
+
_(as described in the [PythonAnywhere ASGI
|
|
44
44
|
documentation](https://help.pythonanywhere.com/pages/ASGICommandLine))_
|
|
45
45
|
- **WSGI Web app management**: Reload only _(at the moment)_.
|
|
46
46
|
- **Scheduled task management**: List, create, update, and delete.
|
|
47
|
-
_(
|
|
48
|
-
scheduled
|
|
47
|
+
_(Note that this enables LLMs to execute arbitrary commands if a task is
|
|
48
|
+
scheduled too soon after creation and deleted after execution. For that we
|
|
49
49
|
would suggest running it with [mcp-server-time](https://pypi.org/project/mcp-server-time/)
|
|
50
50
|
as models easily get confused about time.)_
|
|
51
51
|
|
|
52
52
|
## Installation
|
|
53
|
-
MCP protocol is well-defined and supported by various clients, but
|
|
54
|
-
installation is different depending on the client you are using. We will
|
|
53
|
+
The MCP protocol is well-defined and supported by various clients, but
|
|
54
|
+
installation is different depending on the client you are using. We will
|
|
55
55
|
cover cases that we tried and tested.
|
|
56
56
|
|
|
57
57
|
In all cases, you need to have `uv` installed and available in your `PATH`.
|
|
58
58
|
|
|
59
|
-
Have your PythonAnywhere API token and username ready. You can find (or
|
|
60
|
-
generate) your API token in the [API section of your PythonAnywhere
|
|
59
|
+
Have your PythonAnywhere API token and username ready. You can find (or
|
|
60
|
+
generate) your API token in the [API section of your PythonAnywhere
|
|
61
61
|
account](https://www.pythonanywhere.com/account/#api_token).
|
|
62
62
|
|
|
63
63
|
### Desktop Extension - works with Claude Desktop
|
|
64
|
-
Probably the most straightforward way to install the MCP server is to use
|
|
64
|
+
Probably the most straightforward way to install the MCP server is to use
|
|
65
65
|
the [desktop extension](https://github.com/anthropics/dxt/) for Claude Desktop.
|
|
66
66
|
|
|
67
67
|
1. Open Claude Desktop.
|
|
@@ -75,7 +75,7 @@ Run:
|
|
|
75
75
|
```bash
|
|
76
76
|
claude mcp add pythonanywhere-mcp-server \
|
|
77
77
|
-e API_TOKEN=yourpythonanywhereapitoken \
|
|
78
|
-
-e LOGNAME=yourpythonanywhereusername \
|
|
78
|
+
-e LOGNAME=yourpythonanywhereusername \
|
|
79
79
|
-- uvx pythonanywhere-mcp-server
|
|
80
80
|
```
|
|
81
81
|
|
|
@@ -99,7 +99,7 @@ Add it to your `mcp.json`.
|
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
### Claude Desktop (manual setup) and Cursor:
|
|
102
|
-
Add it to `claude_desktop_config.json` (for Claude Desktop) or (`mcp.json`
|
|
102
|
+
Add it to `claude_desktop_config.json` (for Claude Desktop) or (`mcp.json`
|
|
103
103
|
for Cursor).
|
|
104
104
|
|
|
105
105
|
```json
|
|
@@ -120,20 +120,20 @@ for Cursor).
|
|
|
120
120
|
|
|
121
121
|
## Caveats
|
|
122
122
|
|
|
123
|
-
Direct integration of an LLM with your PythonAnywhere account offers
|
|
124
|
-
significant capabilities, but also introduces risks. We strongly advise
|
|
125
|
-
maintaining human oversight, especially for sensitive actions such as
|
|
123
|
+
Direct integration of an LLM with your PythonAnywhere account offers
|
|
124
|
+
significant capabilities, but also introduces risks. We strongly advise
|
|
125
|
+
maintaining human oversight, especially for sensitive actions such as
|
|
126
126
|
modifying or deleting files.
|
|
127
127
|
|
|
128
|
-
If you are running multiple MCP servers simultaneously, be
|
|
129
|
-
cautious
|
|
130
|
-
control, such as GitHub issues. These can become attack vectors. For more
|
|
128
|
+
If you are running multiple MCP servers simultaneously, be
|
|
129
|
+
cautious -- particularly if any server can access external resources you do not
|
|
130
|
+
control, such as GitHub issues. These can become attack vectors. For more
|
|
131
131
|
details, see [this story](https://simonwillison.net/2025/Jul/6/supabase-mcp-lethal-trifecta/).
|
|
132
132
|
|
|
133
133
|
## Implementation
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
in connection with [pythonanywhere-core](https://github.com/pythonanywhere/pythonanywhere-core)
|
|
137
|
-
package ([docs](https://core.pythonanywhere.com/))
|
|
138
|
-
API](https://help.pythonanywhere.com/pages/API/) and
|
|
135
|
+
The server uses the [python mcp sdk](https://github.com/modelcontextprotocol/python-sdk)
|
|
136
|
+
in connection with the [pythonanywhere-core](https://github.com/pythonanywhere/pythonanywhere-core)
|
|
137
|
+
package ([docs](https://core.pythonanywhere.com/)), which wraps a subset of the [PythonAnywhere
|
|
138
|
+
API](https://help.pythonanywhere.com/pages/API/) and may be expanded in
|
|
139
139
|
the future as needed.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_file_tools.py
RENAMED
|
File without changes
|
{pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_schedule_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_webapp_tools.py
RENAMED
|
File without changes
|
{pythonanywhere_mcp_server-0.0.3 → pythonanywhere_mcp_server-0.0.5}/tests/test_website_tools.py
RENAMED
|
File without changes
|