|
6523 | 6523 | "AgentMcpTool": { |
6524 | 6524 | "type": "object", |
6525 | 6525 | "properties": { |
| 6526 | + "operationPolicy": { |
| 6527 | + "oneOf": [ |
| 6528 | + { |
| 6529 | + "type": "object", |
| 6530 | + "properties": { |
| 6531 | + "mode": { |
| 6532 | + "type": "string", |
| 6533 | + "const": "all", |
| 6534 | + "description": "Allow all operations available to the authorized credential." |
| 6535 | + } |
| 6536 | + }, |
| 6537 | + "required": ["mode"], |
| 6538 | + "additionalProperties": false |
| 6539 | + }, |
| 6540 | + { |
| 6541 | + "type": "object", |
| 6542 | + "properties": { |
| 6543 | + "mode": { |
| 6544 | + "type": "string", |
| 6545 | + "const": "allow", |
| 6546 | + "description": "Allow only the selected exact operations." |
| 6547 | + }, |
| 6548 | + "operations": { |
| 6549 | + "maxItems": 1000, |
| 6550 | + "type": "array", |
| 6551 | + "items": { |
| 6552 | + "type": "object", |
| 6553 | + "properties": { |
| 6554 | + "serverId": { |
| 6555 | + "type": "string", |
| 6556 | + "minLength": 1, |
| 6557 | + "maxLength": 256, |
| 6558 | + "description": "Canonical MCP server identity, independent of the selected credential." |
| 6559 | + }, |
| 6560 | + "name": { |
| 6561 | + "type": "string", |
| 6562 | + "minLength": 1, |
| 6563 | + "maxLength": 256, |
| 6564 | + "description": "Exact operation name returned by MCP discovery." |
| 6565 | + } |
| 6566 | + }, |
| 6567 | + "required": ["serverId", "name"], |
| 6568 | + "additionalProperties": false |
| 6569 | + }, |
| 6570 | + "description": "Allowed server-scoped operation identities; an empty list grants no access." |
| 6571 | + } |
| 6572 | + }, |
| 6573 | + "required": ["mode", "operations"], |
| 6574 | + "additionalProperties": false |
| 6575 | + }, |
| 6576 | + { |
| 6577 | + "type": "object", |
| 6578 | + "properties": { |
| 6579 | + "mode": { |
| 6580 | + "type": "string", |
| 6581 | + "const": "deny", |
| 6582 | + "description": "Exclude the selected exact operations." |
| 6583 | + }, |
| 6584 | + "operations": { |
| 6585 | + "maxItems": 1000, |
| 6586 | + "type": "array", |
| 6587 | + "items": { |
| 6588 | + "type": "object", |
| 6589 | + "properties": { |
| 6590 | + "serverId": { |
| 6591 | + "type": "string", |
| 6592 | + "minLength": 1, |
| 6593 | + "maxLength": 256, |
| 6594 | + "description": "Canonical MCP server identity, independent of the selected credential." |
| 6595 | + }, |
| 6596 | + "name": { |
| 6597 | + "type": "string", |
| 6598 | + "minLength": 1, |
| 6599 | + "maxLength": 256, |
| 6600 | + "description": "Exact operation name returned by MCP discovery." |
| 6601 | + } |
| 6602 | + }, |
| 6603 | + "required": ["serverId", "name"], |
| 6604 | + "additionalProperties": false |
| 6605 | + }, |
| 6606 | + "description": "Denied server-scoped operation identities; an empty list allows otherwise permitted tools." |
| 6607 | + } |
| 6608 | + }, |
| 6609 | + "required": ["mode", "operations"], |
| 6610 | + "additionalProperties": false |
| 6611 | + } |
| 6612 | + ], |
| 6613 | + "description": "Saved workflow operation restrictions that can only narrow authorized credential access." |
| 6614 | + }, |
6526 | 6615 | "type": { |
6527 | 6616 | "type": "string", |
6528 | 6617 | "const": "mcp", |
|
6594 | 6683 | "const": "mcp-server-advanced", |
6595 | 6684 | "description": "Server-wide MCP binding discriminator." |
6596 | 6685 | }, |
| 6686 | + "operationPolicy": { |
| 6687 | + "oneOf": [ |
| 6688 | + { |
| 6689 | + "type": "object", |
| 6690 | + "properties": { |
| 6691 | + "mode": { |
| 6692 | + "type": "string", |
| 6693 | + "const": "all", |
| 6694 | + "description": "Allow all operations available to the authorized credential." |
| 6695 | + } |
| 6696 | + }, |
| 6697 | + "required": ["mode"], |
| 6698 | + "additionalProperties": false |
| 6699 | + }, |
| 6700 | + { |
| 6701 | + "type": "object", |
| 6702 | + "properties": { |
| 6703 | + "mode": { |
| 6704 | + "type": "string", |
| 6705 | + "const": "allow", |
| 6706 | + "description": "Allow only the selected exact operations." |
| 6707 | + }, |
| 6708 | + "operations": { |
| 6709 | + "maxItems": 1000, |
| 6710 | + "type": "array", |
| 6711 | + "items": { |
| 6712 | + "type": "object", |
| 6713 | + "properties": { |
| 6714 | + "serverId": { |
| 6715 | + "type": "string", |
| 6716 | + "minLength": 1, |
| 6717 | + "maxLength": 256, |
| 6718 | + "description": "Canonical MCP server identity, independent of the selected credential." |
| 6719 | + }, |
| 6720 | + "name": { |
| 6721 | + "type": "string", |
| 6722 | + "minLength": 1, |
| 6723 | + "maxLength": 256, |
| 6724 | + "description": "Exact operation name returned by MCP discovery." |
| 6725 | + } |
| 6726 | + }, |
| 6727 | + "required": ["serverId", "name"], |
| 6728 | + "additionalProperties": false |
| 6729 | + }, |
| 6730 | + "description": "Allowed server-scoped operation identities; an empty list grants no access." |
| 6731 | + } |
| 6732 | + }, |
| 6733 | + "required": ["mode", "operations"], |
| 6734 | + "additionalProperties": false |
| 6735 | + }, |
| 6736 | + { |
| 6737 | + "type": "object", |
| 6738 | + "properties": { |
| 6739 | + "mode": { |
| 6740 | + "type": "string", |
| 6741 | + "const": "deny", |
| 6742 | + "description": "Exclude the selected exact operations." |
| 6743 | + }, |
| 6744 | + "operations": { |
| 6745 | + "maxItems": 1000, |
| 6746 | + "type": "array", |
| 6747 | + "items": { |
| 6748 | + "type": "object", |
| 6749 | + "properties": { |
| 6750 | + "serverId": { |
| 6751 | + "type": "string", |
| 6752 | + "minLength": 1, |
| 6753 | + "maxLength": 256, |
| 6754 | + "description": "Canonical MCP server identity, independent of the selected credential." |
| 6755 | + }, |
| 6756 | + "name": { |
| 6757 | + "type": "string", |
| 6758 | + "minLength": 1, |
| 6759 | + "maxLength": 256, |
| 6760 | + "description": "Exact operation name returned by MCP discovery." |
| 6761 | + } |
| 6762 | + }, |
| 6763 | + "required": ["serverId", "name"], |
| 6764 | + "additionalProperties": false |
| 6765 | + }, |
| 6766 | + "description": "Denied server-scoped operation identities; an empty list allows otherwise permitted tools." |
| 6767 | + } |
| 6768 | + }, |
| 6769 | + "required": ["mode", "operations"], |
| 6770 | + "additionalProperties": false |
| 6771 | + } |
| 6772 | + ], |
| 6773 | + "description": "Saved workflow operation restrictions that can only narrow authorized credential access." |
| 6774 | + }, |
6597 | 6775 | "params": { |
6598 | 6776 | "type": "object", |
6599 | 6777 | "properties": { |
| 6778 | + "connectionId": { |
| 6779 | + "description": "Optional managed connection ID or upstream reference bound to the canonical server.", |
| 6780 | + "type": "string", |
| 6781 | + "minLength": 1, |
| 6782 | + "maxLength": 128 |
| 6783 | + }, |
6600 | 6784 | "serverId": { |
6601 | 6785 | "type": "string", |
6602 | 6786 | "minLength": 1, |
|
6606 | 6790 | }, |
6607 | 6791 | "required": ["serverId"], |
6608 | 6792 | "additionalProperties": false, |
6609 | | - "description": "Server identity for discovering and invoking every available MCP tool." |
| 6793 | + "description": "Server and optional connection identity for authorized operation discovery and execution." |
6610 | 6794 | }, |
6611 | 6795 | "usageControl": { |
6612 | 6796 | "type": "string", |
|
6619 | 6803 | "description": "Forward-compatible MCP server metadata preserved by the workflow editor." |
6620 | 6804 | }, |
6621 | 6805 | "title": "Agent MCP server (advanced)", |
6622 | | - "description": "All tools available to the executing subject from one MCP server.", |
| 6806 | + "description": "Dynamically discovered operations permitted by the authorized credential and saved block policy.", |
6623 | 6807 | "examples": [ |
6624 | 6808 | { |
6625 | 6809 | "type": "mcp-server-advanced", |
|
0 commit comments