1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
* Windmill API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.682.0
* Contact: contact@windmill.dev
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// McpToolValue : Reference to an external MCP (Model Context Protocol) tool. The AI can call tools from MCP servers
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct McpToolValue {
#[serde(rename = "tool_type")]
pub tool_type: ToolType,
/// Path to the MCP resource/server configuration
#[serde(rename = "resource_path")]
pub resource_path: String,
/// Whitelist of specific tools to include from this MCP server
#[serde(rename = "include_tools", skip_serializing_if = "Option::is_none")]
pub include_tools: Option<Vec<String>>,
/// Blacklist of tools to exclude from this MCP server
#[serde(rename = "exclude_tools", skip_serializing_if = "Option::is_none")]
pub exclude_tools: Option<Vec<String>>,
}
impl McpToolValue {
/// Reference to an external MCP (Model Context Protocol) tool. The AI can call tools from MCP servers
pub fn new(tool_type: ToolType, resource_path: String) -> McpToolValue {
McpToolValue {
tool_type,
resource_path,
include_tools: None,
exclude_tools: None,
}
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ToolType {
#[serde(rename = "mcp")]
Mcp,
}
impl Default for ToolType {
fn default() -> ToolType {
Self::Mcp
}
}