Skip to content

Commit 04a14e3

Browse files
stex2005claude
andauthored
refactor: rename simple-mcp-server to robotmcp-server (#3)
- Rename CLI command to robotmcp-server - Rename config directory to ~/.robotmcp-server/ - Update package name to robotmcp-server - Update title to "RobotMCP Server" - Update GitHub URLs to robotmcp/robotmcp_server Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent c1101f9 commit 04a14e3

14 files changed

Lines changed: 113 additions & 115 deletions

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# Simple MCP Server
1+
# RobotMCP Server
22

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

55
## Quick Start
66

77
```bash
88
# Install via pipx
9-
pipx install git+https://github.com/stex2005/robotmcp_server.git
9+
pipx install git+https://github.com/robotmcp/robotmcp_server.git
1010

1111
# Run (opens browser for first-time setup)
12-
simple-mcp-server
12+
robotmcp-server
1313
```
1414

1515
See [docs/install.md](docs/install.md) for manual installation and troubleshooting.
@@ -35,7 +35,7 @@ robotmcp_server/
3535
├── submodule_deps.py # Auto-install submodule dependencies
3636
├── tools.py # Built-in MCP tools (echo, ping)
3737
├── cli.py # CLI daemon management
38-
├── config.py # Config management (~/.simple-mcp-server/)
38+
├── config.py # Config management (~/.robotmcp-server/)
3939
├── setup.py # Browser-based login flow
4040
├── sse.py # Legacy SSE endpoints
4141
├── oauth/ # OAuth module (optional)
@@ -55,18 +55,18 @@ See [docs/project_plan.md](docs/project_plan.md) for architecture details.
5555

5656
| Command | Description |
5757
|---------|-------------|
58-
| `simple-mcp-server` | Start server in background |
59-
| `simple-mcp-server stop` | Stop server and tunnel |
60-
| `simple-mcp-server status` | Show current status |
61-
| `simple-mcp-server verify` | Comprehensive verification (server, tunnel, DNS, connectivity) |
62-
| `simple-mcp-server logout` | Clear credentials and stop |
58+
| `robotmcp-server` | Start server in background |
59+
| `robotmcp-server stop` | Stop server and tunnel |
60+
| `robotmcp-server status` | Show current status |
61+
| `robotmcp-server verify` | Comprehensive verification (server, tunnel, DNS, connectivity) |
62+
| `robotmcp-server logout` | Clear credentials and stop |
6363

6464
### Verification Command
6565

6666
The `verify` command performs comprehensive diagnostics:
6767

6868
```bash
69-
simple-mcp-server verify
69+
robotmcp-server verify
7070
```
7171

7272
**Checks performed:**
@@ -202,7 +202,7 @@ def my_tool(param: str) -> str:
202202
- **v1.16.1**: Fix SSE endpoint to support shared member access (consistent with /mcp)
203203
- **v1.16.0**: Display version in CLI status output
204204
- **v1.15.0**: Shared member access - users added via dashboard can now connect to shared MCP servers
205-
- **v1.14.0**: Change default port from 8000 to 8766 (**BREAKING**: existing tunnels must be recreated with `simple-mcp-server logout && simple-mcp-server`)
205+
- **v1.14.0**: Change default port from 8000 to 8766 (**BREAKING**: existing tunnels must be recreated with `robotmcp-server logout && robotmcp-server`)
206206
- **v1.13.0**: JWT tokens for stateless OAuth (tokens survive server restarts), endpoint compatibility docs
207207
- **v1.12.0**: Supabase centralized logging (replaces CloudWatch for security)
208208
- **v1.11.0**: AWS CloudWatch logging integration with JSON structured logs

cli.py

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""CLI entry point for simple-mcp-server.
1+
"""CLI entry point for robotmcp-server.
22
33
Copyright (c) 2025 Contoro. All rights reserved.
44
@@ -37,7 +37,7 @@
3737

3838
# Version from pyproject.toml (single source of truth)
3939
try:
40-
VERSION = get_version("simple-mcp-server")
40+
VERSION = get_version("robotmcp-server")
4141
except Exception:
4242
VERSION = "0.0.0" # Fallback for development
4343

@@ -51,7 +51,7 @@
5151
)
5252

5353
# Daemon settings
54-
CONFIG_DIR = Path.home() / ".simple-mcp-server"
54+
CONFIG_DIR = Path.home() / ".robotmcp-server"
5555
PID_FILE = CONFIG_DIR / "server.pid"
5656
LOG_FILE = CONFIG_DIR / "server.log"
5757

@@ -308,9 +308,7 @@ def is_local_bin_in_path() -> bool:
308308
def add_to_bashrc() -> bool:
309309
"""Add ~/.local/bin to PATH in ~/.bashrc."""
310310
bashrc = Path.home() / ".bashrc"
311-
export_line = (
312-
'\n# Added by simple-mcp-server\nexport PATH="$HOME/.local/bin:$PATH"\n'
313-
)
311+
export_line = '\n# Added by robotmcp-server\nexport PATH="$HOME/.local/bin:$PATH"\n'
314312

315313
try:
316314
# Check if already added
@@ -475,7 +473,7 @@ def cmd_start():
475473
running, pid = is_daemon_running()
476474
if running:
477475
print(f"Server is already running (PID: {pid})")
478-
print(" Use 'simple-mcp-server stop' to stop it first")
476+
print(" Use 'robotmcp-server stop' to stop it first")
479477
return
480478

481479
config = load_config()
@@ -493,8 +491,8 @@ def cmd_start():
493491
# Check tunnel config
494492
if not config.has_tunnel():
495493
print("\n[ERROR] Tunnel not configured.")
496-
print(" Run: simple-mcp-server logout")
497-
print(" Then: simple-mcp-server start")
494+
print(" Run: robotmcp-server logout")
495+
print(" Then: robotmcp-server start")
498496
sys.exit(1)
499497

500498
# Check cloudflared (auto-install on Linux/macOS if needed)
@@ -530,7 +528,7 @@ def cmd_start():
530528
mcp_url = f"{config.tunnel_url}/mcp"
531529
sse_url = f"{config.tunnel_url}/sse"
532530
print("\n" + "=" * 60)
533-
print(" Simple MCP Server - Started")
531+
print(" RobotMCP Server - Started")
534532
print("=" * 60)
535533
print(f" User: {config.email}")
536534
print()
@@ -553,8 +551,8 @@ def cmd_start():
553551
print()
554552
print("=" * 60)
555553
print(f" Log: {LOG_FILE}")
556-
print(" Stop: simple-mcp-server stop")
557-
print(" Status: simple-mcp-server status")
554+
print(" Stop: robotmcp-server stop")
555+
print(" Status: robotmcp-server status")
558556
print("=" * 60 + "\n")
559557

560558
# Daemonize on Unix, use subprocess on Windows
@@ -696,7 +694,7 @@ def cmd_login():
696694
config = load_config()
697695
print(f"Logged in as: {config.email}")
698696
print(f"Robot URL: {config.tunnel_url}")
699-
print("\nRun 'simple-mcp-server start' to start the server.")
697+
print("\nRun 'robotmcp-server start' to start the server.")
700698
else:
701699
print("\n[ERROR] Login failed. Please try again.")
702700
sys.exit(1)
@@ -707,7 +705,7 @@ def cmd_status():
707705
config = load_config()
708706

709707
print("\n" + "=" * 50)
710-
print(f" Simple MCP Server Status (v{VERSION})")
708+
print(f" RobotMCP Server Status (v{VERSION})")
711709
print("=" * 50)
712710

713711
# Account
@@ -725,7 +723,7 @@ def cmd_status():
725723
print(f" Org: {user_info['organization']}")
726724
else:
727725
print(" Status: Not logged in")
728-
print(" Action: Run 'simple-mcp-server start' to log in")
726+
print(" Action: Run 'robotmcp-server start' to log in")
729727

730728
# Tunnel
731729
print("\n[Tunnel]")
@@ -808,7 +806,7 @@ def cmd_verify():
808806
print("-" * 70)
809807
if not config.has_tunnel():
810808
print(" ✗ Tunnel not configured")
811-
print(" → Run: simple-mcp-server start")
809+
print(" → Run: robotmcp-server start")
812810
print("\n" + "=" * 70)
813811
return
814812
results["config"] = True
@@ -835,7 +833,7 @@ def cmd_verify():
835833
print(" ✓ Server running on port 8766 (not managed)")
836834
else:
837835
print(" ✗ Server not running")
838-
print(" → Run: simple-mcp-server start")
836+
print(" → Run: robotmcp-server start")
839837
print("\n" + "=" * 70)
840838
return
841839

@@ -877,7 +875,7 @@ def cmd_verify():
877875
pass
878876
else:
879877
print(" ✗ Cloudflared process not running")
880-
print(" → Run: simple-mcp-server start")
878+
print(" → Run: robotmcp-server start")
881879
print("\n" + "=" * 70)
882880
return
883881

@@ -1060,12 +1058,12 @@ def cmd_verify():
10601058
)
10611059
if not results["tunnel_endpoints"] and results["dns"]:
10621060
print(
1063-
" 1. Check cloudflared logs: tail -f ~/.simple-mcp-server/cloudflared.log"
1061+
" 1. Check cloudflared logs: tail -f ~/.robotmcp-server/cloudflared.log"
10641062
)
10651063
print(" 2. Verify server is running: curl http://localhost:8766/health")
10661064
if not results["server_local"]:
1067-
print(" 1. Start server: simple-mcp-server start")
1068-
print(" 2. Re-run verification: simple-mcp-server verify")
1065+
print(" 1. Start server: robotmcp-server start")
1066+
print(" 2. Re-run verification: robotmcp-server verify")
10691067

10701068
print("=" * 70 + "\n")
10711069

@@ -1093,18 +1091,18 @@ def cmd_logout():
10931091

10941092
def cmd_version():
10951093
"""Show version information."""
1096-
print(f"simple-mcp-server v{VERSION}")
1094+
print(f"robotmcp-server v{VERSION}")
10971095
print("Copyright (c) 2025 Contoro. All rights reserved.")
10981096

10991097

11001098
def cmd_help():
11011099
"""Show detailed help."""
11021100
print("""
1103-
Simple MCP Server - Local MCP server with OAuth
1101+
RobotMCP Server - Local MCP server with OAuth
11041102
Copyright (c) 2025 Contoro. All rights reserved.
11051103
11061104
USAGE:
1107-
simple-mcp-server <command>
1105+
robotmcp-server <command>
11081106
11091107
COMMANDS:
11101108
start Start the MCP server in background
@@ -1119,25 +1117,25 @@ def cmd_help():
11191117
11201118
EXAMPLES:
11211119
# Start server (runs in background)
1122-
simple-mcp-server start
1120+
robotmcp-server start
11231121
11241122
# Check server status
1125-
simple-mcp-server status
1123+
robotmcp-server status
11261124
11271125
# Stop the server
1128-
simple-mcp-server stop
1126+
robotmcp-server stop
11291127
11301128
# View logs
1131-
tail -f ~/.simple-mcp-server/server.log
1129+
tail -f ~/.robotmcp-server/server.log
11321130
11331131
QUICK START:
1134-
1. Run 'simple-mcp-server start' (or 'login' to login without starting)
1132+
1. Run 'robotmcp-server start' (or 'login' to login without starting)
11351133
2. Log in via browser (opens automatically)
11361134
3. Select existing server or enter a new robot name (e.g., 'myrobot')
11371135
4. Server starts in background at https://myrobot.robotmcp.ai
11381136
5. Copy the MCP URL to ChatGPT/Claude (use SSE URL if MCP doesn't work)
11391137
1140-
For more information, see: https://github.com/mokcontoro/simple_mcp_server
1138+
For more information, see: https://github.com/robotmcp/robotmcp_server
11411139
""")
11421140

11431141

@@ -1154,8 +1152,8 @@ def main():
11541152
return
11551153

11561154
parser = argparse.ArgumentParser(
1157-
prog="simple-mcp-server",
1158-
description="Simple MCP Server - Local MCP server with OAuth",
1155+
prog="robotmcp-server",
1156+
description="RobotMCP Server - Local MCP server with OAuth",
11591157
formatter_class=argparse.RawDescriptionHelpFormatter,
11601158
epilog="""
11611159
Commands:
@@ -1169,9 +1167,9 @@ def main():
11691167
help Show detailed help
11701168
11711169
Examples:
1172-
simple-mcp-server start
1173-
simple-mcp-server status
1174-
simple-mcp-server stop
1170+
robotmcp-server start
1171+
robotmcp-server status
1172+
robotmcp-server stop
11751173
""",
11761174
)
11771175

config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
"""Config management for simple-mcp-server."""
1+
"""Config management for robotmcp-server."""
22

33
import json
44
import os
55
from pathlib import Path
66
from typing import Optional
77

88

9-
CONFIG_DIR = Path.home() / ".simple-mcp-server"
9+
CONFIG_DIR = Path.home() / ".robotmcp-server"
1010
CONFIG_FILE = CONFIG_DIR / "config.json"
1111

1212

docker/Dockerfile.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ COPY . .
1212
RUN pipx install .
1313

1414
# Verify installation
15-
RUN which simple-mcp-server
15+
RUN which robotmcp-server
1616

1717
# Default command
18-
CMD ["simple-mcp-server"]
18+
CMD ["robotmcp-server"]

0 commit comments

Comments
 (0)