MCPサーバー

MCP Operation Risk

io.github.dnsreicht/mcp-operation-risk
MCP・エージェント基盤 セキュリティ 公開・接続可能 MCP 2025-11-25

このMCPでできること

Evaluates planned MCP tool calls and classifies them as allowed, denied, or requiring approval based on operation type, schemas, and arguments.

describe_operation_risk_service
Describe MCP Operation Risk
Check whether an intended MCP tool call is safe before execution. Using the source server identity, tool metadata, input schema, and planned arguments, return an operation-level ALLOW, DENY, or REQUIRE_APPROVAL decision. For supported consolidated tools, distinguish read, additive, mutating, and destructive operations, including supported create, update, and delete commands. Unknown, unsupported, or schema-changed calls require approval. Use when whole-tool permissions are too coarse; the evaluator never executes the source call.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'describe_operation_risk_serviceArguments', 'properties': {}}
出力スキーマ
{'type': 'object', 'title': 'describe_operation_risk_serviceDictOutput', 'additionalProperties': True}
evaluate_operation_risk
Evaluate Operation Risk
Check whether an intended MCP tool call is safe before execution. Using the source server identity, tool metadata, input schema, and planned arguments, return an operation-level ALLOW, DENY, or REQUIRE_APPROVAL decision. For supported consolidated tools, distinguish read, additive, mutating, and destructive operations, including supported create, update, and delete commands. Unknown, unsupported, or schema-changed calls require approval. Use when whole-tool permissions are too coarse; the evaluator never executes the source call.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'NativeMcpEvaluationRequest', 'required': ['source', 'tool', 'arguments'], 'properties': {'tool': {'type': 'object', 'title': 'NativeToolRecord', 'required': ['name', 'description', 'inputSchema'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'description': "Exact tool name from the MCP server's tools/list response."}, '_meta': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Meta', 'default': None, 'description': 'Relevant tool metadata from tools/list, when present.'}, 'icons': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, {'type': 'null'}], 'title': 'Icons', 'default': None, 'description': 'Tool icons from tools/list, when present.'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Title', 'default': None, 'description': 'Tool title from tools/list, when provided by the server.'}, 'execution': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Execution', 'default': None, 'description': 'Tool execution metadata from tools/list, when present.'}, 'annotations': {'type': 'object', 'title': 'Annotations', 'description': 'Tool annotations from tools/list, such as read-only or destructive hints; use an empty object when absent.', 'additionalProperties': True}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Description', 'description': 'Tool description from tools/list, or null if the server omitted it.'}, 'inputSchema': {'type': 'object', 'title': 'Inputschema', 'description': 'Complete inputSchema from tools/list; used to validate the intended arguments and match a supported tool manifest.', 'additionalProperties': True}, 'outputSchema': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Outputschema', 'default': None, 'description': 'Tool output schema from tools/list, when present.'}}, 'description': "The complete relevant Tool record returned by the source server's tools/list.", 'additionalProperties': False}, 'source': {'type': 'object', 'title': 'NativeSource', 'required': ['server', 'protocol_version'], 'properties': {'server': {'type': 'object', 'title': 'NativeServerIdentity', 'required': ['name', 'version'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'description': 'Name reported by the MCP server during initialize; used as a supported-manifest lookup hint.'}, 'version': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Version', 'description': 'Server version reported during initialize, or null when unavailable.'}}, 'description': "MCP server identity from the connection's initialize response.", 'additionalProperties': False}, 'protocol_version': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Protocol Version', 'description': 'Negotiated MCP protocol version, or null when unavailable.'}}, 'description': 'MCP server and negotiated protocol identity for the source tool.', 'additionalProperties': False}, 'arguments': {'type': 'object', 'title': 'Arguments', 'description': 'Arguments intended for the source MCP tools/call request being evaluated. The evaluator does not execute that call.', 'additionalProperties': True}}, 'additionalProperties': False}
追加
evaluate_operation_risk
2026年10月5日2:40
追加
describe_operation_risk_service
2026年10月5日2:40