Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

TTG Scratchpad Server

БесплатноНе проверен

Provides persistent agent workspaces with MongoDB storage for file management and real-time task progress tracking. It enables secure, isolated user environment

GitHubEmbed

Описание

Provides persistent agent workspaces with MongoDB storage for file management and real-time task progress tracking. It enables secure, isolated user environments with full activity logging for workspace operations.

README

Production-ready MCP server for agent workspace/scratchpad functionality with MongoDB persistence and user isolation.

Features

  • Persistent Workspaces: Tasks and files stored in MongoDB Atlas
  • User Isolation: Each user has their own isolated workspace (via X-User-ID header)
  • File Management: Create, read, update, delete files in workspace
  • Progress Tracking: Real-time progress updates visible in chat widget
  • Activity Logging: Full audit trail of workspace operations
  • Bearer Authentication: Secure API access via MCP_API_KEYS

Tools

Workspace Management

  • scratchpad_start - Start a new task workspace
  • scratchpad_update - Update progress during task
  • scratchpad_complete - Mark task as complete
  • scratchpad_demo - Demo widget with sample data

File Management

  • scratchpad_write_file - Save file to workspace
  • scratchpad_read_file - Read file from workspace
  • scratchpad_list_files - List all workspace files
  • scratchpad_delete_file - Delete file from workspace

Local Development

Prerequisites

  • Python 3.11+
  • MongoDB Atlas cluster (ttg-workspaces)

Setup

# Create virtual environment
python -m venv venv
.\venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Copy and configure environment
copy .env.template .env
# Edit .env with your MongoDB URI and API key

Run Locally

cd C:\Users\Adam\Desktop\ttgeco\scratchpad-mcp
.\venv\Scripts\activate
python server.py

Server runs on http://localhost:8001/mcp

Test Without Database

The server runs in demo/stateless mode if MONGODB_URI is not set. Useful for UI testing.

Deployment (Render)

1. Push to GitHub

git add .
git commit -m "Add MongoDB persistence and file management"
git push origin main

2. Configure Render Environment Variables

In Render dashboard, add these environment variables:

Variable Value Notes
MONGODB_URI mongodb+srv://... Your ttg-workspaces connection string
MCP_API_KEYS scratchpad-mcp-ttg-2026-... Must match LibreChat SCRATCHPAD_MCP_TOKEN

Do NOT set PORT - Render provides it automatically.

3. Verify Deployment

After deploy, test the /mcp endpoint:

curl -X POST https://scratchpad-mcp-18ab.onrender.com/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"

LibreChat Configuration

librechat.yaml

mcpServers:
  scratchpad:
    type: streamable-http
    url: "https://scratchpad-mcp-18ab.onrender.com/mcp"
    headers:
      Authorization: "Bearer ${SCRATCHPAD_MCP_TOKEN}"
      X-User-ID: "{{LIBRECHAT_USER_ID}}"
    timeout: 60000
    initTimeout: 30000
    serverInstructions: true

LibreChat .env

SCRATCHPAD_MCP_TOKEN=your-token-here

Database Schema

Collections

workspaces

{
  "_id": "ObjectId",
  "user_id": "string",
  "conversation_id": "string (optional)",
  "task": "string",
  "status": "idle|active|complete",
  "progress": {"current": 0, "total": 10},
  "working_on": "string",
  "created_at": "datetime",
  "updated_at": "datetime"
}

files

{
  "_id": "ObjectId",
  "user_id": "string",
  "workspace_id": "ObjectId",
  "name": "string",
  "path": "string",
  "type": "file|folder",
  "content": "string",
  "updated": true,
  "created_at": "datetime",
  "updated_at": "datetime"
}

activity_logs

{
  "_id": "ObjectId",
  "user_id": "string",
  "workspace_id": "ObjectId",
  "action": "string",
  "icon": "write|read|complete|delete",
  "timestamp": "datetime"
}

Security

  • Bearer token authentication via MCP_API_KEYS
  • User isolation via X-User-ID header (provided by LibreChat)
  • All database queries scoped by user_id
  • Input validation on file paths and content

Troubleshooting

"No HTTP request context available"

Tool called outside of request context. Ensure using FastMCP 0.5.0+.

"X-User-ID header required"

LibreChat not sending user ID. Check librechat.yaml headers config.

"MONGODB_URI environment variable required"

Set MONGODB_URI in Render dashboard or local .env.

Connection timeout

Check MongoDB Atlas network access - ensure Render IP is whitelisted or use 0.0.0.0/0 for all access.

from github.com/mrgizmo212/scratchpad-mcp

Установка TTG Scratchpad Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/mrgizmo212/scratchpad-mcp

FAQ

TTG Scratchpad Server MCP бесплатный?

Да, TTG Scratchpad Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для TTG Scratchpad Server?

Нет, TTG Scratchpad Server работает без API-ключей и переменных окружения.

TTG Scratchpad Server — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить TTG Scratchpad Server в Claude Desktop, Claude Code или Cursor?

Открой TTG Scratchpad Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare TTG Scratchpad Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории productivity