Agentic Keychain

Registry that benchmarks reusable agent skills and sells some; its MCP tools evaluate and quote.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,196Tokens (tool definitions)
~1.8 KBTypical response size
Moderate attention impact (1.72% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agentic-keychain": {
      "url": "https://agentickeychain.com/mcp"
    }
  }
}

Remote endpoints

https://agentickeychain.com/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢evaluate_capability(task, capability, model, expected_runs, baseline_cost_estimate_usd, ...)

Decide whether a registry capability is worth buying for your task, from registry-run benchmarks only. Returns decision, expected effect, price, confidence, reasons, operator_message, next steps and an ak.offer.v1 offer (status, next_action, economics, the four evidence kinds listed apart). Give model, expected_runs and baseline_cost_estimate_usd for a money estimate.

Input Schema

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "Plain description of the task you are about to do (at most 4000 characters)."
    },
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    },
    "model": {
      "type": "string",
      "description": "The model you run on, e.g. claude-sonnet-5. Savings are reported only for measured models."
    },
    "expected_runs": {
      "type": "integer",
      "minimum": 1,
      "description": "How many times you expect to perform this kind of task."
    },
    "baseline_cost_estimate_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "What one run of this task costs you today without the capability, in USD."
    },
    "context": {
      "type": "object",
      "description": "Facts about your situation, keyed by the capability's parameter names (e.g. log_lines).",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean"
        ]
      }
    },
    "constraints": {
      "type": "object",
      "properties": {
        "max_cost_usd": {
          "type": "number",
          "minimum": 0
        },
        "minimum_confidence": {
          "type": "number",
          "minimum": 0.5,
          "maximum": 0.999
        }
      }
    },
    "budget_policy": {
      "type": "object",
      "description": "Your operator's spending policy; the answer says whether a purchase fits it. Every purchase still needs human approval.",
      "properties": {
        "monthly_budget_usd": {
          "type": "number"
        },
        "spent_this_month_usd": {
          "type": "number"
        },
        "absolute_purchase_limit_usd": {
          "type": "number"
        },
        "auto_purchase": {
          "type": "object"
        },
        "human_approval_required": {
          "type": "object"
        }
      }
    }
  },
  "required": [
    "task"
  ]
}
🟢search_capabilities(query, limit)

Lexical search over capability names, summaries, tasks and use-when conditions. Ranking is by relevance only, never by payment.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search words (at most 500 characters)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ]
}
🟢compare_capabilities(capabilities, task, model, expected_runs, baseline_cost_estimate_usd, ...)

Assess 2-5 capabilities side by side for the same inputs, with the same method and ak.offer.v1 offer shape as evaluate_capability.

Input Schema

{
  "type": "object",
  "properties": {
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
      },
      "minItems": 2,
      "maxItems": 5
    },
    "task": {
      "type": "string",
      "description": "Plain description of the task you are about to do (at most 4000 characters)."
    },
    "model": {
      "type": "string",
      "description": "The model you run on, e.g. claude-sonnet-5. Savings are reported only for measured models."
    },
    "expected_runs": {
      "type": "integer",
      "minimum": 1,
      "description": "How many times you expect to perform this kind of task."
    },
    "baseline_cost_estimate_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "What one run of this task costs you today without the capability, in USD."
    },
    "context": {
      "type": "object",
      "description": "Facts about your situation, keyed by the capability's parameter names (e.g. log_lines).",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "integer",
          "boolean"
        ]
      }
    },
    "constraints": {
      "type": "object",
      "properties": {
        "max_cost_usd": {
          "type": "number",
          "minimum": 0
        },
        "minimum_confidence": {
          "type": "number",
          "minimum": 0.5,
          "maximum": 0.999
        }
      }
    }
  },
  "required": [
    "capabilities"
  ]
}
🟢estimate_roi(capability, model, expected_runs, baseline_cost_estimate_usd)

Per measured model: expected saving per run, break-even runs and net saving over expected_runs, with intervals.

Input Schema

{
  "type": "object",
  "properties": {
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    },
    "model": {
      "type": "string",
      "description": "The model you run on, e.g. claude-sonnet-5. Savings are reported only for measured models."
    },
    "expected_runs": {
      "type": "integer",
      "minimum": 1,
      "description": "How many times you expect to perform this kind of task."
    },
    "baseline_cost_estimate_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "What one run of this task costs you today without the capability, in USD."
    }
  },
  "required": [
    "capability"
  ]
}
🟢get_capability(capability)

The capability's card: purpose, use-when and do-not-use-when conditions, permissions, price, evidence summary, trust checks, links and a task-independent ak.offer.v1 offer.

Input Schema

{
  "type": "object",
  "properties": {
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    }
  },
  "required": [
    "capability"
  ]
}
🟢get_benchmark(capability)

Registry-run benchmark summaries (labelled), publisher claims (labelled PUBLISHER CLAIMED) and the signed attestations.

Input Schema

{
  "type": "object",
  "properties": {
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    }
  },
  "required": [
    "capability"
  ]
}
🟢get_provenance(capability)

Artifact hash, manifest hash, signed publisher and registry attestations and a transparency-log inclusion proof.

Input Schema

{
  "type": "object",
  "properties": {
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    }
  },
  "required": [
    "capability"
  ]
}
🟢get_quote(capability, evaluation_id)

A signed 15-minute price quote with the hosted checkout link. It charges nothing; a purchase requires operator approval in the hosted checkout.

Input Schema

{
  "type": "object",
  "properties": {
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    },
    "evaluation_id": {
      "type": "string",
      "pattern": "^ev_[a-z2-7]{26}$",
      "description": "The evaluation_id from evaluate_capability, if you evaluated first."
    }
  },
  "required": [
    "capability"
  ],
  "additionalProperties": false
}
🟢unlock_capability(capability, license_key, quote_id, evaluation_id)

Exchange the license key from the checkout (a purchase requires operator approval) for a signed entitlement and a download link that lasts at most 15 minutes. How the key is handled: the privacy page at /legal/privacy/. Repeating it with the same key is safe and never charges.

Input Schema

{
  "type": "object",
  "properties": {
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    },
    "license_key": {
      "type": "string",
      "description": "License key from the checkout."
    },
    "quote_id": {
      "type": "string",
      "description": "The quote_id of the quote the purchase followed, if any (links the records; never changes the price)."
    },
    "evaluation_id": {
      "type": "string",
      "pattern": "^ev_[a-z2-7]{26}$",
      "description": "The evaluation_id from evaluate_capability, if you evaluated first."
    }
  },
  "required": [
    "capability",
    "license_key"
  ],
  "additionalProperties": false
}
⚪report_outcome(capability, success, used_capability, model, evaluation_id, ...)

Report how a capability worked for you. Stored as AGENT REPORTED; it never changes evidence labels, trust or ranking. Only the listed fields are accepted; no task text is kept.

Input Schema

{
  "type": "object",
  "properties": {
    "capability": {
      "type": "string",
      "description": "Capability id (ak:publisher:name or ak:publisher:name:x.y.z), ak:// URI or slug."
    },
    "success": {
      "type": "boolean"
    },
    "used_capability": {
      "type": "boolean"
    },
    "model": {
      "type": "string",
      "description": "The model you run on, e.g. claude-sonnet-5. Savings are reported only for measured models."
    },
    "evaluation_id": {
      "type": "string",
      "pattern": "^ev_[a-z2-7]{26}$",
      "description": "The evaluation_id from evaluate_capability, if you evaluated first."
    },
    "purchase_ref": {
      "type": "string",
      "pattern": "^pu_[a-z2-7]{26}$",
      "description": "The purchase_ref from unlock_capability, if you bought the capability."
    },
    "failure_reason": {
      "type": "string",
      "enum": [
        "did_not_install",
        "incompatible_environment",
        "wrong_result",
        "incomplete_result",
        "too_slow",
        "too_expensive",
        "not_applicable_to_task",
        "crashed",
        "other"
      ],
      "description": "Only with success false."
    },
    "tokens_in": {
      "type": "integer",
      "minimum": 0
    },
    "tokens_out": {
      "type": "integer",
      "minimum": 0
    },
    "tool_calls": {
      "type": "integer",
      "minimum": 0
    },
    "latency_ms": {
      "type": "integer",
      "minimum": 0
    },
    "cost_usd": {
      "type": "number",
      "minimum": 0
    },
    "baseline_cost_estimate_usd": {
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "capability",
    "success"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools