Skip to main content
Glama

@kakunin/mcp — MCP server for AI agent identity & compliance

OpenSSF Scorecard kakunin-mcp MCP server

Model Context Protocol server for the Kakunin AI agent compliance API. Lets AI agents self-verify scope, check their own risk score, and log behavioral events — all from within Claude, Cursor, or any MCP-compatible runtime.

npx @kakunin/mcp

Tools

verify_agent_scope

Check whether this agent is authorised to perform an action before executing it. Verifies the active X.509 certificate, permitted_actions scope, financial limits, and revocation status.

{
  "action": "initiate EUR/USD trade on euronext for 50000 USD",
  "venue": "euronext",
  "amount_usd": 50000
}

Returns { allowed: true|false, reason, certificate_status, permitted_actions }.

check_risk_score

Retrieve the agent's rolling 30-day risk score, band (low/medium/high), drift trend, and actionable guidance. No input required.

audit_log_append

Append a behavioral event to the agent's immutable audit log. Returns risk score + transaction ID. Events scoring ≥ 0.85 auto-trigger a certificate revocation check.

{
  "action_type": "transaction_initiated",
  "details": { "amount_usd": 50000, "venue": "NYSE" }
}

Related MCP server: Agent Policy Gateway MCP Server

Setup

Prerequisites: Node ≥ 18, Kakunin API key + Agent ID from kakunin.ai/dashboard.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "kakunin": {
      "command": "npx",
      "args": ["-y", "@kakunin/mcp"],
      "env": {
        "KAKUNIN_API_KEY": "kak_live_...",
        "KAKUNIN_AGENT_ID": "agt_..."
      }
    }
  }
}

Environment variables

Variable

Required

Description

KAKUNIN_API_KEY

API key (kak_live_... or kak_test_...)

KAKUNIN_AGENT_ID

Agent ID the server acts on behalf of

KAKUNIN_BASE_URL

optional

Override API base (default: https://kakunin.ai)

Sandbox mode

Use a kak_test_... key for development — hits the sandbox CA, no cost, 100 free certs/day.

Full docs at docs.kakunin.ai.

Contributors

Thanks to everyone who contributes (emoji key) — code and non-code alike:

Contributions of any kind are welcome — this project follows the all-contributors spec.

Available Tools

3 tools
audit_log_appendA

Append a behavioral event to this agent's immutable audit log. Use this to voluntarily record actions — transactions, data operations, API calls. Returns the risk score for the event and a transaction ID for traceability. High-risk events (score >= 0.85) automatically trigger a certificate revocation check.

ParametersJSON Schema
NameRequiredDescriptionDefault
metadataYesArbitrary key-value pairs describing the event. For transactions: include amount, currency, venue. For data ops: include resource_type, resource_id, operation. Avoid PII — this is stored in the immutable audit log.
event_typeYesType of behavioral event being logged. Use "transaction_initiated" for financial operations, "data_mutation" for write/delete ops, "api_call" for standard API calls.
session_idNoOptional session ID for grouping related events in the audit trail.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose behavior. It reveals immutability of the log, return values (risk score and transaction ID), and automatic certificate revocation for high-risk events (score >= 0.85). This is good context beyond basic logging.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the primary action, no unnecessary words. Every sentence adds value: purpose, use cases, return values, and an important behavioral note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but the description correctly states return values (risk score and transaction ID) and a key side effect (certificate revocation). With 3 parameters (including a nested object) and good schema coverage, the description is sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds concrete examples for metadata (amount, currency, venue for transactions; resource_type, resource_id for data ops) and elaborates on event_type usage (e.g., 'transaction_initiated' for financial ops). This provides practical guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'append' and the resource 'agent's immutable audit log'. It distinguishes the tool from siblings (check_risk_score, verify_agent_scope) by focusing on recording events for traceability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use (voluntarily record actions like transactions, data ops, API calls) and provides specific event_type guidance. However, it does not mention when not to use or alternatives, though siblings are distinct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_risk_scoreA

Retrieve this agent's rolling 30-day risk score, risk band (low/medium/high), and drift trend. Returns actionable guidance — use this to decide whether to self-throttle, escalate to a human, or proceed normally.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes return values (score, band, trend, guidance) and implies read-only operation. Could mention lack of side effects, but sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first describes what is retrieved, second gives usage guidance. No wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Returns risk score, band, trend, and guidance. No output schema, so description covers return values adequately. Could specify response format or prerequisites, but sufficient for a simple read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters (100% coverage). With 0 params, baseline score is 4 as per guidelines. No additional parameter info needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states specific verb 'Retrieve' and resource 'rolling 30-day risk score, risk band, drift trend'. Clearly distinguishes from sibling tools (audit_log_append, verify_agent_scope) which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states use case: 'decide whether to self-throttle, escalate to a human, or proceed normally'. Does not explicitly exclude alternatives, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_agent_scopeA

Check whether this agent is authorised to perform a specific action or call a specific endpoint. Verifies the active X.509 certificate, permitted_actions scope, financial limits, and revocation status. Call this BEFORE executing any action that might exceed scope — not after.

ParametersJSON Schema
NameRequiredDescriptionDefault
venueNoOptional trading venue or system being accessed (e.g. "euronext", "xetra").
actionYesThe action or endpoint the agent wants to perform. Can be a scope string (e.g. "write:invoices"), an API path (e.g. "/api/v1/execute_trade"), or a plain description (e.g. "initiate EUR/USD trade on euronext for 50000 USD").
amount_usdNoOptional transaction amount in USD for financial scope enforcement.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses key checks performed but omits return format or behavior (e.g., error handling, whether it blocks or just returns a status). Without output schema, agent lacks full behavioral insights.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences: first states core purpose, second enumerates checks and gives a usage directive. No redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is reasonably complete for an authorization check but lacks return value specification. Agent must infer whether response is boolean or detailed object. Missing error scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters with descriptions, so baseline is 3. The description adds minimal extra meaning beyond schema, e.g., clarifying the 'action' parameter's role. No significant enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks authorization for a specific action or endpoint, and lists specific verifications (X.509 certificate, scope, financial limits, revocation). It is distinct from sibling tools (audit_log_append for logging, check_risk_score for risk scoring).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs 'Call this BEFORE executing any action that might exceed scope — not after.', providing strong usage guidance. However, it does not explicitly mention when not to use or compare to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool serves a distinct, non-overlapping purpose: logging events, checking risk, and verifying authorization. No ambiguity between them.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (append, check, verify), making the set predictable and easy to understand.

Tool Count5/5

With only 3 tools, the server is tightly scoped to essential agent monitoring and authorization functions, avoiding unnecessary bloat.

Completeness5/5

The tool surface covers the key lifecycle for agent self-management: logging actions, assessing risk, and verifying scope before execution. No obvious gaps.

Maintenance

ActivitySlowing
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kakunin-ai/kakunin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server