# BluestoneApps MCP Remote Server
This server implements the Model Context Protocol (MCP) over HTTP, allowing remote access to BluestoneApps coding standards and code examples.
## Features
- Implements MCP protocol over HTTP with JSON-RPC 2.0
- Supports Server-Sent Events (SSE) for streaming responses
- Provides access to coding standards and code examples
- Supports authentication
- Docker deployment ready
- HTTPS support via domain: https://mcp.betaplanets.com
## Setup
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Configure the server by editing the `.env` file:
```
MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8000
MCP_AUTH_ENABLED=true
MCP_AUTH_USERNAME=mcp-server
MCP_AUTH_PASSWORD=n2hXUijptRwpe9v6wZ37yOgEx4P8w3ofDRO0ko4A
```
3. Copy the resources directory from the local MCP server:
```bash
cp -r ../mcp-server/resources ./
```
## Running Locally
```bash
python simple_mcp_server.py
```
## Testing
### Local Testing
```bash
# Start the server
python simple_mcp_server.py
# In another terminal, run the test script
./test_mcp_server.sh
```
### Remote Testing
```bash
# Test the remote server (IP address)
./test_remote_server.sh
# Test the domain
./test_domain.sh
```
## Docker Deployment
```bash
# Build and push Docker image
./build_and_push.sh
# Deploy to remote server
./deploy.sh
```
## Connecting with Windsurf/Cascade
Add the following to your MCP configuration file (`~/.codeium/windsurf/mcp_config.json`):
```json
{
"mcpServers": {
"bluestoneapps-remote": {
"transport": "http",
"url": "http://your-server-ip:5051",
"headers": {
"Authorization": "Basic YWRtaW46Y2hhbmdlbWU="
},
"description": "BluestoneApps Coding Standards and Examples (Remote)",
"displayName": "BluestoneApps Development Standards (Remote)"
}
}
}
```
Note: The Authorization header is `base64(username:password)`. For the default credentials (admin:changeme), this is `YWRtaW46Y2hhbmdlbWU=`.
## Available Tools
- `get_project_structure`: Get project structure standards for React Native development
- `get_api_communication`: Get API communication standards for React Native development
- `get_component_design`: Get component design standards for React Native development
- `get_state_management`: Get state management standards for React Native development
- `get_component_example`: Get a React Native component example
- `get_hook_example`: Get a React Native hook example
- `get_service_example`: Get a React Native service example
- `get_screen_example`: Get a React Native screen example
- `get_theme_example`: Get a React Native theme example
- `list_available_examples`: List all available code examples by category