Local Workspace Orchestrator
Локальный оркестратор рабочего пространства
Система клиент-сервер MCP (Model Context Protocol), которая подключает Anthropic Claude к вашей локальной файловой системе через набор инструментов рабочего пространства. Оркестратор позволяет Claude читать файлы, анализировать CSV, выполнять скрипты, создавать графики и многое другое — всё из интерактивного чат-интерфейса.
Архитектура
┌───────────────────────────┐ stdio ┌──────────────────────────┐
│ orchestrator_client.py │ ◄──────────────────► │ workspace_server.py │
│ (MCP Client + Anthropic) │ MCP protocol │ (FastMCP Server) │
│ │ │ │
│ • Connects to 1+ servers │ │ Tools: │
│ • Streams Claude output │ │ • list_workspace_files │
│ • Retries failed calls │ │ • summarize_csv_dataset│
│ • Saves chat history │ │ • execute_python_script│
│ │ │ • write_file │
│ │ │ • run_shell_command │
│ │ │ • plot_column_distrib. │
│ │ │ │
│ │ │ Resources: │
│ │ │ • workspace://files │
│ │ │ • workspace://schema/* │
└───────────────────────────┘ └──────────────────────────┘Быстрый старт
1. Клонирование и установка
git clone <your-repo-url>
cd local-workspace-orchestrator
# Using uv (recommended)
uv sync
# Or using pip
pip install -r requirements.txt2. Настройка вашего API-ключа
cp .env.example .env
# Edit .env and paste your Anthropic API key3. Запуск оркестратора
# Using uv
uv run orchestrator_client.py
# Or directly
python orchestrator_client.pyВы увидите интерактивное приглашение:
======================================================
Local Workspace Orchestrator Active
Type queries, or /help for commands, 'quit' to exit.
======================================================
Orchestrator >4. Попробуйте несколько запросов
Orchestrator > list all files in this workspace
Orchestrator > summarize the sample_consumer.csv dataset
Orchestrator > plot the distribution of SpendingScore in sample_consumer.csv
Orchestrator > run the run_analysis.py scriptКонфигурация сервера
Оркестратор читает server_config.json, чтобы узнать, какие MCP-серверы запускать. Формат использует стандартную структуру MCP mcpServers:
{
"mcpServers": {
"workspace_orchestrator": {
"command": "uv",
"args": ["run", "workspace_server.py"]
}
}
}Добавление дополнительных серверов
Вы можете подключить несколько серверов — каждый из них будет автоматически обнаруживать и регистрировать свои инструменты:
{
"mcpServers": {
"workspace_orchestrator": {
"command": "uv",
"args": ["run", "workspace_server.py"]
},
"my_other_server": {
"command": "python",
"args": ["other_server.py"]
}
}
}Команды чата
Команда | Описание |
| Список всех зарегистрированных инструментов по серверам |
| Сохранить историю разговора в JSON-файл |
| Загрузить сохранённый разговор |
| Переподключиться к отключённому серверу |
| Показать количество сообщений в разговоре |
| Очистить историю разговора |
| Показать все доступные команды |
| Выйти из оркестратора |
Доступные инструменты
Инструменты только для чтения
Инструмент | Описание |
| Список файлов и подкаталогов в пути рабочего пространства |
| Возвращает форму, столбцы, типы данных и сводную статистику для CSV |
| Выполняет разрешённую команду оболочки (ls, cat, grep и т.д.) |
Деструктивные инструменты
Инструмент | Описание |
| Создать или перезаписать файл в рабочем пространстве |
| Выполнить Python-скрипт и вернуть stdout/stderr |
| Сгенерировать PNG-гистограмму для столбца CSV |
Ресурсы
URI | Описание |
| Список всех файлов в корне рабочего пространства |
| Имена столбцов + типы данных для CSV-файла |
Безопасность
Защита от обхода пути: Все инструменты, принимающие файлы, проверяют пути с помощью
os.path.realpath()+pathlib.Path.resolve(), чтобы предотвратить атаки обхода каталогов.Список разрешённых команд оболочки:
run_shell_commandразрешает только выбранный набор команд только для чтения (ls,cat,grep,head,tailи т.д.).Песочница для скриптов:
execute_python_scriptвыполняет скрипты в подпроцессе с тайм-аутом 30 секунд, ограниченным каталогом рабочего пространства черезcwd. Примечание: это не настоящая песочница — подпроцесс имеет те же права ОС, что и процесс сервера.Аннотации инструментов: Каждый инструмент несёт аннотации
readOnlyHint/destructiveHint, чтобы MCP-клиенты могли оценивать безопасность.
Параметры командной строки
python orchestrator_client.py --help
options:
--log-level {DEBUG,INFO,WARNING,ERROR} Set logging verbosity (default: INFO)
--system-prompt TEXT Custom system prompt for Claude
--config PATH Path to server_config.jsonПеременные окружения
Переменная | Описание | По умолчанию |
| Ваш ключ API Anthropic (обязательно) | — |
| Уровень детализации логирования |
|
Структура проекта
local-workspace-orchestrator/
├── orchestrator_client.py # MCP client + Anthropic integration
├── workspace_server.py # FastMCP server with workspace tools
├── server_config.json # MCP server connection configuration
├── main.py # Stub entry point
├── run_analysis.py # Example analysis script
├── sample_consumer.csv # Sample dataset
├── pyproject.toml # Project metadata + dependencies
├── requirements.txt # Pinned pip dependencies
├── .env.example # API key template
├── .gitignore # Git ignore rules
└── README.md # This fileЛицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aniketmehetre/local_workspace_orchestrator-MCP-SERVER'
If you have feedback or need assistance with the MCP directory API, please join our Discord server