---
schema: "interfacedelta-service-md/1"
target_key: "sha256:c118642716617f6edd8bd31fafc052b32280155354b5fcce474e658cc5eb3959"
origin: "https://api.keenable.ai"
protocols: ["mcp"]
observed_at: "2026-11-15T21:05:29.505Z"
generated_at: "2026-11-15T23:12:41.853Z"
record_url: "https://interfacedelta.com/atlas/sha256:c118642716617f6edd8bd31fafc052b32280155354b5fcce474e658cc5eb3959"
record_api: "https://interfacedelta.com/api/v1/record/services/sha256:c118642716617f6edd8bd31fafc052b32280155354b5fcce474e658cc5eb3959"
source: "InterfaceDelta atlas"
license_note: "Use of this record is governed by https://interfacedelta.com/terms."
---

# Service record: https://api.keenable.ai

## Identity
- Origin: https://api.keenable.ai
- Endpoints: https://api.keenable.ai/mcp?keenable\_title=mcp-registry
- Protocols: mcp
- Registry names: ai.keenable/web-search
- First retained observation: 2026-11-07T15:05:13.277Z
- Latest observation: 2026-11-15T21:05:29.505Z

## Tools
MCP tools, OpenAPI operations, WebMCP tools and A2A skills; excludes prompts and resources.
Total capabilities: 2; non-tool capabilities: 0.
- Tool 1: fetch\_page\_content (mcp); inputs: live, max\_chars, output\_format, prompt, session\_id, url; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}
- Tool 2: search\_web\_pages (mcp); inputs: acquired\_after, acquired\_before, disable\_cards, exclude\_domains, max\_results, mode, output\_format, published\_after; inputs omitted: 6; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}
Tools omitted: 0.

## Change and registration declarations
- MCP listChanged declared: tools no; prompts no; resources no.
- OAuth dynamic client registration declared: not_observed.
Declarations only; notification delivery and registration were not tested. Not observed means unknown.

## Effect readings (AI)
- Tool 1 (fetch\_page\_content): ◇ AI reading; state: counted; reads (confidence 0.84); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 2 (search\_web\_pages): ◇ AI reading; state: counted; reads (confidence 0.85); lens: side-effects@1; model: claude-haiku-5.5.

## Change history
- 2026-11-15T21:05:29.505Z: breaking.

## Payment rails
- Protocols observed: none.
- HTTP 402 seen in retained observations: false.

## Not covered
- We don't call tools.
- We don't rate or certify.
- We don't publish prices.
- We cover only what was observed.

## Evidence
- Identity: observed / declared; observation time: 2026-11-15T21:05:29.505Z.
- Tools: declared; observation time: 2026-11-15T21:05:29.505Z.
- Change and registration declarations: declared; observation time: 2026-11-15T21:05:29.505Z.
- Effect readings (AI): AI reading; observation time: 2026-11-15T21:05:29.505Z.
- Change history: observed; observation time: 2026-11-15T21:05:29.505Z; change observation times: 2026-11-15T21:05:29.505Z.
- Payment rails: observed; observation time: 2026-11-15T21:05:29.505Z.

```json
{
  "schema": "interfacedelta-service-md/1",
  "target_key": "sha256:c118642716617f6edd8bd31fafc052b32280155354b5fcce474e658cc5eb3959",
  "origin": "https://api.keenable.ai",
  "protocols": [
    "mcp"
  ],
  "observed_at": "2026-11-15T21:05:29.505Z",
  "generated_at": "2026-11-15T23:12:41.853Z",
  "record_url": "https://interfacedelta.com/atlas/sha256:c118642716617f6edd8bd31fafc052b32280155354b5fcce474e658cc5eb3959",
  "record_api": "https://interfacedelta.com/api/v1/record/services/sha256:c118642716617f6edd8bd31fafc052b32280155354b5fcce474e658cc5eb3959",
  "source": "InterfaceDelta atlas",
  "license_note": "Use of this record is governed by https://interfacedelta.com/terms.",
  "identity": {
    "origin": "https://api.keenable.ai",
    "endpoints": [
      "https://api.keenable.ai/mcp?keenable_title=mcp-registry"
    ],
    "protocols": [
      "mcp"
    ],
    "registry_names": [
      "ai.keenable/web-search"
    ],
    "first_retained_observation": "2026-11-07T15:05:13.277Z",
    "latest_observation": "2026-11-15T21:05:29.505Z"
  },
  "mcpChangeSignals": {
    "version": "mcp-change-signals-v1",
    "tools": "no",
    "prompts": "no",
    "resources": "no"
  },
  "oauthDynamicRegistration": {
    "version": "oauth-dynamic-registration-v1",
    "declared": "not_observed"
  },
  "tools": [
    {
      "name": "fetch_page_content",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [
        "live",
        "max_chars",
        "output_format",
        "prompt",
        "session_id",
        "url"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.84
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "search_web_pages",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [
        "acquired_after",
        "acquired_before",
        "disable_cards",
        "exclude_domains",
        "max_results",
        "mode",
        "output_format",
        "published_after"
      ],
      "inputs_omitted": 6,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.85
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    }
  ],
  "capability_count": 2,
  "non_tool_capability_count": 0,
  "tool_count_scope": "MCP tools, OpenAPI operations, WebMCP tools and A2A skills; excludes prompts and resources.",
  "tools_omitted": 0,
  "tools_state": "recorded",
  "changes": [
    {
      "date": "2026-11-15T21:05:29.505Z",
      "class": "breaking",
      "recorded_class": "breaking"
    }
  ],
  "payment_rails": {
    "protocols": [],
    "http_402_seen": false
  },
  "not_covered": [
    "We don't call tools.",
    "We don't rate or certify.",
    "We don't publish prices.",
    "We cover only what was observed."
  ],
  "evidence": [
    {
      "section": "Identity",
      "classes": [
        "observed",
        "declared"
      ],
      "observed_at": "2026-11-15T21:05:29.505Z"
    },
    {
      "section": "Tools",
      "classes": [
        "declared"
      ],
      "observed_at": "2026-11-15T21:05:29.505Z"
    },
    {
      "section": "Change and registration declarations",
      "classes": [
        "declared"
      ],
      "observed_at": "2026-11-15T21:05:29.505Z"
    },
    {
      "section": "Effect readings (AI)",
      "classes": [
        "AI reading"
      ],
      "observed_at": "2026-11-15T21:05:29.505Z"
    },
    {
      "section": "Change history",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-15T21:05:29.505Z",
      "observation_times": [
        "2026-11-15T21:05:29.505Z"
      ]
    },
    {
      "section": "Payment rails",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-15T21:05:29.505Z"
    }
  ]
}
```
