kakunin-mcp
The kakunin-mcp server provides MCP tools for AI agents to self-verify compliance, monitor risk, and maintain an immutable audit trail within MCP-compatible runtimes.
verify_agent_scope: Check if the agent is authorized to perform a specific action before executing it. Validates the active X.509 certificate, permitted action scopes, financial limits (including trading venues and USD thresholds), and revocation status.check_risk_score: Retrieve the agent's rolling 30-day risk score, risk band (low/medium/high), and behavioral drift trend. Returns actionable guidance to help the agent decide whether to proceed, self-throttle, or escalate to a human.audit_log_append: Record behavioral events (transactions, API calls, data access, authentication attempts, anomalies, etc.) to an immutable audit log. Returns a per-event risk score and transaction ID for traceability. Events scoring ≥ 0.85 automatically trigger a certificate revocation check.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kakunin-mcpverify if I'm authorized to trade 50000 USD on euronext"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@kakunin/mcp — MCP server for AI agent identity & compliance
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/mcpTools
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 |
| ✅ | API key ( |
| ✅ | Agent ID the server acts on behalf of |
| optional | Override API base (default: |
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 toolsaudit_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.
| Name | Required | Description | Default |
|---|---|---|---|
| metadata | Yes | Arbitrary 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_type | Yes | Type of behavioral event being logged. Use "transaction_initiated" for financial operations, "data_mutation" for write/delete ops, "api_call" for standard API calls. | |
| session_id | No | Optional session ID for grouping related events in the audit trail. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| venue | No | Optional trading venue or system being accessed (e.g. "euronext", "xetra"). | |
| action | Yes | The 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_usd | No | Optional transaction amount in USD for financial scope enforcement. |
TDQS
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.
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.
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.
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.
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.
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
Each tool serves a distinct, non-overlapping purpose: logging events, checking risk, and verifying authorization. No ambiguity between them.
All tools follow a consistent verb_noun pattern in snake_case (append, check, verify), making the set predictable and easy to understand.
With only 3 tools, the server is tightly scoped to essential agent monitoring and authorization functions, avoiding unnecessary bloat.
The tool surface covers the key lifecycle for agent self-management: logging actions, assessing risk, and verifying scope before execution. No obvious gaps.
Maintenance
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
Deterministic runtime safety for AI agents: scan PII, gate tool actions, verify LLM output.
Runtime permission, approval, and audit layer for AI agent tool execution.
Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
Register every AI agent, log every action, prove it. EU AI Act compliance built in.
Related MCP Servers
- FlicenseAqualityFmaintenanceProvides policy-based access control, incident tracking, and compliance monitoring to govern AI agent behavior. It enables organizations to enforce security rules and maintain audit trails by validating agent actions against trust levels and pattern-based policies.61
- AlicenseAqualityDmaintenanceCompliance and guardrails infrastructure for AI agents, enabling safe operations within regulatory boundaries like GDPR and EU AI Act.6MIT
- AlicenseAqualityBmaintenanceEnables AI agents to evaluate trust, safety, and bias of models and agentic traces using TrustModel APIs.6591MIT

Kernora Agent Securityofficial
AlicenseNot gradedqualityBmaintenanceProvides a zero-install security baseline for AI coding agents, with tools to retrieve curated security rules and check actions against them for self-correction.1Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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