# Touchstone

Touchstone записывает действия агента в журнал с внешней привязкой и локальной подписью. Он пригодится, когда нужно раскрыть или проверить отдельные записи.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Автор: Touchstone-CV
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/Touchstone-CV/touchstone-mcp
- Обновлён: 2026-09-03
- HTML: https://affpapa.org/nevibecode/mcp/touchstone

## Что делает

Локальный MCP-сервер фиксирует события агента в журнале Touchstone. Перед записью он канонизирует данные и подписывает их ключом Ed25519 на вашей машине; ключ не отправляется сервису. Сервер работает через stdio и требует Node 18+, ID рекордера и API-ключ. Для записи также нужны `TOUCHSTONE_SUBJECT` и ключ подписи.

Инструмент `touchstone_disclose` создаёт ссылку для раскрытия записи, а `touchstone_verify` проверяет пакет раскрытия; эти операции обращаются к удалённому сервису. С выборочным раскрытием можно показать отдельные поля, сохранив остальные скрытыми. Это не полностью автономный журнал: раскрытие и проверка зависят от удалённого сервиса.

## Требования
- Нужно: Node.js (команды через npx)
- Удалённый сервер: `https://touchstone.cv/mcp`
- Переменные окружения: `TOUCHSTONE_RECORDER`, `TOUCHSTONE_SUBJECT`, `TOUCHSTONE_API_KEY`, `TOUCHSTONE_SIGNING_KEY`, `TOUCHSTONE_KEY_FILE`, `TOUCHSTONE_BASE_URL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

1. **Командой платформы**
```bash
claude mcp add --env TOUCHSTONE_RECORDER=<TOUCHSTONE_RECORDER> --env TOUCHSTONE_SUBJECT=<TOUCHSTONE_SUBJECT> --env TOUCHSTONE_API_KEY=<TOUCHSTONE_API_KEY> --env TOUCHSTONE_SIGNING_KEY=<TOUCHSTONE_SIGNING_KEY> --env TOUCHSTONE_KEY_FILE=<TOUCHSTONE_KEY_FILE> --transport stdio touchstone -- npx -y @touchstone-cv/mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

2. **Командой платформы: удалённый сервер**
```bash
claude mcp add --transport http touchstone https://touchstone.cv/mcp
```

### Codex

1. **Командой платформы: удалённый сервер**
```bash
codex mcp add touchstone --url https://touchstone.cv/mcp
```

2. **Командой платформы**
```bash
codex mcp add touchstone --env TOUCHSTONE_RECORDER=<TOUCHSTONE_RECORDER> --env TOUCHSTONE_SUBJECT=<TOUCHSTONE_SUBJECT> --env TOUCHSTONE_API_KEY=<TOUCHSTONE_API_KEY> --env TOUCHSTONE_SIGNING_KEY=<TOUCHSTONE_SIGNING_KEY> --env TOUCHSTONE_KEY_FILE=<TOUCHSTONE_KEY_FILE> -- npx -y @touchstone-cv/mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "touchstone": {
            "url": "https://touchstone.cv/mcp"
        }
    }
}
```
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "touchstone": {
            "command": "npx",
            "args": [
                "-y",
                "@touchstone-cv/mcp"
            ],
            "env": {
                "TOUCHSTONE_RECORDER": "<TOUCHSTONE_RECORDER>",
                "TOUCHSTONE_SUBJECT": "<TOUCHSTONE_SUBJECT>",
                "TOUCHSTONE_API_KEY": "<TOUCHSTONE_API_KEY>",
                "TOUCHSTONE_SIGNING_KEY": "<TOUCHSTONE_SIGNING_KEY>",
                "TOUCHSTONE_KEY_FILE": "<TOUCHSTONE_KEY_FILE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "touchstone": {
            "type": "http",
            "url": "https://touchstone.cv/mcp"
        }
    }
}
```
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "touchstone": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@touchstone-cv/mcp"
            ],
            "env": {
                "TOUCHSTONE_RECORDER": "<TOUCHSTONE_RECORDER>",
                "TOUCHSTONE_SUBJECT": "<TOUCHSTONE_SUBJECT>",
                "TOUCHSTONE_API_KEY": "<TOUCHSTONE_API_KEY>",
                "TOUCHSTONE_SIGNING_KEY": "<TOUCHSTONE_SIGNING_KEY>",
                "TOUCHSTONE_KEY_FILE": "<TOUCHSTONE_KEY_FILE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Gemini CLI

1. **Командой платформы: удалённый сервер**
```bash
gemini mcp add -t http touchstone https://touchstone.cv/mcp
```

2. **Командой платформы**
```bash
gemini mcp add -e TOUCHSTONE_RECORDER=<TOUCHSTONE_RECORDER> -e TOUCHSTONE_SUBJECT=<TOUCHSTONE_SUBJECT> -e TOUCHSTONE_API_KEY=<TOUCHSTONE_API_KEY> -e TOUCHSTONE_SIGNING_KEY=<TOUCHSTONE_SIGNING_KEY> -e TOUCHSTONE_KEY_FILE=<TOUCHSTONE_KEY_FILE> touchstone npx -y @touchstone-cv/mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

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

## Примеры запросов агенту
- Запиши вызов инструмента и его результат через `touchstone_record`.
- Создай ссылку на раскрытие записи с номером `n` через `touchstone_disclose`.
- Проверь этот пакет раскрытия с помощью `touchstone_verify`.

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 392262
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33989
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81163
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119231

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

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