| 1 | package tool |
| 2 | |
| 3 | import "strings" |
| 4 | |
| 5 | // ParseMCPServerReference accepts the server references used by skill allowlists. |
| 6 | func ParseMCPServerReference(id string) (server string, ok bool) { |
| 7 | if !strings.HasPrefix(id, "mcp-server:") { |
| 8 | return "", false |
| 9 | } |
| 10 | server = strings.TrimSpace(strings.TrimPrefix(id, "mcp-server:")) |
| 11 | return server, server != "" && !strings.Contains(server, "/") |
| 12 | } |
| 13 | |
| 14 | // ParseMCPToolReference accepts the tool references used by skill allowlists. |
| 15 | func ParseMCPToolReference(id string) (server, raw string, ok bool) { |
| 16 | if !strings.HasPrefix(id, "mcp-tool:") { |
| 17 | return "", "", false |
| 18 | } |
| 19 | server, raw, cut := strings.Cut(strings.TrimPrefix(id, "mcp-tool:"), "/") |
| 20 | server, raw = strings.TrimSpace(server), strings.TrimSpace(raw) |
| 21 | return server, raw, cut && server != "" && raw != "" |
| 22 | } |
| 23 |