coso-mcp
Open COSO internal-control review MCP: scope, risk, controls, sampling, testing, workpapers.
使うべきか
品質と安全性
検出事項(10)
- LOWget_server_info 内
- LOWget_principle 内
- LOWget_component 内
- LOWget_engagement 内
- LOWregister_risk 内
- LOWregister_control 内
- LOWcompute_sample_size 内
- LOWclassify_deficiency 内
- LOWassess_principle 内
- LOWassess_component 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"coso-mcp": {
"command": "npx",
"args": [
"@simonmak-ascent/coso-mcp"
]
}
}
}実行可能なパッケージ
0.1.1stdioリモートエンドポイント
https://internal-control.ascent-partners.com/mcpstreamable-httpできること
ツール一覧
ツール(39)
🟢get_server_info
Return the server identity, the COSO framework it covers, and the mandatory disclaimer.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"framework": {
"type": "string"
},
"disclaimer": {
"type": "string"
}
},
"required": [
"name",
"version",
"title",
"description",
"framework",
"disclaimer"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_components
List the five components of the COSO Internal Control—Integrated Framework (ICIF-2013).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"framework": {
"type": "string"
},
"count": {
"type": "number"
},
"components": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"control-environment",
"risk-assessment",
"control-activities",
"information-communication",
"monitoring-activities"
]
},
"number": {
"type": "number"
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
},
"principles": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"id",
"number",
"name",
"summary",
"principles"
],
"additionalProperties": false
}
}
},
"required": [
"framework",
"count",
"components"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_principles(component)
List the 17 principles of the COSO ICIF-2013, optionally filtered to a single component.
入力スキーマ
{
"type": "object",
"properties": {
"component": {
"description": "Restrict to a single component id.",
"type": "string",
"enum": [
"control-environment",
"risk-assessment",
"control-activities",
"information-communication",
"monitoring-activities"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"framework": {
"type": "string"
},
"count": {
"type": "number"
},
"principles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "number"
},
"id": {
"type": "string"
},
"component": {
"type": "string",
"enum": [
"control-environment",
"risk-assessment",
"control-activities",
"information-communication",
"monitoring-activities"
]
},
"statement": {
"type": "string"
}
},
"required": [
"number",
"id",
"component",
"statement"
],
"additionalProperties": false
}
}
},
"required": [
"framework",
"count",
"principles"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_principle(number, id)
Return a single COSO principle by framework number or slug, including its paraphrased points of focus.
入力スキーマ
{
"type": "object",
"properties": {
"number": {
"type": "integer",
"minimum": 1,
"maximum": 17
},
"id": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"principle": {
"anyOf": [
{
"type": "object",
"properties": {
"number": {
"type": "number"
},
"id": {
"type": "string"
},
"component": {
"type": "string",
"enum": [
"control-environment",
"risk-assessment",
"control-activities",
"information-communication",
"monitoring-activities"
]
},
"statement": {
"type": "string"
},
"pointsOfFocus": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"summary": {
"type": "string"
}
},
"required": [
"id",
"summary"
],
"additionalProperties": false
}
}
},
"required": [
"number",
"id",
"component",
"statement",
"pointsOfFocus"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"found",
"principle"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_component(id)
Return a single COSO component by id, with its principles.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"control-environment",
"risk-assessment",
"control-activities",
"information-communication",
"monitoring-activities"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"component": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"control-environment",
"risk-assessment",
"control-activities",
"information-communication",
"monitoring-activities"
]
},
"number": {
"type": "number"
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
},
"principles": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"id",
"number",
"name",
"summary",
"principles"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"found",
"component"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_objective_categories
List the three COSO objective categories (operations, reporting, compliance).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"objectiveCategories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
}
},
"required": [
"id",
"name",
"summary"
],
"additionalProperties": false
}
}
},
"required": [
"count",
"objectiveCategories"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_assertions
List the assertions used to frame control objectives: completeness, existence/occurrence, accuracy, valuation, obligations/rights, presentation/disclosure.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"assertions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"count",
"assertions"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡create_engagement(title, entity, period, id, materiality)
Create a new internal-control review engagement. Returns the engagement id used by all later tools.
入力スキーマ
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"description": "Engagement title."
},
"entity": {
"type": "string",
"minLength": 1,
"description": "Entity or business unit under review."
},
"period": {
"description": "Review period, e.g. 2025 or 2025-H2.",
"type": "string",
"minLength": 1
},
"id": {
"description": "Optional explicit engagement id.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"materiality": {
"type": "object",
"properties": {
"basis": {
"type": "string"
},
"amount": {
"type": "number"
},
"currency": {
"type": "string"
}
}
}
},
"required": [
"title",
"entity"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"engagement": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"entity": {
"type": "string"
},
"period": {
"type": "string"
},
"framework": {
"type": "string"
},
"status": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"required": [
"id",
"title",
"entity",
"framework",
"status",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
},
"required": [
"engagement"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_engagement(id)
Return an engagement by id.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"engagement": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"required": [
"found",
"engagement"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_engagements
List all engagement ids and titles.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"engagements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"entity": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"id",
"title",
"entity",
"status"
],
"additionalProperties": false
}
}
},
"required": [
"count",
"engagements"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡add_scope_item(engagementId, area, objectiveCategory, assertions, rationale, ...)
Add a significant account/process to the review scope, with its objective category and assertions.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"area": {
"type": "string",
"minLength": 1,
"description": "Significant account or process."
},
"objectiveCategory": {
"type": "string",
"enum": [
"operations",
"reporting",
"compliance"
]
},
"assertions": {
"default": [],
"type": "array",
"items": {
"type": "string",
"enum": [
"completeness",
"existence-occurrence",
"accuracy",
"valuation",
"obligations-rights",
"presentation-disclosure"
]
}
},
"rationale": {
"type": "string"
},
"inScope": {
"default": true,
"type": "boolean"
}
},
"required": [
"engagementId",
"area",
"objectiveCategory"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"scopeItem": {}
},
"required": [
"scopeItem"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_scope_items(engagementId)
List the scope items for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"scopeItems": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"scopeItems"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪register_risk(engagementId, description, cause, impact, likelihood, ...)
Register a risk to objectives, with likelihood, assertions, related COSO principles and a fraud flag.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"description": {
"type": "string",
"minLength": 1
},
"cause": {
"type": "string"
},
"impact": {
"type": "string"
},
"likelihood": {
"default": "medium",
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"assertions": {
"default": [],
"type": "array",
"items": {
"type": "string",
"enum": [
"completeness",
"existence-occurrence",
"accuracy",
"valuation",
"obligations-rights",
"presentation-disclosure"
]
}
},
"principles": {
"default": [],
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 17
}
},
"fraud": {
"default": false,
"type": "boolean"
},
"scopeItemId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"risk": {}
},
"required": [
"risk"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_risks(engagementId)
List the risks registered for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"risks": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"risks"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪register_control(engagementId, description, type, frequency, key, ...)
Register a key control with its type, frequency, linked risks, assertions and COSO principles.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"description": {
"type": "string",
"minLength": 1
},
"type": {
"type": "string",
"enum": [
"manual",
"automated",
"it-dependent-manual"
]
},
"frequency": {
"type": "string",
"enum": [
"annual",
"quarterly",
"monthly",
"weekly",
"daily",
"per-transaction"
]
},
"key": {
"default": true,
"type": "boolean"
},
"riskIds": {
"default": [],
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"assertions": {
"default": [],
"type": "array",
"items": {
"type": "string",
"enum": [
"completeness",
"existence-occurrence",
"accuracy",
"valuation",
"obligations-rights",
"presentation-disclosure"
]
}
},
"principles": {
"default": [],
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 17
}
},
"owner": {
"type": "string"
},
"scopeItemId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId",
"description",
"type",
"frequency"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"control": {}
},
"required": [
"control"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_controls(engagementId)
List the controls registered for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"controls": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"controls"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_audit_log(engagementId)
Return the append-only audit events recorded for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"events": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"events"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢compute_sample_size(frequency, risk, populationSize, priorDeficiency, externalReliance)
Recommend a sample size for a control from its frequency, risk and population size, with a documented rationale.
入力スキーマ
{
"type": "object",
"properties": {
"frequency": {
"type": "string",
"enum": [
"annual",
"quarterly",
"monthly",
"weekly",
"daily",
"per-transaction"
]
},
"risk": {
"default": "moderate",
"type": "string",
"enum": [
"low",
"moderate",
"high"
]
},
"populationSize": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"priorDeficiency": {
"default": false,
"type": "boolean"
},
"externalReliance": {
"default": false,
"type": "boolean"
}
},
"required": [
"frequency"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"frequency": {
"type": "string"
},
"requestedRisk": {
"type": "string"
},
"effectiveRisk": {
"type": "string"
},
"recommended": {
"type": "number"
},
"populationSize": {
"type": "number"
},
"capped": {
"type": "boolean"
},
"rationale": {
"type": "string"
}
},
"required": [
"frequency",
"requestedRisk",
"effectiveRisk",
"recommended",
"capped",
"rationale"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡create_population(engagementId, controlId, description, period, currency, ...)
Register the population for a control — either an explicit item list or a declared size. Bounded to 10000 items.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"controlId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"description": {
"type": "string",
"minLength": 1
},
"period": {
"type": "string"
},
"currency": {
"type": "string"
},
"items": {
"maxItems": 10000,
"type": "array",
"items": {
"type": "object",
"properties": {
"reference": {
"type": "string",
"minLength": 1
},
"date": {
"type": "string"
},
"amount": {
"type": "number"
}
},
"required": [
"reference"
]
}
},
"declaredSize": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"engagementId",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"population": {}
},
"required": [
"population"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_populations(engagementId)
List the populations registered for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"populations": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"populations"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢select_sample(engagementId, populationId, controlId, method, sampleSize, ...)
Select a reproducible sample from a population. Seeded (deterministic) for random/systematic/haphazard; targeted takes explicit references. Records the method, seed and references.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"populationId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"controlId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"method": {
"type": "string",
"enum": [
"random",
"systematic",
"targeted",
"haphazard"
]
},
"sampleSize": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"seed": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"rationale": {
"type": "string"
},
"targetedReferences": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"engagementId",
"populationId",
"method"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"sample": {}
},
"required": [
"sample"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪record_test_result(engagementId, controlId, sampleId, populationId, attribute, ...)
Record attribute-level outcomes (pass/fail/na) for a tested sample, with an optional conclusion.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"controlId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"sampleId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"populationId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"attribute": {
"type": "string",
"minLength": 1,
"description": "The control attribute/objective tested."
},
"procedure": {
"type": "string"
},
"results": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"reference": {
"type": "string",
"minLength": 1
},
"outcome": {
"type": "string",
"enum": [
"pass",
"fail",
"na"
]
},
"evidenceRef": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"reference",
"outcome"
]
}
},
"conclusion": {
"type": "string",
"enum": [
"effective",
"effective-with-exceptions",
"deficiency",
"not-concluded"
]
},
"preparedBy": {
"type": "string"
}
},
"required": [
"engagementId",
"controlId",
"sampleId",
"attribute",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"testResult": {}
},
"required": [
"testResult"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_test_results(engagementId)
List the test results recorded for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"testResults": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"testResults"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪note_exception(engagementId, testResultId, reference, description, rootCause, ...)
Record an exception identified during testing, with root cause, impact and any compensating control.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"testResultId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"reference": {
"type": "string",
"minLength": 1,
"description": "The sample item reference the exception relates to."
},
"description": {
"type": "string",
"minLength": 1
},
"rootCause": {
"type": "string"
},
"impact": {
"type": "string"
},
"compensatingControl": {
"type": "string"
}
},
"required": [
"engagementId",
"testResultId",
"reference",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"exception": {}
},
"required": [
"exception"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_exceptions(engagementId)
List the exceptions recorded for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"exceptions": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"exceptions"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪assemble_workpaper(engagementId, controlId, testResultId, title)
Assemble a Markdown control-testing workpaper from the control, its risks, population, sample, test results and exceptions.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"controlId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"testResultId": {
"description": "Restrict to a single test result.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"title": {
"type": "string",
"minLength": 1
}
},
"required": [
"engagementId",
"controlId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"workpaper": {}
},
"required": [
"workpaper"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_workpapers(engagementId)
List the workpapers assembled for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"workpapers": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"workpapers"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_workpaper(engagementId, workpaperId)
Return a workpaper including its rendered Markdown.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"workpaperId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId",
"workpaperId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"workpaper": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"required": [
"found",
"workpaper"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡add_review_note(engagementId, workpaperId, text, author)
Add a reviewer note to a workpaper.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"workpaperId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"text": {
"type": "string",
"minLength": 1
},
"author": {
"type": "string",
"minLength": 1
}
},
"required": [
"engagementId",
"workpaperId",
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"workpaper": {},
"note": {}
},
"required": [
"workpaper",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪resolve_review_note(engagementId, workpaperId, noteId, resolvedBy)
Mark a review note resolved on a workpaper.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"workpaperId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"noteId": {
"type": "string",
"minLength": 1
},
"resolvedBy": {
"type": "string",
"minLength": 1
}
},
"required": [
"engagementId",
"workpaperId",
"noteId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"workpaper": {},
"note": {}
},
"required": [
"workpaper",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪sign_off(engagementId, workpaperId, role, actor, comment)
Record a preparer or reviewer sign-off. Warns (does not block) if the same person prepared and reviewed.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"workpaperId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"role": {
"type": "string",
"enum": [
"preparer",
"reviewer"
]
},
"actor": {
"type": "string",
"minLength": 1
},
"comment": {
"type": "string"
}
},
"required": [
"engagementId",
"workpaperId",
"role"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"workpaper": {},
"warning": {
"type": "string"
}
},
"required": [
"workpaper"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_activity_log(engagementId)
Return the append-only activity log for an engagement, plus a Markdown rendering.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"markdown": {
"type": "string"
},
"events": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"markdown",
"events"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪classify_deficiency(engagementId, title, description, likelihood, magnitude, ...)
Classify a control deficiency as deficiency / significant deficiency / material weakness from likelihood × magnitude (escalates for a pervasive control).
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"title": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"minLength": 1
},
"likelihood": {
"type": "string",
"enum": [
"remote",
"more-than-remote",
"reasonably-possible"
]
},
"magnitude": {
"type": "string",
"enum": [
"inconsequential",
"more-than-inconsequential",
"material"
]
},
"pervasive": {
"default": false,
"type": "boolean"
},
"controlId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"testResultId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"exceptionIds": {
"default": [],
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"compensatingControl": {
"type": "string"
},
"remediation": {
"type": "object",
"properties": {
"rootCause": {
"type": "string"
},
"actions": {
"type": "string"
},
"owner": {
"type": "string"
},
"dueDate": {
"type": "string"
},
"retestPlan": {
"type": "string"
}
}
}
},
"required": [
"engagementId",
"title",
"description",
"likelihood",
"magnitude"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"deficiency": {}
},
"required": [
"deficiency"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_deficiencies(engagementId)
List the deficiencies recorded for an engagement.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"deficiencies": {
"type": "array",
"items": {}
}
},
"required": [
"count",
"deficiencies"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪aggregate_deficiencies(engagementId, deficiencyIds)
Group related deficiencies by control, flag combinations that may aggregate, and report the overall severity.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"deficiencyIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"aggregation": {}
},
"required": [
"aggregation"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪assess_principle(engagementId, number)
Report data-driven coverage indicators for one COSO principle (controls, risks and deficiencies mapped to it).
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"number": {
"type": "integer",
"minimum": 1,
"maximum": 17
}
},
"required": [
"engagementId",
"number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"assessment": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"required": [
"found",
"assessment"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪assess_component(engagementId, id)
Report coverage indicators for one COSO component, aggregating its principles.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"id": {
"type": "string",
"enum": [
"control-environment",
"risk-assessment",
"control-activities",
"information-communication",
"monitoring-activities"
]
}
},
"required": [
"engagementId",
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"assessment": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"required": [
"found",
"assessment"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢framework_integration_check(engagementId)
Check that all five COSO components have some recorded coverage and that principles are addressed.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"integration": {},
"components": {
"type": "array",
"items": {}
}
},
"required": [
"integration",
"components"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪generate_report(engagementId)
Generate a Markdown internal-control review report: scope, risks, controls, testing, workpapers, deficiencies and COSO coverage.
入力スキーマ
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"engagementId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"markdown": {
"type": "string"
},
"counts": {}
},
"required": [
"markdown",
"counts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}コミュニティ
エビデンス