Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Mcp Pyodide

    A Pyodide server implementation for the Model Context Protocol (MCP).

    15 stars
    TypeScript
    Updated Oct 22, 2025

    Table of Contents

    • Features
    • Installation
    • Usage
    • As a Server
    • As a Command-line Tool
    • SSE Mode
    • Project Structure
    • Dependencies
    • Development
    • Requirements
    • Setup
    • Scripts
    • Environment Variables
    • License
    • Contributing
    • Important Notes
    • Support

    Table of Contents

    • Features
    • Installation
    • Usage
    • As a Server
    • As a Command-line Tool
    • SSE Mode
    • Project Structure
    • Dependencies
    • Development
    • Requirements
    • Setup
    • Scripts
    • Environment Variables
    • License
    • Contributing
    • Important Notes
    • Support

    Documentation

    MseeP.ai Security Assessment Badge

    mcp-pyodide

    A Pyodide server implementation for the Model Context Protocol (MCP). This server enables Large Language Models (LLMs) to execute Python code through the MCP interface.

    Features

    • Python code execution capability for LLMs using Pyodide
    • MCP compliant server implementation
    • Support for both stdio and SSE transport modes
    • Robust implementation written in TypeScript
    • Available as a command-line tool

    Installation

    bash
    npm install mcp-pyodide

    Usage

    As a Server

    typescript
    import { runServer } from "mcp-pyodide";
    
    // Start the server
    runServer().catch((error: unknown) => {
      console.error("Error starting server:", error);
      process.exit(1);
    });

    As a Command-line Tool

    Start in stdio mode (default):

    bash
    mcp-pyodide

    Start in SSE mode:

    bash
    mcp-pyodide --sse

    SSE Mode

    When running in SSE mode, the server provides the following endpoints:

    • SSE Connection: http://localhost:3020/sse
    • Message Handler: http://localhost:3020/messages

    Example client connection:

    typescript
    const eventSource = new EventSource("http://localhost:3020/sse");
    eventSource.onmessage = (event) => {
      console.log("Received:", JSON.parse(event.data));
    };

    Project Structure

    code
    mcp-pyodide/
    ├── src/
    │   ├── formatters/    # Data formatting handlers
    │   ├── handlers/      # Request handlers
    │   ├── lib/          # Library code
    │   ├── tools/        # Utility tools
    │   ├── utils/        # Utility functions
    │   └── index.ts      # Main entry point
    ├── build/            # Build artifacts
    ├── pyodide-packages/ # Pyodide-related packages
    └── package.json

    Dependencies

    • @modelcontextprotocol/sdk: MCP SDK (^1.4.0)
    • pyodide: Python runtime environment (^0.27.1)
    • arktype: Type validation library (^2.0.1)
    • express: Web framework for SSE support
    • cors: CORS middleware for SSE support

    Development

    Requirements

    • Node.js 18 or higher
    • npm 9 or higher

    Setup

    bash
    # Clone the repository
    git clone 
    
    # Install dependencies
    npm install
    
    # Build
    npm run build

    Scripts

    • npm run build: Compile TypeScript and set execution permissions
    • npm start: Run server in stdio mode
    • npm run start:sse: Run server in SSE mode

    Environment Variables

    • PYODIDE_CACHE_DIR: Directory for Pyodide cache (default: "./cache")
    • PYODIDE_DATA_DIR: Directory for mounted data (default: "./data")
    • PORT: Port for SSE server (default: 3020)

    License

    MIT

    Contributing

    1. Fork the repository

    2. Create a feature branch (git checkout -b feature/amazing-feature)

    3. Commit your changes (git commit -am 'Add some amazing feature')

    4. Push to the branch (git push origin feature/amazing-feature)

    5. Create a Pull Request

    Important Notes

    • This project is under development, and the API may change
    • Thoroughly test before using in production
    • Exercise caution when executing untrusted code for security reasons
    • When using SSE mode, ensure proper CORS configuration if needed

    Support

    Please use the Issue tracker for problems and questions.

    Similar MCP

    Based on tags & features

    • ME

      Metmuseum Mcp

      TypeScript·
      14
    • MC

      Mcp Ipfs

      TypeScript·
      11
    • LI

      Liveblocks Mcp Server

      TypeScript·
      11
    • MC

      Mcp Wave

      TypeScript00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • ME

      Metmuseum Mcp

      TypeScript·
      14
    • MC

      Mcp Ipfs

      TypeScript·
      11
    • LI

      Liveblocks Mcp Server

      TypeScript·
      11
    • MC

      Mcp Wave

      TypeScript00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k