@butlerw/vellum 0.2.12 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,98 +1,98 @@
1
- # MCP Tool Integration
2
-
3
- ## Overview
4
-
5
- The Model Context Protocol (MCP) extends your capabilities by connecting to external servers that provide additional tools and resources. MCP servers can run locally (stdio) or remotely (HTTP/SSE).
6
-
7
- ## Tool Naming Convention
8
-
9
- MCP tools follow the naming pattern:
10
-
11
- ```text
12
- mcp:{server-uid}/{tool-name}
13
- ```
14
-
15
- **Examples:**
16
-
17
- - `mcp:fs01/read_file` - Read file tool from filesystem server
18
- - `mcp:gh01/create_issue` - Create issue tool from GitHub server
19
- - `mcp:db01/query` - Query tool from database server
20
-
21
- The server UID is a short identifier (e.g., `fs01`, `gh01`) assigned to each connected server.
22
-
23
- ## When to Use MCP Tools
24
-
25
- ### Prefer MCP Tools When
26
-
27
- 1. **Domain-specific operations** - MCP servers often provide specialized tools (e.g., database queries, API integrations)
28
- 2. **External service access** - Interacting with third-party services configured by the user
29
- 3. **User-configured capabilities** - Tools the user has explicitly added via MCP
30
-
31
- ### Prefer Built-in Tools When
32
-
33
- 1. **Standard file operations** - Use built-in `read_file`, `write_file` for local filesystem
34
- 2. **Shell commands** - Use built-in `execute_command` for terminal operations
35
- 3. **Core functionality** - Built-in tools are optimized and don't require external server
36
-
37
- ## Tool Discovery
38
-
39
- Connected MCP servers and their tools are listed in the system prompt under "Connected MCP Servers". Each server section includes:
40
-
41
- - **Server name and UID** - Identifier for tool calls
42
- - **Status** - Connection state (connected, error, etc.)
43
- - **Available Tools** - List of tools with descriptions and input schemas
44
- - **Resources** - Static data resources the server provides
45
- - **Resource Templates** - Dynamic resource patterns
46
-
47
- ## Usage Best Practices
48
-
49
- 1. **Check available tools** - Review the connected servers section before attempting MCP tool calls
50
- 2. **Use correct naming** - Always use the full `mcp:{uid}/{tool}` format
51
- 3. **Handle errors gracefully** - MCP servers may disconnect; fall back to alternatives if needed
52
- 4. **Respect trust levels** - Some servers are marked as trusted; others may require user confirmation
53
-
54
- ## Trust Levels
55
-
56
- Servers can be configured with trust levels:
57
-
58
- - **Trusted servers** (🔓) - Tool calls execute without user confirmation
59
- - **Untrusted servers** - Each tool call requires explicit user approval
60
-
61
- Trust is configured per-server in the MCP configuration file.
62
-
63
- ## Configuration
64
-
65
- MCP servers are configured in:
66
-
67
- - Global: `~/.vellum/mcp.json`
68
- - Project: `.vellum/mcp.json` (overrides global)
69
-
70
- Example configuration:
71
-
72
- ```json
73
- {
74
- "mcpServers": {
75
- "filesystem": {
76
- "command": "npx",
77
- "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"],
78
- "trusted": true
79
- },
80
- "github": {
81
- "command": "npx",
82
- "args": ["-y", "@modelcontextprotocol/server-github"],
83
- "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" },
84
- "includeTools": ["create_issue", "list_issues"],
85
- "trusted": false
86
- }
87
- }
88
- }
89
- ```
90
-
91
- ## Error Handling
92
-
93
- If an MCP tool call fails:
94
-
95
- 1. Check if the server is still connected
96
- 2. Verify the tool name and parameters
97
- 3. Review any error messages in the response
98
- 4. Consider using an alternative approach or built-in tool
1
+ # MCP Tool Integration
2
+
3
+ ## Overview
4
+
5
+ The Model Context Protocol (MCP) extends your capabilities by connecting to external servers that provide additional tools and resources. MCP servers can run locally (stdio) or remotely (HTTP/SSE).
6
+
7
+ ## Tool Naming Convention
8
+
9
+ MCP tools follow the naming pattern:
10
+
11
+ ```text
12
+ mcp:{server-uid}/{tool-name}
13
+ ```
14
+
15
+ **Examples:**
16
+
17
+ - `mcp:fs01/read_file` - Read file tool from filesystem server
18
+ - `mcp:gh01/create_issue` - Create issue tool from GitHub server
19
+ - `mcp:db01/query` - Query tool from database server
20
+
21
+ The server UID is a short identifier (e.g., `fs01`, `gh01`) assigned to each connected server.
22
+
23
+ ## When to Use MCP Tools
24
+
25
+ ### Prefer MCP Tools When
26
+
27
+ 1. **Domain-specific operations** - MCP servers often provide specialized tools (e.g., database queries, API integrations)
28
+ 2. **External service access** - Interacting with third-party services configured by the user
29
+ 3. **User-configured capabilities** - Tools the user has explicitly added via MCP
30
+
31
+ ### Prefer Built-in Tools When
32
+
33
+ 1. **Standard file operations** - Use built-in `read_file`, `write_file` for local filesystem
34
+ 2. **Shell commands** - Use built-in `execute_command` for terminal operations
35
+ 3. **Core functionality** - Built-in tools are optimized and don't require external server
36
+
37
+ ## Tool Discovery
38
+
39
+ Connected MCP servers and their tools are listed in the system prompt under "Connected MCP Servers". Each server section includes:
40
+
41
+ - **Server name and UID** - Identifier for tool calls
42
+ - **Status** - Connection state (connected, error, etc.)
43
+ - **Available Tools** - List of tools with descriptions and input schemas
44
+ - **Resources** - Static data resources the server provides
45
+ - **Resource Templates** - Dynamic resource patterns
46
+
47
+ ## Usage Best Practices
48
+
49
+ 1. **Check available tools** - Review the connected servers section before attempting MCP tool calls
50
+ 2. **Use correct naming** - Always use the full `mcp:{uid}/{tool}` format
51
+ 3. **Handle errors gracefully** - MCP servers may disconnect; fall back to alternatives if needed
52
+ 4. **Respect trust levels** - Some servers are marked as trusted; others may require user confirmation
53
+
54
+ ## Trust Levels
55
+
56
+ Servers can be configured with trust levels:
57
+
58
+ - **Trusted servers** (🔓) - Tool calls execute without user confirmation
59
+ - **Untrusted servers** - Each tool call requires explicit user approval
60
+
61
+ Trust is configured per-server in the MCP configuration file.
62
+
63
+ ## Configuration
64
+
65
+ MCP servers are configured in:
66
+
67
+ - Global: `~/.vellum/mcp.json`
68
+ - Project: `.vellum/mcp.json` (overrides global)
69
+
70
+ Example configuration:
71
+
72
+ ```json
73
+ {
74
+ "mcpServers": {
75
+ "filesystem": {
76
+ "command": "npx",
77
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"],
78
+ "trusted": true
79
+ },
80
+ "github": {
81
+ "command": "npx",
82
+ "args": ["-y", "@modelcontextprotocol/server-github"],
83
+ "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" },
84
+ "includeTools": ["create_issue", "list_issues"],
85
+ "trusted": false
86
+ }
87
+ }
88
+ }
89
+ ```
90
+
91
+ ## Error Handling
92
+
93
+ If an MCP tool call fails:
94
+
95
+ 1. Check if the server is still connected
96
+ 2. Verify the tool name and parameters
97
+ 3. Review any error messages in the response
98
+ 4. Consider using an alternative approach or built-in tool