# Sign and register statements on a Forestrie log

Сервер подписывает данные, отправляет их в журнал Forestrie и проверяет квитанцию. Он также оформляет дочерние гранты и может оплатить их через x402 в заданных пределах.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Автор: forestrie
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/forestrie/mcp-register
- Обновлён: 2026-10-20
- HTML: https://affpapa.org/nevibecode/mcp/sign-and-register-statements-on-a-forestrie-log

## Что делает

MCP-сервер подписывает переданные данные ключом журнала и регистрирует их в журнале прозрачности Forestrie. После регистрации агент проверяет статус, дожидается печати и сохраняет квитанцию, затем может проверить её. Для подписи сервер хранит ключи; модель получает данные, но не передаёт ключи или подписи.

Отдельный сценарий — выпуск и регистрация дочернего гранта. Оплату через x402 можно поручить серверу с настроенными лимитами либо оплатить самостоятельно: без настроенного плательщика сервер возвращает требования к оплате и продолжает работу после передачи платежа. Для установки нужны `FORESTRIE_GRANT` и `FORESTRIE_AUTHORITY_GRANT`; для регистрации гранта используется грант журнала полномочий. Данные для подписи принимаются как base64 или путь к файлу, с указанным типом содержимого, размером до 4 MiB.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `FORESTRIE_BASE_URL`, `FORESTRIE_ROOT_LOG_ID`, `FORESTRIE_GRANT`, `FORESTRIE_AUTHORITY_GRANT`, `FORESTRIE_COORDINATOR_URL`, `FORESTRIE_KNOWN_SEALER_KEY`, `MCP_REGISTER_HOME`, `MCP_REGISTER_KEY_FILE`, `MCP_REGISTER_AUTHORITY_KEY_FILE`, `MCP_REGISTER_PAYER_KEY_FILE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env FORESTRIE_BASE_URL=<FORESTRIE_BASE_URL> --env FORESTRIE_ROOT_LOG_ID=<FORESTRIE_ROOT_LOG_ID> --env FORESTRIE_GRANT=<FORESTRIE_GRANT> --env FORESTRIE_AUTHORITY_GRANT=<FORESTRIE_AUTHORITY_GRANT> --env FORESTRIE_COORDINATOR_URL=<FORESTRIE_COORDINATOR_URL> --transport stdio sign-and-register-statements-on-a-forestrie-log -- npx -y @forestrie/mcp-register
```
Вместо <…> подставьте свои значения. Ещё 11 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add sign-and-register-statements-on-a-forestrie-log --env FORESTRIE_BASE_URL=<FORESTRIE_BASE_URL> --env FORESTRIE_ROOT_LOG_ID=<FORESTRIE_ROOT_LOG_ID> --env FORESTRIE_GRANT=<FORESTRIE_GRANT> --env FORESTRIE_AUTHORITY_GRANT=<FORESTRIE_AUTHORITY_GRANT> --env FORESTRIE_COORDINATOR_URL=<FORESTRIE_COORDINATOR_URL> -- npx -y @forestrie/mcp-register
```
Вместо <…> подставьте свои значения. Ещё 11 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "sign-and-register-statements-on-a-forestrie-log": {
            "command": "npx",
            "args": [
                "-y",
                "@forestrie/mcp-register"
            ],
            "env": {
                "FORESTRIE_BASE_URL": "<FORESTRIE_BASE_URL>",
                "FORESTRIE_ROOT_LOG_ID": "<FORESTRIE_ROOT_LOG_ID>",
                "FORESTRIE_GRANT": "<FORESTRIE_GRANT>",
                "FORESTRIE_AUTHORITY_GRANT": "<FORESTRIE_AUTHORITY_GRANT>",
                "FORESTRIE_COORDINATOR_URL": "<FORESTRIE_COORDINATOR_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 11 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "sign-and-register-statements-on-a-forestrie-log": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@forestrie/mcp-register"
            ],
            "env": {
                "FORESTRIE_BASE_URL": "<FORESTRIE_BASE_URL>",
                "FORESTRIE_ROOT_LOG_ID": "<FORESTRIE_ROOT_LOG_ID>",
                "FORESTRIE_GRANT": "<FORESTRIE_GRANT>",
                "FORESTRIE_AUTHORITY_GRANT": "<FORESTRIE_AUTHORITY_GRANT>",
                "FORESTRIE_COORDINATOR_URL": "<FORESTRIE_COORDINATOR_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 11 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e FORESTRIE_BASE_URL=<FORESTRIE_BASE_URL> -e FORESTRIE_ROOT_LOG_ID=<FORESTRIE_ROOT_LOG_ID> -e FORESTRIE_GRANT=<FORESTRIE_GRANT> -e FORESTRIE_AUTHORITY_GRANT=<FORESTRIE_AUTHORITY_GRANT> -e FORESTRIE_COORDINATOR_URL=<FORESTRIE_COORDINATOR_URL> sign-and-register-statements-on-a-forestrie-log npx -y @forestrie/mcp-register
```
Вместо <…> подставьте свои значения. Ещё 11 переменных окружения — в README сервера

## Когда брать
- подписать данные и зарегистрировать их в журнале Forestrie
- проверить статус регистрации и сохранить квитанцию
- проверить квитанцию по зарегистрированным данным
- выпустить дочерний грант для журнала данных
- оплатить регистрацию гранта в пределах заданных лимитов

## Примеры запросов агенту
- Подпиши этот файл и зарегистрируй его в журнале Forestrie.
- Проверь статус регистрации и подтверди квитанцию по исходным данным.
- Выпусти дочерний грант для журнала данных и зарегистрируй его с оплатой в пределах лимитов.

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
