Back to Catalog

pythonanywhere-mcp-server

pythonanywhere/pythonanywhere-mcp-server
🔗 Latest commit:596de06
🕒 Updated:Sep 9, 2025, 01:05 PM
Python
AI Tools

MCP server from pythonanywhere/pythonanywhere-mcp-server

MCP Trust Score
Based on our comprehensive evaluation criteria
🤖 Evaluated by gemini-2.5-proFix
Trust Score60/100
GitHub Metrics
Repository statistics and activity
⭐ GitHub Stars:8
👥 Contributors:4
📋 Total Issues:0
📦 Has Releases:Yes
🔧 Has CI/CD Pipeline:Yes
Configuration
Configuration example extracted from README.md for Claude Desktop and other clients.
🤖 Evaluated by gemini-2.5-proFix
{
  "pythonanywhere-mcp-server": {
    "command": "uvx",
    "args": [
      "pythonanywhere-mcp-server"
    ],
    "env": {
      "API_TOKEN": "yourpythonanywhereapitoken",
      "LOGNAME": "yourpythonanywhereusername"
    }
  }
}
MCP Protocol Support
Implemented MCP protocol features
🤖 Evaluated by gemini-2.5-proFix
Tools:
Prompts:
Resources:
Sampling:
Roots:
Logging:
STDIO Transport:
HTTP Transport:
OAuth2 Auth:
Dependencies
2 dependencies
Libraries and frameworks used by this MCP server
🤖 Evaluated by gemini-2.5-proFix
Add Quality Badge
Show your MCP trust score in your README
Trust Score Badge
[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/pythonanywhere/pythonanywhere-mcp-server)](https://archestra.ai/mcp-catalog/pythonanywhere__pythonanywhere-mcp-server)
README.md

PythonAnywhere Model Context Protocol Server

A Model Context Protocol (MCP)
server acts as a bridge between AI-powered tools and your
PythonAnywhere account, enabling secure,
programmatic management of files, websites, webapps, and scheduled tasks. By
exposing a standardized interface, it allows language models and automation
clients to perform operations—such as editing files, deploying web apps, or
scheduling jobs -- on your behalf, all while maintaining fine-grained control
and auditability.

Features

  • File management: Read, upload, delete files and list directory trees.
    (also enables debugging with direct access to log files, which are just
    files on PythonAnywhere)
  • ASGI Web app management: Create, delete, reload, and list.
    (as described in the PythonAnywhere ASGI
    documentation
    )
  • WSGI Web app management: Reload only (at the moment).
  • Scheduled task management: List, create, update, and delete.
    (Note that this enables LLMs to execute arbitrary commands if a task is
    scheduled too soon after creation and deleted after execution. For that we
    would suggest running it with mcp-server-time
    as models easily get confused about time.)

Installation

The MCP protocol is well-defined and supported by various clients, but
installation is different depending on the client you are using. We will
cover cases that we tried and tested.

In all cases, you need to have uv installed and available in your PATH.

Have your PythonAnywhere API token and username ready. You can find (or
generate) your API token in the API section of your PythonAnywhere
account
.

Desktop Extension - works with Claude Desktop

Probably the most straightforward way to install the MCP server is to use
the desktop extension for Claude Desktop.

  1. Open Claude Desktop.
  2. Download the latest .dxt file.
  3. Double-click on the downloaded .dxt file or drag the file into the window.
  4. Configure your PythonAnywhere API token and username.
  5. Restart Claude Desktop.

Claude Code

Run:

claude mcp add pythonanywhere-mcp-server \
-e API_TOKEN=yourpythonanywhereapitoken \
-e LOGNAME=yourpythonanywhereusername \
-- uvx pythonanywhere-mcp-server

GitHub Copilot in PyCharm:

Add it to your mcp.json.

{
  "servers": {
    "pythonanywhere-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": ["pythonanywhere-mcp-server"],
      "env": {
        "API_TOKEN": "yourpythonanywhereapitoken",
        "LOGNAME": "yourpythonanywhereusername"
      }
    }
  }
}

Claude Desktop (manual setup) and Cursor:

Add it to claude_desktop_config.json (for Claude Desktop) or (mcp.json
for Cursor).

{
  "mcpServers": {
    "pythonanywhere-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": ["pythonanywhere-mcp-server"],
      "env": {
        "API_TOKEN": "yourpythonanywhereapitoken",
        "LOGNAME": "yourpythonanywhereusername"
      }
    }
  }
}

Caveats

Direct integration of an LLM with your PythonAnywhere account offers
significant capabilities, but also introduces risks. We strongly advise
maintaining human oversight, especially for sensitive actions such as
modifying or deleting files.

If you are running multiple MCP servers simultaneously, be
cautious -- particularly if any server can access external resources you do not
control, such as GitHub issues. These can become attack vectors. For more
details, see this story.

Implementation

The server uses the python mcp sdk
in connection with the pythonanywhere-core
package (docs), which wraps a subset of the PythonAnywhere
API
and may be expanded in
the future as needed.

pythonanywhere-mcp-server MCP Server | Documentation & Integration | Archestra