Skip to main content
Glama
raoulstongea

open-jobsite

by raoulstongea

Open Jobsite

Open Jobsite — это открытый local-first сервер для управления строительными операциями, предназначенный для goose и других клиентов Model Context Protocol (MCP). Он превращает полевые доказательства в проверяемые расчёты, ежедневные журналы, сметы и дополнительные соглашения, сохраняя видимыми ссылки на источники, математику единиц измерения, допущения, исключения и границы утверждения человеком.

Этот репозиторий — рабочий MVP v0.1, подтверждающий выполнение гранта. Он использует синтетические данные, не выполняет сетевых вызовов и никогда не отправляет сообщения, не подаёт цену, не размещает заказ и не утверждает артефакты.

Зачем это нужно

Полевая работа начинается с черновых заметок, фотографий, эскизов, измерений, чеков и разговоров — а не с чистых строк базы данных. Агенты общего назначения могут составлять отполированные ответы, скрывая, откуда взялись числа. Open Jobsite использует противоположный подход:

  • Сначала доказательства: записи сохраняют указанную пользователем ссылку на источник и статус конфиденциальности.

  • Детерминированная математика: инструменты расчёта объёмов используют десятичную арифметику и раскрывают формулы и промежуточные значения.

  • Черновик по умолчанию: каждая смета и каждое дополнительное соглашение явно не утверждены.

  • Локальность и переносимость: JSON-файлы хранятся в папке, контролируемой пользователем, а интерфейс инструментов — это стандартный MCP.

  • Ориентированные на полевую работу процессы: переносимые навыки охватывают ежедневные журналы, сметы по объёму работ и дополнительные соглашения.

Related MCP server: Keystone MCP Server

Рабочий процесс

  1. Создайте локальный проект.

  2. Запишите заметку или измерение со ссылкой на источник.

  3. Выполните детерминированный расчёт объёмов.

  4. Создайте черновик артефакта, связанного с ID доказательства.

  5. Просмотрите и отредактируйте черновик вне сервера перед любым внешним действием.

Инструменты

Tool

Purpose

External side effect

create_project

Создать локальную JSON-запись проекта

Только локальный файл

record_site_evidence

Записать заметку, измерение или ссылку на медиа с указанием источника

Только локальный файл

get_project

Прочитать полную локальную запись

Нет

calculate_surface_area

Площадь с учётом указанного коэффициента отходов

Нет

calculate_concrete_volume

Объём прямоугольной формы в кубических ярдах

Нет

calculate_sheet_count

Целые листы с учётом указанных отходов

Нет

calculate_linear_pieces

Целые заготовки с учётом указанных отходов

Нет

draft_daily_log

Черновик сводки по трудозатратам, связанный с доказательствами

Только локальный файл

draft_estimate

Черновик сметы с расчётом по единицам

Только локальный файл

draft_change_order

Черновик изменения объёма/стоимости/графика

Только локальный файл

Финансовые и проектные артефакты всегда возвращают:

{
  "status": "draft",
  "requires_human_approval": true,
  "external_action_performed": false
}

Установка и тестирование

Требования: Python 3.12+ и uv.

uv sync --extra dev
uv run pytest
uv run open-jobsite --version

Запустите MCP-сервер через stdio:

uv run open-jobsite

Синтетическая демонстрация

Папка demo/ содержит синтетический сквозной рабочий процесс, промпт, фиксированные ожидаемые результаты, лаунчер goose CLI для Windows и предварительную проверку (preflight), которая запускает реальный STDIO-сервер. Запустите предварительную проверку с помощью:

uv run python demo/run_demo.py

Предварительная проверка также является частью GitHub Actions. Она проверяет тот же поток доказательств, расчётов, смет, ежедневных журналов и этапов утверждения, который предназначен для будущей видеозаписи экрана. Запись не включена в v0.1.

Данные по умолчанию сохраняются в .open-jobsite-data/. Выберите другую локальную папку с помощью --data-dir PATH или переменной окружения OPEN_JOBSITE_DATA_DIR.

Подключение к goose Desktop

Сначала соберите и протестируйте репозиторий. Затем добавьте пользовательское расширение STDIO в goose Desktop со следующими параметрами:

  • Команда: абсолютный путь к uv (where uv в Windows)

  • Аргументы: run --directory C:\absolute\path\to\open-jobsite open-jobsite

  • Окружение: при необходимости задайте OPEN_JOBSITE_DATA_DIR, указав частную папку с данными проектов

Используйте только синтетические данные в публичной демонстрации. Синтетический промпт был запущен через goose CLI 1.46.0 в Windows; см. запись о проверке. Локальный запуск MCP в Berd ещё не проверен.

Проверенные результаты v0.1

По состоянию на 2026-08-27:

  • 28 автоматических тестов проходят в Windows.

  • все пять синтетических бенчмарк-кейсов проходят, включая четыре точных числовых случая и три инварианта утверждения.

  • реальная предварительная проверка STDIO выдаёт 108 квадратных футов, четыре листа, промежуточный итог CAD 344.00, итог CAD 378.40 и 6.00 человеко-часов.

  • изолированный запуск goose CLI в Windows создал две записи доказательств и два черновых артефакта с теми же ожидаемыми значениями.

Это узкие проверки программного обеспечения, а не заявления о точности полевых данных, точности смет, соответствии нормам или результатах для пользователей.

Пример аргументов MCP

Сложные входные данные используют типизированные массивы, чтобы goose видел обязательные поля в схеме MCP. Для draft_estimate минимальное значение line_items выглядит так:

[
  {
    "description": "Synthetic wallboard",
    "quantity": 3,
    "unit": "sheet",
    "unit_cost": 18.5,
    "evidence_ids": ["ev-example"]
  }
]

ID доказательства должен уже существовать в том же проекте.

Карта репозитория

  • src/open_jobsite/: детерминированное ядро, локальное хранилище, артефакты, MCP-инструменты

  • skills/: переносимые инструкции по полевым рабочим процессам для goose

  • benchmark/: синтетические машиночитаемые оценочные кейсы

  • demo/: воспроизводимая предварительная проверка, лаунчер goose для Windows и план записи

  • examples/: синтетическая примерная запись проекта

  • tests/: тесты ядра и внутрипроцессные тесты протокола MCP

  • docs/architecture.md: дизайн компонентов и границ доверия

  • docs/threat-model.md: текущие риски и меры по их снижению

Безопасность и ограничения

Эта альфа-версия не является сметной, юридической, договорной, налоговой, конструкционной, нормативной консультацией или консультацией по безопасности. Она не проверяет условия на объекте, не проверяет планы, не оптимизирует раскрой, не подтверждает цены и не заменяет квалифицированного специалиста. Правильный расчёт всё равно может быть основан на неверном измерении или допущении. Проверяйте все результаты на соответствие актуальным чертежам, договорам, нормам, инструкциям производителя и условиям на объекте.

Не помещайте имена арендаторов, адреса, учётные данные, личные фотографии, записи клиентов или конфиденциальные данные о ценах в публичные примеры или отчёты об ошибках. См. SECURITY.md и docs/threat-model.md.

Дорожная карта

  • Q1: стабильная схема, 25 бенчмарк-кейсов, CI, демо goose/Berd для Windows, вклад в вышестоящий проект goose

  • Q2: адаптеры для голоса/фото/PDF, двуязычные рабочие процессы, MCP-приложение для проверки происхождения данных, три безопасно задокументированных пилота

  • Q3: история ревизий, обнаружение изменений, локальные адаптеры прайс-листов, усиление безопасности, три внешних пилота

  • Q4: v1.0, 50+ бенчмарк-задач, исследование удобства использования с пятью полевыми пользователями, документация для сопровождающих

См. CONTRIBUTING.md, чтобы принять участие. Лицензия Apache-2.0.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/raoulstongea/open-jobsite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server