Surfski
by rayhu
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Bind address. | |
| PORT | No | Bind port. | |
| BASE_URL | Yes | Public URL, e.g. https://mcp.example.com. Must be https unless it is localhost. | |
| DATA_DIR | No | Data directory. Default /var/lib/surfski; /data in the container. | |
| LOG_LEVEL | No | Logging level. | |
| STATE_SECRET | Yes | HMAC key for single-use linking state (≥32 chars). | |
| ALLOWED_USERS | Yes | Comma-separated primary Google addresses allowed to use the server. | |
| JWT_SIGNING_KEY | Yes | Signs FastMCP session tokens (≥32 chars). | |
| GOOGLE_CLIENT_ID | Yes | Google Web OAuth client ID. | |
| GOOGLE_CLIENT_SECRET | Yes | Google Web OAuth client secret. | |
| TOKEN_ENCRYPTION_KEY | Yes | Fernet key for stored Gmail refresh tokens. | |
| RATE_LIMIT_PER_MINUTE | No | Tool calls per owner per minute. Default 60. | |
| TOKEN_ENCRYPTION_KEYS | No | Per-owner Fernet keys in owner=key,owner=key format. | |
| STORAGE_ENCRYPTION_KEY | Yes | Fernet key for the OAuth client store. | |
| ALLOWED_CLIENT_REDIRECT_URIS | No | MCP client redirect allowlist. Defaults to Claude's callbacks, plus localhost when BASE_URL is localhost. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessUnresponsive