Promise

Evidence-backed follow-through memory for what you owe, await, and need to remember.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
78%
Calidad de los nombres
93%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'get_today' description lacks action verben get_today

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,379Tokens (definiciones de herramientas)
~777 BTamaño de respuesta típico
Impacto moderado en la atención (1.08% del contexto de 128k)

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": {
    "promise": {
      "url": "https://mcp.usepromise.ai/mcp"
    }
  }
}

Puntos de conexión remotos

https://mcp.usepromise.ai/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (11)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢connect_promise(clientName, returnUrl, state, intent, scopes)

Return a Promise signup URL for users who want agent access to follow-up memory. Safety: Never collects provider credentials in the agent. Send the user to Promise.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "clientName": {
      "type": "string",
      "description": "Name of the agent or MCP client requesting access."
    },
    "returnUrl": {
      "type": "string",
      "description": "HTTPS URL the user can return to after Promise authorization."
    },
    "state": {
      "type": "string",
      "description": "Opaque agent state returned unchanged after authorization."
    },
    "intent": {
      "type": "string",
      "description": "Signup intent to preserve in Promise attribution."
    },
    "scopes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "promise.memory.read",
          "promise.evidence.read",
          "promise.capture.write",
          "promise.followup.write",
          "promise.draft.write"
        ]
      }
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_today(horizonDays)

Return what currently deserves the user's attention. Safety: Return concise items and links back to Promise for sensitive action.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "horizonDays": {
      "type": "integer",
      "minimum": 0,
      "maximum": 30,
      "default": 7
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢list_commitments(category, scope, limit)

List what the user owes and what the user is waiting on. Safety: Do not infer more certainty than Promise returns.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "all",
        "waitingOnMe",
        "waitingOnThem",
        "dueSoon",
        "overdue"
      ],
      "default": "all"
    },
    "scope": {
      "type": "string",
      "enum": [
        "active",
        "snoozed",
        "history"
      ],
      "default": "active"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 25
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_commitment(id)

Retrieve a structured Promise commitment or waiting-on item. Safety: Prefer structured status, due dates, people, and source links over raw mail.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢get_commitment_evidence(id)

Show why Promise believes a follow-up or memory exists. Safety: Return source summaries and citations permitted by the platform API.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢get_person_context(contactId, query, limit)

Summarize what matters before the user speaks with someone. Safety: Avoid exposing hidden/private fields unless the platform scopes allow them.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "contactId": {
      "type": "string",
      "format": "uuid"
    },
    "query": {
      "type": "string",
      "description": "Name or email search when contactId is unknown."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 5
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_memory(query, limit)

Search Promise's derived memory with user authorization. Safety: Search derived Promise memory, not raw provider mailboxes.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
⚪capture_note(transcript, title, kind, personName, contactId, ...)

Let a user tell Promise something to remember. Safety: Echo what Promise understood and require review when the platform requests it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "transcript": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "enum": [
        "task",
        "follow_up",
        "remember"
      ],
      "default": "remember"
    },
    "personName": {
      "type": "string"
    },
    "contactId": {
      "type": "string",
      "format": "uuid"
    },
    "dueAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "transcript"
  ],
  "additionalProperties": false
}
🟡create_follow_up(title, transcript, personName, contactId, dueAt, ...)

Create a future follow-up from explicit user intent. Safety: Only create follow-ups from explicit user instructions.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "transcript": {
      "type": "string"
    },
    "personName": {
      "type": "string"
    },
    "contactId": {
      "type": "string",
      "format": "uuid"
    },
    "dueAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "title"
  ],
  "additionalProperties": false
}
⚪mark_resolved(id)

Tell Promise that a commitment or waiting-on item is complete. Safety: Confirm destructive or irreversible status changes in the agent UI.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟡draft_follow_up(commitmentId, personName, context, goal)

Draft a follow-up message without sending it. Safety: Do not send email in v1. Return a draft and Promise confirmation link.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "commitmentId": {
      "type": "string",
      "format": "uuid"
    },
    "personName": {
      "type": "string"
    },
    "context": {
      "type": "string"
    },
    "goal": {
      "type": "string"
    }
  },
  "required": [],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada11 herramientas
verificadoversión no registrada11 herramientas