simple_mcp_server

mokcontoro/simple_mcp_server

3.2

If you are the rightful owner of simple_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

A minimal MCP server with echo functionality, Supabase OAuth, and Railway deployment for ChatGPT integration.

Tools
2
Resources
0
Prompts
0

Simple MCP Server

A Model Context Protocol (MCP) server with OAuth 2.1 authentication, Supabase user management, and Cloudflare tunnel support. Works with ChatGPT and Claude.ai.

Quick Start

# Install via pipx
pipx install git+https://github.com/mokcontoro/simple_mcp_server.git

# Run (opens browser for first-time setup)
simple-mcp-server

See for manual installation and troubleshooting.

Features

  • Streamable HTTP Transport: Modern MCP transport at /mcp
  • OAuth 2.1: Full flow with PKCE and dynamic client registration
  • Cloudflare Tunnel: Secure access via {name}.robotmcp.ai
  • Creator-Only Access: Only the server creator can connect
  • Optional OAuth: Disable with ENABLE_OAUTH=false
  • Secure CLI Login: POST-based credential transfer (not URL params)
  • WSL Support: Reliable browser opening with PowerShell fallback

Project Structure

simple_mcp_server/
├── main.py              # FastAPI app entry point
├── tools.py             # MCP tools (echo, ping) - replace for custom tools
├── cli.py               # CLI daemon management
├── config.py            # Config management (~/.simple-mcp-server/)
├── setup.py             # Browser-based login flow
├── sse.py               # Legacy SSE endpoints
└── oauth/               # OAuth module (optional)
    ├── endpoints.py     # OAuth routes
    ├── middleware.py    # Token validation
    ├── jwt_utils.py     # JWT token generation/validation
    ├── stores.py        # Session stores (auth codes, pending requests)
    └── templates.py     # HTML templates

Cloud Service: CLI login and tunnel creation are handled by robotmcp-cloud at https://app.robotmcp.ai.

See for architecture details.

CLI Commands

CommandDescription
simple-mcp-serverStart server in background
simple-mcp-server stopStop server and tunnel
simple-mcp-server statusShow current status
simple-mcp-server logoutClear credentials and stop

Environment Variables

VariableDescription
SUPABASE_URLSupabase project URL
SUPABASE_ANON_KEYSupabase anonymous key
SUPABASE_JWT_SECRETJWT secret for token validation
ENABLE_OAUTHSet false to disable OAuth (default: true)
ROBOTMCP_CLOUD_URLCloud service URL (default: https://app.robotmcp.ai)

API Endpoints

EndpointDescription
GET /Server info
POST /mcpStreamable HTTP transport (recommended)
GET /sseLegacy SSE (backward compat)
/.well-known/oauth-authorization-serverOAuth metadata

Connecting MCP Clients

Two endpoints are available:

EndpointTransportUsage
/mcpStreamable HTTPTry first (recommended)
/sseLegacy SSEUse if /mcp doesn't work

Client Compatibility:

  • Claude.ai: Works with /mcp (recommended)
  • ChatGPT: Works with /mcp (recommended)
  • Legacy clients: Use /sse if /mcp doesn't work

Example URL:

https://{your-name}.robotmcp.ai/mcp

See for connection flow diagrams.

Customization

To add custom MCP tools, replace tools.py:

from fastmcp import FastMCP
mcp = FastMCP("my-server")

@mcp.tool()
def my_tool(param: str) -> str:
    return f"Result: {param}"

For ros-mcp-server merge: replace tools.py and set ENABLE_OAUTH=false.

Documentation

  • - Setup, troubleshooting, CLI reference
  • - Architecture, version history
  • - Flow diagrams, components

Version History

  • v1.16.2: Use importlib.metadata for version (single source of truth from pyproject.toml)
  • v1.16.1: Fix SSE endpoint to support shared member access (consistent with /mcp)
  • v1.16.0: Display version in CLI status output
  • v1.15.0: Shared member access - users added via dashboard can now connect to shared MCP servers
  • v1.14.0: Change default port from 8000 to 8766 (BREAKING: existing tunnels must be recreated with simple-mcp-server logout && simple-mcp-server)
  • v1.13.0: JWT tokens for stateless OAuth (tokens survive server restarts), endpoint compatibility docs
  • v1.12.0: Supabase centralized logging (replaces CloudWatch for security)
  • v1.11.0: AWS CloudWatch logging integration with JSON structured logs
  • v1.10.0: Comprehensive INFO-level logging for all MCP server activities
  • v1.9.0: Secure POST-based CLI login, WSL browser fix, Claude theme for OAuth pages
  • v1.8.0: OAuth templates, CLI improvements
  • v1.7.0: Cloudflare tunnel integration
  • v1.0.0: Initial release with OAuth 2.1 and Streamable HTTP

License

Copyright (c) 2025 Contoro. All rights reserved.

This software is proprietary and confidential. Unauthorized copying, modification, distribution, or use of this software is strictly prohibited without express written permission.