DAP Foundry

Tools that refuse rather than guess: settlement day counts, Unix timestamps, base64, line diffs.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
100%
Integridad del esquema
96%
Calidad de los nombres
55%
Riesgo de envenenamiento
20%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (10)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen compute-day-count-to-settlement
  • MEDIUMTool description contains URL to non-standard domainen convert-unix-timestamp-to-date
  • MEDIUMTool description contains URL to non-standard domainen decode-base64-to-text
  • MEDIUMTool description contains URL to non-standard domainen diff-two-line-lists
  • LOWTool 'compute-day-count-to-settlement' doesn't follow camelCase/snake_caseen compute-day-count-to-settlement
  • LOWTool 'compute-day-count-to-settlement' name length outside 3-30 rangeen compute-day-count-to-settlement
  • LOWTool 'convert-unix-timestamp-to-date' doesn't follow camelCase/snake_caseen convert-unix-timestamp-to-date
  • LOWTool 'decode-base64-to-text' doesn't follow camelCase/snake_caseen decode-base64-to-text
  • LOWTool 'diff-two-line-lists' doesn't follow camelCase/snake_caseen diff-two-line-lists

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

Costo de contexto

~1,359Tokens (definiciones de herramientas)
~1.5 KBTamaño de respuesta típico
Impacto moderado en la atención (1.06% 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": {
    "foundry": {
      "url": "https://foundry.dap.solutions/mcp"
    }
  }
}

Puntos de conexión remotos

https://foundry.dap.solutions/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢compute-day-count-to-settlement(accrual_start, trade_date, settlement_lag, calendar, convention, ...)

Settlement date on the Payments Canada holiday calendar, and the accrual fraction under ACT/360, ACT/365F, 30/360, 30E/360 or ACT/ACT-ISDA. Send all seven inputs, including acknowledge no-ruling-v1 and a freshness_tolerance in whole days written P<n>D. It refuses rather than guesses: a missing acknowledgement or tolerance, a tolerance over the ratified ceiling, calendar data older than your tolerance, a trade date outside the calendar's coverage or not a business day, and any missing, unknown or malformed input. Costs $0.01 in USDC on Base per computed answer, under x402; a refusal is not charged. The answer is the JSON envelope of https://foundry.dap.solutions/api/compute-day-count-to-settlement, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md

Esquema de entrada

{
  "type": "object",
  "properties": {
    "accrual_start": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "a real calendar date, the first day of the accrual period, counted"
    },
    "trade_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "a business day on the calendar"
    },
    "settlement_lag": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[0-5]$"
        },
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 5
        }
      ]
    },
    "calendar": {
      "type": "string",
      "enum": [
        "ca-payments-canada"
      ]
    },
    "convention": {
      "type": "string",
      "enum": [
        "ACT/360",
        "ACT/365F",
        "30/360",
        "30E/360",
        "ACT/ACT-ISDA"
      ]
    },
    "acknowledge": {
      "type": "string",
      "enum": [
        "no-ruling-v1"
      ]
    },
    "freshness_tolerance": {
      "type": "string",
      "pattern": "^P(0|[1-9][0-9]{0,3})D$",
      "description": "at most the ratified ceiling"
    }
  },
  "required": [
    "accrual_start",
    "trade_date",
    "settlement_lag",
    "calendar",
    "convention",
    "acknowledge",
    "freshness_tolerance"
  ],
  "additionalProperties": false
}
🟢convert-unix-timestamp-to-date(text)

Unix timestamps to UTC dates in ISO 8601. text holds one or more timestamps, one per line: whole seconds or milliseconds, where a magnitude of 100000000000 or more is milliseconds. The answer is a CSV of input, unit and date. It refuses empty text, more than 1,048,576 bytes or 10,000 lines, and any line that is not digits with an optional leading minus inside the years 0001 to 9999. Free. The answer is the JSON envelope of https://foundry.dap.solutions/api/convert-unix-timestamp-to-date, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "One or more Unix timestamps, one per line: whole seconds or milliseconds, digits with an optional leading minus, inside the years 0001 to 9999. At most 1,048,576 bytes of UTF-8 and 10,000 lines; a line break at the very end is not a line."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}
🟢decode-base64-to-text(text)

Base64 to UTF-8 text. text holds standard base64: A to Z, a to z, 0 to 9, + and /, padding optional; white space is ignored. It refuses empty text, more than 1,048,576 bytes, the URL-safe alphabet, a length or padding that cannot be base64, and bytes that are not valid UTF-8. Free. The answer is the JSON envelope of https://foundry.dap.solutions/api/decode-base64-to-text, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Base64 that decodes to UTF-8 text: the letters A to Z and a to z, the digits 0 to 9, + and /, then one or two = of padding at the end, which may be left out but, when given, must make the length a multiple of four. A length that leaves one character over a multiple of four is refused. White space anywhere is ignored and not counted in the length. At most 1,048,576 bytes of UTF-8, white space included."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}
🟢diff-two-line-lists(text)

Compare two lists of lines. text holds a line ---A---, then list A, then a line ---B---, then list B. The answer is a CSV of each distinct line, matched exactly as sent, marked only_a, only_b or both. It refuses empty text, more than 1,048,576 bytes or 50,000 lines, and a text without the two markers in that order. Free. The answer is the JSON envelope of https://foundry.dap.solutions/api/diff-two-line-lists, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Two lists of lines: a line ---A---, then list A, then a line ---B---, then list B, one item per line. At most 1,048,576 bytes of UTF-8 and 50,000 lines; a line break at the very end is not a line."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas