soma — protocol for agent rhythm and vows
Protocol for agent rhythm and vows: who promised what, and by when.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (16)
- LOWen soma_send
- LOWen soma_inbox
- LOWen soma_claim
- LOWen soma_complete
- LOWen soma_route
- LOWen soma_verify
- LOWen soma_stats
- LOWen soma_recall
- LOWen soma_export
- LOWen soma_nonce
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"soma": {
"url": "https://rta.lat/soma/mcp"
}
}
}Puntos de conexión remotos
https://rta.lat/soma/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (17)
🟡soma_send(goal, task, to, sender, capability, ...)
Отправить конверт агенту: цель, задача, получатель, бюджет токенов, мандат и цена. Конверт подписывается и попадает в очередь.
Esquema de entrada
{
"type": "object",
"properties": {
"goal": {
"title": "Goal",
"type": "string"
},
"task": {
"title": "Task",
"type": "string"
},
"to": {
"default": "*",
"title": "To",
"type": "string"
},
"sender": {
"default": "mcp",
"title": "Sender",
"type": "string"
},
"capability": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Capability"
},
"token_budget": {
"default": 2000,
"title": "Token Budget",
"type": "integer"
},
"context_query": {
"default": "",
"title": "Context Query",
"type": "string"
},
"max_cost_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Cost Usd"
},
"price_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Usdc"
},
"cost_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Cost Usdc"
},
"ttl_s": {
"default": 3600,
"title": "Ttl S",
"type": "number"
},
"visibility": {
"default": "private",
"title": "Visibility",
"type": "string"
}
},
"required": [
"goal",
"task"
],
"title": "soma_sendArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_sendOutput"
}⚪soma_inbox(agent, limit)
Что ждёт агента: конверты, проверка подписи и контекст, собранный под бюджет токенов.
Esquema de entrada
{
"type": "object",
"properties": {
"agent": {
"title": "Agent",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
}
},
"required": [
"agent"
],
"title": "soma_inboxArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_inboxOutput"
}⚪soma_claim(id, agent, payment)
Забрать конверт из очереди (эксклюзивно) и получить контекст под бюджет. Если у работы назначена цена — нужна квитанция.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string"
},
"agent": {
"title": "Agent",
"type": "string"
},
"payment": {
"default": "",
"title": "Payment",
"type": "string"
}
},
"required": [
"id",
"agent"
],
"title": "soma_claimArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_claimOutput"
}⚪soma_complete(id, result, agent)
Закрыть конверт результатом работы.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string"
},
"result": {
"title": "Result",
"type": "string"
},
"agent": {
"default": "",
"title": "Agent",
"type": "string"
}
},
"required": [
"id",
"result"
],
"title": "soma_completeArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_completeOutput"
}⚪soma_route(id)
Подобрать исполнителя по capability, мандату и цене. Если кандидата нет — вернётся честная причина отказа.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string"
}
},
"required": [
"id"
],
"title": "soma_routeArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_routeOutput"
}⚪soma_verify(envelope_json)
Проверить подпись конверта офлайн: Ed25519, публичный ключ едет вместе с подписью.
Esquema de entrada
{
"type": "object",
"properties": {
"envelope_json": {
"title": "Envelope Json",
"type": "string"
}
},
"required": [
"envelope_json"
],
"title": "soma_verifyArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_verifyOutput"
}⚪soma_stats
Состояние хаба: конверты по статусам, факты, связи, холодные артефакты.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "soma_statsArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_statsOutput"
}⚪soma_remember(text, tags, importance, kind, source, ...)
Запомнить факт: переживает сессии и смену модели. Теги для поиска, importance 1–5.
Esquema de entrada
{
"type": "object",
"properties": {
"text": {
"title": "Text",
"type": "string"
},
"tags": {
"default": "",
"title": "Tags",
"type": "string"
},
"importance": {
"default": 3,
"title": "Importance",
"type": "integer"
},
"kind": {
"default": "fact",
"title": "Kind",
"type": "string"
},
"source": {
"default": "",
"title": "Source",
"type": "string"
},
"session": {
"default": "",
"title": "Session",
"type": "string"
}
},
"required": [
"text"
],
"title": "soma_rememberArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_rememberOutput"
}⚪soma_recall(query, k)
Найти факты: полнотекстовый поиск по смыслу, ранжирование по важности и свежести.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"k": {
"default": 10,
"title": "K",
"type": "integer"
}
},
"required": [
"query"
],
"title": "soma_recallArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_recallOutput"
}⚪soma_export(limit)
Выгрузить все факты и конверты узла одним JSON — право выхода без замка и без удаления за вами.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"default": 5000,
"title": "Limit",
"type": "integer"
}
},
"title": "soma_exportArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_exportOutput"
}⚪soma_nonce(agent)
Одноразовый нонс для регистрации внешнего агента: доказательство владения ключом.
Esquema de entrada
{
"type": "object",
"properties": {
"agent": {
"title": "Agent",
"type": "string"
}
},
"required": [
"agent"
],
"title": "soma_nonceArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_nonceOutput"
}⚪soma_register(agent, public_key, proof, capabilities, cost_per_call)
Зарегистрировать внешнего агента: имя, публичный ключ Ed25519, подпись нонса, способности и цена за вызов.
Esquema de entrada
{
"type": "object",
"properties": {
"agent": {
"title": "Agent",
"type": "string"
},
"public_key": {
"title": "Public Key",
"type": "string"
},
"proof": {
"title": "Proof",
"type": "string"
},
"capabilities": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Capabilities"
},
"cost_per_call": {
"default": 0,
"title": "Cost Per Call",
"type": "number"
}
},
"required": [
"agent",
"public_key",
"proof"
],
"title": "soma_registerArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_registerOutput"
}⚪soma_agents
Реестр агентов: кто зарегистрирован, что умеет, сколько стоит. Публичная витрина доверия.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "soma_agentsArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_agentsOutput"
}⚪soma_reputation(agent)
Репутация агента по фактам: подписанные квитанции, нарушения и итоговый счёт.
Esquema de entrada
{
"type": "object",
"properties": {
"agent": {
"title": "Agent",
"type": "string"
}
},
"required": [
"agent"
],
"title": "soma_reputationArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_reputationOutput"
}⚪soma_reflect(query, k, save)
Собрать наблюдение по запросу: связка фактов с источниками и рёбрами derived_from. Ответ указывает, из чего выведен.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"k": {
"default": 8,
"title": "K",
"type": "integer"
},
"save": {
"default": true,
"title": "Save",
"type": "boolean"
}
},
"required": [
"query"
],
"title": "soma_reflectArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_reflectOutput"
}🟡soma_cold_put(text)
Положить большой артефакт в холодный ярус. Возвращает ссылку sha256 — тело не жжёт контекст.
Esquema de entrada
{
"type": "object",
"properties": {
"text": {
"title": "Text",
"type": "string"
}
},
"required": [
"text"
],
"title": "soma_cold_putArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_cold_putOutput"
}🟢soma_cold_get(ref)
Достать артефакт по ссылке sha256; содержимое сверяется с хешем.
Esquema de entrada
{
"type": "object",
"properties": {
"ref": {
"title": "Ref",
"type": "string"
}
},
"required": [
"ref"
],
"title": "soma_cold_getArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "soma_cold_getOutput"
}Comunidad
Evidencia