You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: mcp/mcp-schemas/model/registry.smithy
+41-14Lines changed: 41 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -2,38 +2,65 @@ $version: "2"
2
2
3
3
namespacesmithy.mcp.registry
4
4
5
-
/// This service provides methods to list and install MCP servers. You can get a list of available servers with
6
-
/// ListServers. Use a server from that method to install a new server with the InstallServer API.
5
+
/// This service provides methods to search MCP Tools and install MCP servers. You can get a list of MCP tools that are most appropriate
6
+
/// for the given task with SearchTools. If the given tool is not already available you can install using the InstallTool api.
7
+
/// Be aware that tools installed using InstallTool are available as part of the ToolAssistant MCP server and the MCP serverId returned from search tool needs to be ignored while tool calling.
7
8
serviceMcpRegistry {
8
9
operations: [
9
-
ListServers
10
-
InstallServer
10
+
SearchTools
11
+
InstallTool
11
12
]
12
13
}
13
14
14
-
/// List the available MCP servers that you can install
15
-
operationListServers {
15
+
/// Search MCP Tools that can help to perform a current task or answer a query. This can be invoked multiple times
16
+
operationSearchTools {
17
+
input := {
18
+
/// Tool Description based on the dialogue context. Include relevant information like urls, nouns, acronyms etc.
19
+
/// Example dialogue:
20
+
/// User: Hi, can you help me create a code review. I use code.amazon.com
21
+
/// Example Tool Description : "Create a code review on code.amazon.com"
22
+
toolDescription: String
23
+
24
+
/// Number of tools to return based on relevance in descending order of relevance. If not specified, the default is 1
25
+
@default(1)
26
+
numberOfTools: Integer
27
+
}
28
+
16
29
output := {
17
-
/// A map of server name to details about that server
30
+
/// List of MCP tools most relevant for the query, sorted by order of relevance,
31
+
/// the first tool being the most relevant.
18
32
@required
19
-
servers: ServerMap
33
+
tools: Tools
20
34
}
21
35
}
22
36
23
-
mapServerMap {
24
-
key: String
25
-
value: ServerEntry
37
+
listTools {
38
+
member: Tool
39
+
}
40
+
41
+
structureTool {
42
+
/// Id of the MCP server this Tool belongs to
43
+
@required
44
+
serverId: String
45
+
46
+
/// Name of the Tool
47
+
toolName: String
26
48
}
27
49
28
50
structureServerEntry {
29
51
description: String
30
52
}
31
53
32
-
/// Install a new MCP server for local use.
33
-
operationInstallServer {
54
+
/// Install a new MCP Tool for local use.
55
+
/// Be aware that tools installed using InstallTool are available as part of the ToolAssistant MCP server and the MCP serverId returned from search tool needs to be ignored while tool calling.
0 commit comments