Touchstone — MCP-сервер для Claude Code: аудит действий
Touchstone записывает действия агента в журнал с внешней привязкой и локальной подписью. Он пригодится, когда нужно раскрыть или проверить отдельные записи.
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Что делает Touchstone
Локальный MCP-сервер фиксирует события агента в журнале Touchstone. Перед записью он канонизирует данные и подписывает их ключом Ed25519 на вашей машине; ключ не отправляется сервису. Сервер работает через stdio и требует Node 18+, ID рекордера и API-ключ. Для записи также нужны TOUCHSTONE_SUBJECT и ключ подписи.
Инструмент touchstone_disclose создаёт ссылку для раскрытия записи, а touchstone_verify проверяет пакет раскрытия; эти операции обращаются к удалённому сервису. С выборочным раскрытием можно показать отдельные поля, сохранив остальные скрытыми. Это не полностью автономный журнал: раскрытие и проверка зависят от удалённого сервиса.
Какие задачи решает
- записать действие агента в подписанный журнал
- создать ссылку для раскрытия записи
- проверить пакет раскрытия журнала
- раскрыть выбранные поля записи с доказательствами Merkle
Примеры запросов агенту
- Запиши вызов инструмента и его результат через
touchstone_record. - Создай ссылку на раскрытие записи с номером
nчерезtouchstone_disclose. - Проверь этот пакет раскрытия с помощью
touchstone_verify.
Как установить Touchstone
1Командой платформы
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Командой платформы: удалённый сервер
claude mcp add --transport http touchstone https://touchstone.cv/mcp1Командой платформы: удалённый сервер
codex mcp add touchstone --url https://touchstone.cv/mcp2Командой платформы
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 сервера
Файл настроек
{
"mcpServers": {
"touchstone": {
"url": "https://touchstone.cv/mcp"
}
}
}{
"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 сервера
Файл настроек
{
"servers": {
"touchstone": {
"type": "http",
"url": "https://touchstone.cv/mcp"
}
}
}{
"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 сервера
1Командой платформы: удалённый сервер
gemini mcp add -t http touchstone https://touchstone.cv/mcp2Командой платформы
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 сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Touchstone
Как установить Touchstone в Claude Code?
Добавьте локальный сервер командой `claude mcp add touchstone -e TOUCHSTONE_RECORDER=<TOUCHSTONE_RECORDER> -e TOUCHSTONE_SUBJECT=<TOUCHSTONE_SUBJECT> -e TOUCHSTONE_API_KEY=<TOUCHSTONE_API_KEY> -e TOUCHSTONE_SIGNING_KEY=<TOUCHSTONE_SIGNING_KEY> -- npx -y @touchstone-cv/mcp`. Для записи задайте ID рекордера, субъект, API-ключ и ключ подписи.
Что делает Touchstone?
Он записывает действия агента в журнал, подписывает события локальным ключом и предоставляет инструменты для раскрытия и проверки записей.
Можно ли раскрыть только часть данных записи?
Да. При записи включите selective_disclosure: true, затем укажите поля для раскрытия. Остальные значения не попадут в раскрытие, а открытые поля сопровождаются доказательствами Merkle.