@1mcp/agent 0.25.5 → 0.26.1
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.
- package/build/auth/sdkOAuthClientProvider.d.ts.map +1 -1
- package/build/auth/sdkOAuthClientProvider.js +3 -5
- package/build/auth/sdkOAuthClientProvider.js.map +1 -1
- package/build/auth/sessionTypes.d.ts +10 -0
- package/build/auth/sessionTypes.d.ts.map +1 -1
- package/build/auth/storage/fileStorageService.d.ts +25 -1
- package/build/auth/storage/fileStorageService.d.ts.map +1 -1
- package/build/auth/storage/fileStorageService.js +155 -27
- package/build/auth/storage/fileStorageService.js.map +1 -1
- package/build/auth/storage/oauthStorageService.js +1 -1
- package/build/auth/storage/oauthStorageService.js.map +1 -1
- package/build/commands/mcp/index.d.ts.map +1 -1
- package/build/commands/mcp/index.js +3 -2
- package/build/commands/mcp/index.js.map +1 -1
- package/build/commands/registry/index.d.ts +6 -0
- package/build/commands/registry/index.d.ts.map +1 -0
- package/build/commands/registry/index.js +67 -0
- package/build/commands/registry/index.js.map +1 -0
- package/build/commands/registry/options.d.ts +47 -0
- package/build/commands/registry/options.d.ts.map +1 -0
- package/build/commands/registry/options.js +39 -0
- package/build/commands/registry/options.js.map +1 -0
- package/build/commands/registry/search.d.ts +21 -0
- package/build/commands/registry/search.d.ts.map +1 -0
- package/build/commands/registry/search.js +186 -0
- package/build/commands/registry/search.js.map +1 -0
- package/build/commands/registry/show.d.ts +25 -0
- package/build/commands/registry/show.d.ts.map +1 -0
- package/build/commands/registry/show.js +87 -0
- package/build/commands/registry/show.js.map +1 -0
- package/build/commands/registry/status.d.ts +16 -0
- package/build/commands/registry/status.d.ts.map +1 -0
- package/build/commands/registry/status.js +86 -0
- package/build/commands/registry/status.js.map +1 -0
- package/build/commands/registry/versions.d.ts +21 -0
- package/build/commands/registry/versions.d.ts.map +1 -0
- package/build/commands/registry/versions.js +76 -0
- package/build/commands/registry/versions.js.map +1 -0
- package/build/constants/auth.d.ts +27 -0
- package/build/constants/auth.d.ts.map +1 -1
- package/build/constants/auth.js +31 -0
- package/build/constants/auth.js.map +1 -1
- package/build/constants/mcp.d.ts +1 -1
- package/build/constants/mcp.js +1 -1
- package/build/core/tools/handlers/registryHandler.d.ts +11 -0
- package/build/core/tools/handlers/registryHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/registryHandler.js +49 -0
- package/build/core/tools/handlers/registryHandler.js.map +1 -0
- package/build/core/tools/handlers/searchHandler.d.ts +19 -0
- package/build/core/tools/handlers/searchHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/searchHandler.js +104 -0
- package/build/core/tools/handlers/searchHandler.js.map +1 -0
- package/build/core/tools/handlers/showHandler.d.ts +10 -0
- package/build/core/tools/handlers/showHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/showHandler.js +44 -0
- package/build/core/tools/handlers/showHandler.js.map +1 -0
- package/build/core/tools/handlers/versionsHandler.d.ts +10 -0
- package/build/core/tools/handlers/versionsHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/versionsHandler.js +44 -0
- package/build/core/tools/handlers/versionsHandler.js.map +1 -0
- package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
- package/build/domains/preset/manager/presetManager.js +2 -2
- package/build/domains/preset/manager/presetManager.js.map +1 -1
- package/build/domains/registry/cacheManager.d.ts +61 -0
- package/build/domains/registry/cacheManager.d.ts.map +1 -0
- package/build/domains/registry/cacheManager.js +158 -0
- package/build/domains/registry/cacheManager.js.map +1 -0
- package/build/domains/registry/formatters/commonFormatters.d.ts +34 -0
- package/build/domains/registry/formatters/commonFormatters.d.ts.map +1 -0
- package/build/domains/registry/formatters/commonFormatters.js +154 -0
- package/build/domains/registry/formatters/commonFormatters.js.map +1 -0
- package/build/domains/registry/formatters/serverDetailFormatter.d.ts +6 -0
- package/build/domains/registry/formatters/serverDetailFormatter.d.ts.map +1 -0
- package/build/domains/registry/formatters/serverDetailFormatter.js +310 -0
- package/build/domains/registry/formatters/serverDetailFormatter.js.map +1 -0
- package/build/domains/registry/formatters/versionsFormatter.d.ts +6 -0
- package/build/domains/registry/formatters/versionsFormatter.d.ts.map +1 -0
- package/build/domains/registry/formatters/versionsFormatter.js +84 -0
- package/build/domains/registry/formatters/versionsFormatter.js.map +1 -0
- package/build/domains/registry/mcpRegistryClient.d.ts +101 -0
- package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -0
- package/build/domains/registry/mcpRegistryClient.js +464 -0
- package/build/domains/registry/mcpRegistryClient.js.map +1 -0
- package/build/domains/registry/mcpToolSchemas.d.ts +63 -0
- package/build/domains/registry/mcpToolSchemas.d.ts.map +1 -0
- package/build/domains/registry/mcpToolSchemas.js +52 -0
- package/build/domains/registry/mcpToolSchemas.js.map +1 -0
- package/build/domains/registry/searchFiltering.d.ts +48 -0
- package/build/domains/registry/searchFiltering.d.ts.map +1 -0
- package/build/domains/registry/searchFiltering.js +201 -0
- package/build/domains/registry/searchFiltering.js.map +1 -0
- package/build/domains/registry/types.d.ts +204 -0
- package/build/domains/registry/types.d.ts.map +1 -0
- package/build/domains/registry/types.js +5 -0
- package/build/domains/registry/types.js.map +1 -0
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/transport/http/restorableStreamableTransport.d.ts +52 -0
- package/build/transport/http/restorableStreamableTransport.d.ts.map +1 -0
- package/build/transport/http/restorableStreamableTransport.js +68 -0
- package/build/transport/http/restorableStreamableTransport.js.map +1 -0
- package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.js +113 -30
- package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
- package/build/transport/http/server.d.ts +2 -0
- package/build/transport/http/server.d.ts.map +1 -1
- package/build/transport/http/server.js +10 -2
- package/build/transport/http/server.js.map +1 -1
- package/build/transport/http/storage/streamableSessionRepository.d.ts +57 -0
- package/build/transport/http/storage/streamableSessionRepository.d.ts.map +1 -0
- package/build/transport/http/storage/streamableSessionRepository.js +156 -0
- package/build/transport/http/storage/streamableSessionRepository.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { OFFICIAL_REGISTRY_KEY } from '../../domains/registry/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Search and filtering utilities for MCP servers
|
|
4
|
+
*/
|
|
5
|
+
export class SearchEngine {
|
|
6
|
+
/**
|
|
7
|
+
* Perform fuzzy search on server name and description
|
|
8
|
+
*/
|
|
9
|
+
fuzzySearch(query, servers) {
|
|
10
|
+
if (!query.trim()) {
|
|
11
|
+
return servers;
|
|
12
|
+
}
|
|
13
|
+
const normalizedQuery = query.toLowerCase().trim();
|
|
14
|
+
const queryWords = normalizedQuery.split(/\s+/);
|
|
15
|
+
return servers
|
|
16
|
+
.map((server) => ({
|
|
17
|
+
server,
|
|
18
|
+
score: this.calculateRelevanceScore(server, normalizedQuery, queryWords),
|
|
19
|
+
}))
|
|
20
|
+
.filter(({ score }) => score > 10) // Higher threshold for matches
|
|
21
|
+
.sort((a, b) => b.score - a.score)
|
|
22
|
+
.map(({ server }) => server);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Filter servers by status
|
|
26
|
+
*/
|
|
27
|
+
filterByStatus(servers, status) {
|
|
28
|
+
if (!status || status === 'all') {
|
|
29
|
+
return servers;
|
|
30
|
+
}
|
|
31
|
+
return servers.filter((server) => {
|
|
32
|
+
// Try to get status from the server object first (legacy)
|
|
33
|
+
if (server.status) {
|
|
34
|
+
return server.status === status;
|
|
35
|
+
}
|
|
36
|
+
// If not found, try to get from metadata
|
|
37
|
+
const registryMeta = server._meta?.[OFFICIAL_REGISTRY_KEY];
|
|
38
|
+
if (registryMeta?.status) {
|
|
39
|
+
return registryMeta.status === status;
|
|
40
|
+
}
|
|
41
|
+
// If no status found, include the server (assume active)
|
|
42
|
+
return status === 'active';
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Filter servers by registry type
|
|
47
|
+
*/
|
|
48
|
+
filterByRegistryType(servers, type) {
|
|
49
|
+
if (!type) {
|
|
50
|
+
return servers;
|
|
51
|
+
}
|
|
52
|
+
// Since new schema doesn't have registry_type, return all servers
|
|
53
|
+
return servers;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Filter servers by transport method
|
|
57
|
+
*/
|
|
58
|
+
filterByTransport(servers, transport) {
|
|
59
|
+
if (!transport) {
|
|
60
|
+
return servers;
|
|
61
|
+
}
|
|
62
|
+
return servers.filter((server) => (server.remotes && server.remotes.some((remote) => remote.type === transport)) ||
|
|
63
|
+
(server.packages && server.packages.some((pkg) => pkg.transport?.type === transport)));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Rank search results by relevance and recency
|
|
67
|
+
*/
|
|
68
|
+
rankResults(servers, query) {
|
|
69
|
+
if (!query) {
|
|
70
|
+
// Sort by update recency if no query
|
|
71
|
+
return servers.sort((a, b) => {
|
|
72
|
+
const aMeta = a._meta?.[OFFICIAL_REGISTRY_KEY];
|
|
73
|
+
const bMeta = b._meta?.[OFFICIAL_REGISTRY_KEY];
|
|
74
|
+
if (!aMeta || !bMeta) {
|
|
75
|
+
return 0;
|
|
76
|
+
}
|
|
77
|
+
return new Date(bMeta.updatedAt || 0).getTime() - new Date(aMeta.updatedAt || 0).getTime();
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// Use fuzzy search which already includes ranking
|
|
81
|
+
return this.fuzzySearch(query, servers);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Calculate relevance score for a server against a search query
|
|
85
|
+
*/
|
|
86
|
+
calculateRelevanceScore(server, normalizedQuery, queryWords) {
|
|
87
|
+
let score = 0;
|
|
88
|
+
const name = server.name.toLowerCase();
|
|
89
|
+
const description = server.description.toLowerCase();
|
|
90
|
+
// Exact name match gets highest score
|
|
91
|
+
if (name === normalizedQuery) {
|
|
92
|
+
score += 100;
|
|
93
|
+
}
|
|
94
|
+
else if (name.includes(normalizedQuery)) {
|
|
95
|
+
// Name contains full query
|
|
96
|
+
score += 50;
|
|
97
|
+
}
|
|
98
|
+
else if (description.includes(normalizedQuery)) {
|
|
99
|
+
// Description contains full query
|
|
100
|
+
score += 30;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
// Score for individual word matches (only if no full match found)
|
|
104
|
+
let nameWordMatches = 0;
|
|
105
|
+
let descWordMatches = 0;
|
|
106
|
+
queryWords.forEach((word) => {
|
|
107
|
+
if (name.includes(word)) {
|
|
108
|
+
score += 20;
|
|
109
|
+
nameWordMatches++;
|
|
110
|
+
}
|
|
111
|
+
if (description.includes(word)) {
|
|
112
|
+
score += 10;
|
|
113
|
+
descWordMatches++;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
// Bonus for matching multiple words - prioritize better matches
|
|
117
|
+
if (nameWordMatches > 1) {
|
|
118
|
+
score += nameWordMatches * 10; // Bonus for multiple name word matches
|
|
119
|
+
}
|
|
120
|
+
if (descWordMatches > 1) {
|
|
121
|
+
score += descWordMatches * 5; // Bonus for multiple description word matches
|
|
122
|
+
}
|
|
123
|
+
// Only give fuzzy points if there are some exact word matches
|
|
124
|
+
if (nameWordMatches > 0 || descWordMatches > 0) {
|
|
125
|
+
score += this.calculateFuzzyScore(name, normalizedQuery) * 2;
|
|
126
|
+
score += this.calculateFuzzyScore(description, normalizedQuery) * 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Only apply multipliers if we have a base score
|
|
130
|
+
if (score > 0) {
|
|
131
|
+
// Boost active servers, penalize deprecated ones
|
|
132
|
+
if (server.status === 'active') {
|
|
133
|
+
score *= 1.3;
|
|
134
|
+
}
|
|
135
|
+
else if (server.status === 'deprecated') {
|
|
136
|
+
score *= 0.5; // Heavy penalty for deprecated servers
|
|
137
|
+
}
|
|
138
|
+
// Boost recently updated servers (within last 6 months)
|
|
139
|
+
const sixMonthsAgo = new Date();
|
|
140
|
+
sixMonthsAgo.setMonth(sixMonthsAgo.getMonth() - 6);
|
|
141
|
+
const updatedAt = server._meta[OFFICIAL_REGISTRY_KEY].updatedAt;
|
|
142
|
+
if (updatedAt && new Date(updatedAt) > sixMonthsAgo) {
|
|
143
|
+
score *= 1.2;
|
|
144
|
+
}
|
|
145
|
+
// Boost latest versions
|
|
146
|
+
if (server._meta[OFFICIAL_REGISTRY_KEY].isLatest) {
|
|
147
|
+
score *= 1.1;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return Math.round(score);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Calculate fuzzy matching score using simplified Levenshtein approach
|
|
154
|
+
*/
|
|
155
|
+
calculateFuzzyScore(text, query) {
|
|
156
|
+
if (text === query)
|
|
157
|
+
return 10;
|
|
158
|
+
if (text.includes(query))
|
|
159
|
+
return 8;
|
|
160
|
+
let matches = 0;
|
|
161
|
+
const queryChars = query.split('');
|
|
162
|
+
const textChars = text.split('');
|
|
163
|
+
queryChars.forEach((char) => {
|
|
164
|
+
if (textChars.includes(char)) {
|
|
165
|
+
matches++;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
return (matches / query.length) * 5;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Apply all filters and search to a server list
|
|
172
|
+
*/
|
|
173
|
+
applyFilters(servers, options) {
|
|
174
|
+
let filtered = servers;
|
|
175
|
+
// Apply filters
|
|
176
|
+
if (options.status) {
|
|
177
|
+
filtered = this.filterByStatus(filtered, options.status);
|
|
178
|
+
}
|
|
179
|
+
if (options.registry_type) {
|
|
180
|
+
filtered = this.filterByRegistryType(filtered, options.registry_type);
|
|
181
|
+
}
|
|
182
|
+
if (options.transport) {
|
|
183
|
+
filtered = this.filterByTransport(filtered, options.transport);
|
|
184
|
+
}
|
|
185
|
+
// Apply search and ranking
|
|
186
|
+
if (options.query) {
|
|
187
|
+
filtered = this.fuzzySearch(options.query, filtered);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
filtered = this.rankResults(filtered);
|
|
191
|
+
}
|
|
192
|
+
return filtered;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Create a search engine instance
|
|
197
|
+
*/
|
|
198
|
+
export function createSearchEngine() {
|
|
199
|
+
return new SearchEngine();
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=searchFiltering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchFiltering.js","sourceRoot":"","sources":["../../../src/domains/registry/searchFiltering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAsC,MAAM,gCAAgC,CAAC;AAE3G;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB;;OAEG;IACH,WAAW,CAAC,KAAa,EAAE,OAAyB;QAClD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEhD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChB,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,CAAC;SACzE,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,+BAA+B;aACjE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAyB,EAAE,MAAc;QACtD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,0DAA0D;YAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;YAClC,CAAC;YAED,yCAAyC;YACzC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,qBAAqB,CAAuB,CAAC;YACjF,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC;gBACzB,OAAO,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;YACxC,CAAC;YAED,yDAAyD;YACzD,OAAO,MAAM,KAAK,QAAQ,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,OAAyB,EAAE,IAAY;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,kEAAkE;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAyB,EAAE,SAAiB;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAC9E,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CACxF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAyB,EAAE,KAAc;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,qCAAqC;YACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,qBAAqB,CAAC,CAAC;gBAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,qBAAqB,CAAC,CAAC;gBAE/C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrB,OAAO,CAAC,CAAC;gBACX,CAAC;gBAED,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7F,CAAC,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,MAAsB,EAAE,eAAuB,EAAE,UAAoB;QACnG,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAErD,sCAAsC;QACtC,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,KAAK,IAAI,GAAG,CAAC;QACf,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,2BAA2B;YAC3B,KAAK,IAAI,EAAE,CAAC;QACd,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACjD,kCAAkC;YAClC,KAAK,IAAI,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,eAAe,GAAG,CAAC,CAAC;YAExB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,KAAK,IAAI,EAAE,CAAC;oBACZ,eAAe,EAAE,CAAC;gBACpB,CAAC;gBACD,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,KAAK,IAAI,EAAE,CAAC;oBACZ,eAAe,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,gEAAgE;YAChE,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,IAAI,eAAe,GAAG,EAAE,CAAC,CAAC,uCAAuC;YACxE,CAAC;YACD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,8CAA8C;YAC9E,CAAC;YAED,8DAA8D;YAC9D,IAAI,eAAe,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC/C,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC7D,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,iDAAiD;YACjD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,IAAI,GAAG,CAAC;YACf,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC1C,KAAK,IAAI,GAAG,CAAC,CAAC,uCAAuC;YACvD,CAAC;YAED,wDAAwD;YACxD,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;YAChC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC;YAChE,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;gBACpD,KAAK,IAAI,GAAG,CAAC;YACf,CAAC;YAED,wBAAwB;YACxB,IAAI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjD,KAAK,IAAI,GAAG,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAY,EAAE,KAAa;QACrD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEnC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEjC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,YAAY,CACV,OAAyB,EACzB,OAKC;QAED,IAAI,QAAQ,GAAG,OAAO,CAAC;QAEvB,gBAAgB;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for MCP Registry data structures
|
|
3
|
+
*/
|
|
4
|
+
export declare const OFFICIAL_REGISTRY_KEY = "io.modelcontextprotocol.registry/official";
|
|
5
|
+
export interface Repository {
|
|
6
|
+
id?: string;
|
|
7
|
+
source: string;
|
|
8
|
+
subfolder?: string;
|
|
9
|
+
url: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Server data structure
|
|
13
|
+
*/
|
|
14
|
+
export interface RegistryServer {
|
|
15
|
+
$schema?: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
status: string;
|
|
19
|
+
version: string;
|
|
20
|
+
repository: Repository;
|
|
21
|
+
packages?: ServerPackage[];
|
|
22
|
+
remotes?: ServerRemote[];
|
|
23
|
+
websiteUrl?: string;
|
|
24
|
+
_meta: ServerMeta;
|
|
25
|
+
}
|
|
26
|
+
export interface Input {
|
|
27
|
+
choices?: string[];
|
|
28
|
+
default?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
format?: string;
|
|
31
|
+
isRequired?: boolean;
|
|
32
|
+
isSecret?: boolean;
|
|
33
|
+
value?: string;
|
|
34
|
+
variables?: Record<string, Input>;
|
|
35
|
+
}
|
|
36
|
+
export interface Argument {
|
|
37
|
+
choices?: string[];
|
|
38
|
+
default?: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
format?: string;
|
|
41
|
+
isRepeated?: boolean;
|
|
42
|
+
isRequired?: boolean;
|
|
43
|
+
isSecret?: boolean;
|
|
44
|
+
name?: string;
|
|
45
|
+
type?: string;
|
|
46
|
+
value?: string;
|
|
47
|
+
valueHint?: string;
|
|
48
|
+
variables?: Record<string, Input>;
|
|
49
|
+
}
|
|
50
|
+
export interface ServerPackage {
|
|
51
|
+
environmentVariables?: Input[];
|
|
52
|
+
fileSha256?: string;
|
|
53
|
+
identifier: string;
|
|
54
|
+
packageArguments?: Argument[];
|
|
55
|
+
registryBaseUrl?: string;
|
|
56
|
+
registryType: string;
|
|
57
|
+
runtimeArguments?: Argument[];
|
|
58
|
+
runtimeHint?: string;
|
|
59
|
+
transport?: Transport;
|
|
60
|
+
version?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface ServerRemote {
|
|
63
|
+
headers?: Input[];
|
|
64
|
+
type: string;
|
|
65
|
+
url: string;
|
|
66
|
+
}
|
|
67
|
+
export interface OfficialMeta {
|
|
68
|
+
isLatest: boolean;
|
|
69
|
+
publishedAt: string;
|
|
70
|
+
serverId: string;
|
|
71
|
+
updatedAt: string;
|
|
72
|
+
versionId: string;
|
|
73
|
+
}
|
|
74
|
+
export interface ServerMeta {
|
|
75
|
+
[OFFICIAL_REGISTRY_KEY]: RegistryExtensions;
|
|
76
|
+
[key: string]: Record<string, any>;
|
|
77
|
+
}
|
|
78
|
+
export interface ServerListOptions {
|
|
79
|
+
limit?: number;
|
|
80
|
+
cursor?: string;
|
|
81
|
+
updated_since?: string;
|
|
82
|
+
search?: string;
|
|
83
|
+
version?: string;
|
|
84
|
+
}
|
|
85
|
+
export interface SearchOptions extends ServerListOptions {
|
|
86
|
+
query?: string;
|
|
87
|
+
status?: 'active' | 'archived' | 'deprecated' | 'all';
|
|
88
|
+
registry_type?: 'npm' | 'pypi' | 'docker';
|
|
89
|
+
transport?: 'stdio' | 'sse' | 'webhook';
|
|
90
|
+
}
|
|
91
|
+
export interface Transport {
|
|
92
|
+
headers?: Input[];
|
|
93
|
+
type: string;
|
|
94
|
+
url?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface ServersListResponse {
|
|
97
|
+
servers: ServerResponse[] | null;
|
|
98
|
+
metadata: {
|
|
99
|
+
nextCursor?: string;
|
|
100
|
+
count: number;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export interface ServerListResponse {
|
|
104
|
+
servers: ServerResponse[] | null;
|
|
105
|
+
metadata: {
|
|
106
|
+
nextCursor?: string;
|
|
107
|
+
count: number;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export interface ServerResponse {
|
|
111
|
+
server: RegistryServer;
|
|
112
|
+
_meta: ResponseMeta;
|
|
113
|
+
}
|
|
114
|
+
export interface ResponseMeta {
|
|
115
|
+
'io.modelcontextprotocol.registry/official': RegistryExtensions;
|
|
116
|
+
}
|
|
117
|
+
export interface RegistryExtensions {
|
|
118
|
+
isLatest: boolean;
|
|
119
|
+
publishedAt: string;
|
|
120
|
+
status: 'active' | 'deprecated' | 'deleted';
|
|
121
|
+
updatedAt: string;
|
|
122
|
+
serverId: string;
|
|
123
|
+
versionId: string;
|
|
124
|
+
}
|
|
125
|
+
export interface ServerVersion {
|
|
126
|
+
version: string;
|
|
127
|
+
publishedAt: string;
|
|
128
|
+
updatedAt: string;
|
|
129
|
+
isLatest: boolean;
|
|
130
|
+
status: 'active' | 'archived' | 'deprecated';
|
|
131
|
+
}
|
|
132
|
+
export interface ServerVersionsResponse {
|
|
133
|
+
versions: ServerVersion[];
|
|
134
|
+
serverId: string;
|
|
135
|
+
name: string;
|
|
136
|
+
}
|
|
137
|
+
export interface RegistryStatusResult {
|
|
138
|
+
available: boolean;
|
|
139
|
+
url: string;
|
|
140
|
+
response_time_ms: number;
|
|
141
|
+
last_updated: string;
|
|
142
|
+
github_client_id?: string;
|
|
143
|
+
stats?: {
|
|
144
|
+
total_servers: number;
|
|
145
|
+
active_servers: number;
|
|
146
|
+
deprecated_servers: number;
|
|
147
|
+
by_registry_type: Record<string, number>;
|
|
148
|
+
by_transport: Record<string, number>;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
export interface CacheOptions {
|
|
152
|
+
defaultTtl: number;
|
|
153
|
+
maxSize: number;
|
|
154
|
+
cleanupInterval: number;
|
|
155
|
+
}
|
|
156
|
+
export interface CacheEntry<T> {
|
|
157
|
+
value: T;
|
|
158
|
+
expiresAt: number;
|
|
159
|
+
createdAt: number;
|
|
160
|
+
}
|
|
161
|
+
export interface RegistryClientOptions {
|
|
162
|
+
baseUrl: string;
|
|
163
|
+
timeout: number;
|
|
164
|
+
cache?: CacheOptions;
|
|
165
|
+
proxy?: {
|
|
166
|
+
url: string;
|
|
167
|
+
auth?: {
|
|
168
|
+
username: string;
|
|
169
|
+
password: string;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* CLI registry options interface - maps to command line options
|
|
175
|
+
*/
|
|
176
|
+
export interface RegistryOptions {
|
|
177
|
+
url?: string;
|
|
178
|
+
timeout?: number;
|
|
179
|
+
cacheTtl?: number;
|
|
180
|
+
cacheMaxSize?: number;
|
|
181
|
+
cacheCleanupInterval?: number;
|
|
182
|
+
proxy?: string;
|
|
183
|
+
proxyAuth?: string;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Output format types for registry commands
|
|
187
|
+
*/
|
|
188
|
+
export type OutputFormat = 'table' | 'json' | 'detailed';
|
|
189
|
+
/**
|
|
190
|
+
* Show command arguments
|
|
191
|
+
*/
|
|
192
|
+
export interface ShowCommandArgs {
|
|
193
|
+
serverId: string;
|
|
194
|
+
version?: string;
|
|
195
|
+
format?: OutputFormat;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Versions command arguments
|
|
199
|
+
*/
|
|
200
|
+
export interface VersionsCommandArgs {
|
|
201
|
+
serverId: string;
|
|
202
|
+
format?: OutputFormat;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domains/registry/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domains/registry/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2CAA2C,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { setupAppCommands } from './commands/app/index.js';
|
|
|
9
9
|
import { setupMcpCommands } from './commands/mcp/index.js';
|
|
10
10
|
import { setupPresetCommands } from './commands/preset/index.js';
|
|
11
11
|
import { setupProxyCommand } from './commands/proxy/index.js';
|
|
12
|
+
import { setupRegistryCommands } from './commands/registry/index.js';
|
|
12
13
|
import { serverOptions, setupServeCommand } from './commands/serve/index.js';
|
|
13
14
|
import { configureGlobalLogger } from './logger/configureGlobalLogger.js';
|
|
14
15
|
// Parse command line arguments and set up commands
|
|
@@ -45,6 +46,7 @@ yargsInstance = setupMcpCommands(yargsInstance);
|
|
|
45
46
|
yargsInstance = setupPresetCommands(yargsInstance);
|
|
46
47
|
yargsInstance = setupServeCommand(yargsInstance);
|
|
47
48
|
yargsInstance = setupProxyCommand(yargsInstance);
|
|
49
|
+
yargsInstance = setupRegistryCommands(yargsInstance);
|
|
48
50
|
/**
|
|
49
51
|
* Check for conflicting global options (options specified both before and after the command)
|
|
50
52
|
*/
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAiB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,OAAO,gCAAgC,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,mDAAmD;AACnD,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEjD,wCAAwC;AACxC,aAAa,GAAG,aAAa;KAC1B,KAAK,CAAC,+BAA+B,CAAC;KACtC,OAAO,CAAC,aAAa,CAAC;KACtB,OAAO,CAAC,IAAI,EAAE,iCAAiC,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC9E,8CAA8C;IAC9C,qBAAqB,CAAC,IAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACnE,MAAM,YAAY,CAAC,IAA0C,CAAC,CAAC;AACjE,CAAC,CAAC;KACD,OAAO,CAAC,kBAAkB,CAAC;KAC3B,GAAG,CAAC,SAAS,CAAC,CAAC,0DAA0D;KACzE,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,MAAM,EAAE,CAAC,gDAAgD;KACzD,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACxB,4CAA4C;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,8CAA8C;AAC9C,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAChD,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAChD,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AACnD,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACjD,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAiB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,OAAO,gCAAgC,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,mDAAmD;AACnD,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEjD,wCAAwC;AACxC,aAAa,GAAG,aAAa;KAC1B,KAAK,CAAC,+BAA+B,CAAC;KACtC,OAAO,CAAC,aAAa,CAAC;KACtB,OAAO,CAAC,IAAI,EAAE,iCAAiC,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC9E,8CAA8C;IAC9C,qBAAqB,CAAC,IAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACnE,MAAM,YAAY,CAAC,IAA0C,CAAC,CAAC;AACjE,CAAC,CAAC;KACD,OAAO,CAAC,kBAAkB,CAAC;KAC3B,GAAG,CAAC,SAAS,CAAC,CAAC,0DAA0D;KACzE,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,MAAM,EAAE,CAAC,gDAAgD;KACzD,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACxB,4CAA4C;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,8CAA8C;AAC9C,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAChD,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAChD,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AACnD,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACjD,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACjD,aAAa,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAErD;;GAEG;AACH,SAAS,0BAA0B,CAAC,IAAc;IAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/G,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;SACrD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjD,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,gBAAgB,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,mBAAmB,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CACjC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,CAClG,CAAC;IAEF,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO;IAEhC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAEtD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,sCAAsC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE3C,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE3C,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,2FAA2F,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3I,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAChG,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,mDAAmD;IACnD,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,0CAA0C;IAC1C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
2
|
+
/**
|
|
3
|
+
* RestorableStreamableHTTPServerTransport extends the MCP SDK's StreamableHTTPServerTransport
|
|
4
|
+
* to provide proper session restoration capabilities without directly accessing private fields.
|
|
5
|
+
*
|
|
6
|
+
* This wrapper class encapsulates the initialization logic needed for restored sessions,
|
|
7
|
+
* providing a clean interface that's less likely to break with SDK updates.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // For session restoration
|
|
12
|
+
* const transport = new RestorableStreamableHTTPServerTransport({
|
|
13
|
+
* sessionIdGenerator: () => sessionId,
|
|
14
|
+
* });
|
|
15
|
+
* transport.markAsInitialized();
|
|
16
|
+
*
|
|
17
|
+
* // Check if session was restored
|
|
18
|
+
* if (transport.isRestored()) {
|
|
19
|
+
* // Handle restored session logic
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare class RestorableStreamableHTTPServerTransport extends StreamableHTTPServerTransport {
|
|
24
|
+
private _isRestored;
|
|
25
|
+
/**
|
|
26
|
+
* Marks the transport as initialized for restored sessions.
|
|
27
|
+
*
|
|
28
|
+
* When restoring a session, the client won't send an initialize request again
|
|
29
|
+
* because from the client's perspective, the session is already initialized.
|
|
30
|
+
* The MCP SDK checks the _initialized flag and rejects requests if it's false.
|
|
31
|
+
* This method safely sets that flag to allow the restored session to work.
|
|
32
|
+
*
|
|
33
|
+
* @throws Will log a warning if initialization fails but won't throw an error
|
|
34
|
+
*/
|
|
35
|
+
markAsInitialized(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Returns whether this transport was created for a restored session.
|
|
38
|
+
*
|
|
39
|
+
* @returns true if the transport was restored from persistent storage, false otherwise
|
|
40
|
+
*/
|
|
41
|
+
isRestored(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Gets the restoration status for debugging purposes.
|
|
44
|
+
*
|
|
45
|
+
* @returns Object containing restoration metadata
|
|
46
|
+
*/
|
|
47
|
+
getRestorationInfo(): {
|
|
48
|
+
isRestored: boolean;
|
|
49
|
+
sessionId?: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=restorableStreamableTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restorableStreamableTransport.d.ts","sourceRoot":"","sources":["../../../src/transport/http/restorableStreamableTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAInG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,uCAAwC,SAAQ,6BAA6B;IACxF,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;;;;;OASG;IACH,iBAAiB,IAAI,IAAI;IAYzB;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACH,kBAAkB,IAAI;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAMlE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
2
|
+
import logger from '../../logger/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* RestorableStreamableHTTPServerTransport extends the MCP SDK's StreamableHTTPServerTransport
|
|
5
|
+
* to provide proper session restoration capabilities without directly accessing private fields.
|
|
6
|
+
*
|
|
7
|
+
* This wrapper class encapsulates the initialization logic needed for restored sessions,
|
|
8
|
+
* providing a clean interface that's less likely to break with SDK updates.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // For session restoration
|
|
13
|
+
* const transport = new RestorableStreamableHTTPServerTransport({
|
|
14
|
+
* sessionIdGenerator: () => sessionId,
|
|
15
|
+
* });
|
|
16
|
+
* transport.markAsInitialized();
|
|
17
|
+
*
|
|
18
|
+
* // Check if session was restored
|
|
19
|
+
* if (transport.isRestored()) {
|
|
20
|
+
* // Handle restored session logic
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export class RestorableStreamableHTTPServerTransport extends StreamableHTTPServerTransport {
|
|
25
|
+
_isRestored = false;
|
|
26
|
+
/**
|
|
27
|
+
* Marks the transport as initialized for restored sessions.
|
|
28
|
+
*
|
|
29
|
+
* When restoring a session, the client won't send an initialize request again
|
|
30
|
+
* because from the client's perspective, the session is already initialized.
|
|
31
|
+
* The MCP SDK checks the _initialized flag and rejects requests if it's false.
|
|
32
|
+
* This method safely sets that flag to allow the restored session to work.
|
|
33
|
+
*
|
|
34
|
+
* @throws Will log a warning if initialization fails but won't throw an error
|
|
35
|
+
*/
|
|
36
|
+
markAsInitialized() {
|
|
37
|
+
try {
|
|
38
|
+
// Safely set the SDK's internal _initialized flag
|
|
39
|
+
this._initialized = true;
|
|
40
|
+
this._isRestored = true;
|
|
41
|
+
logger.debug('Transport marked as initialized for restored session');
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
logger.warn('Could not mark transport as initialized:', error);
|
|
45
|
+
// Don't throw - let the session attempt to work without the flag
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Returns whether this transport was created for a restored session.
|
|
50
|
+
*
|
|
51
|
+
* @returns true if the transport was restored from persistent storage, false otherwise
|
|
52
|
+
*/
|
|
53
|
+
isRestored() {
|
|
54
|
+
return this._isRestored;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Gets the restoration status for debugging purposes.
|
|
58
|
+
*
|
|
59
|
+
* @returns Object containing restoration metadata
|
|
60
|
+
*/
|
|
61
|
+
getRestorationInfo() {
|
|
62
|
+
return {
|
|
63
|
+
isRestored: this._isRestored,
|
|
64
|
+
sessionId: this.sessionId,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=restorableStreamableTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restorableStreamableTransport.js","sourceRoot":"","sources":["../../../src/transport/http/restorableStreamableTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,uCAAwC,SAAQ,6BAA6B;IAChF,WAAW,GAAG,KAAK,CAAC;IAE5B;;;;;;;;;OASG;IACH,iBAAiB;QACf,IAAI,CAAC;YACH,kDAAkD;YACjD,IAAY,CAAC,YAAY,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YAC/D,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AsyncLoadingOrchestrator } from '../../../core/capabilities/asyncLoadingOrchestrator.js';
|
|
2
2
|
import { ServerManager } from '../../../core/server/serverManager.js';
|
|
3
|
+
import { StreamableSessionRepository } from '../../../transport/http/storage/streamableSessionRepository.js';
|
|
3
4
|
import { Router } from 'express';
|
|
4
|
-
export declare function setupStreamableHttpRoutes(router: Router, serverManager: ServerManager, authMiddleware: any, availabilityMiddleware?: any, asyncOrchestrator?: AsyncLoadingOrchestrator, customTemplate?: string): void;
|
|
5
|
+
export declare function setupStreamableHttpRoutes(router: Router, serverManager: ServerManager, sessionRepository: StreamableSessionRepository, authMiddleware: any, availabilityMiddleware?: any, asyncOrchestrator?: AsyncLoadingOrchestrator, customTemplate?: string): void;
|
|
5
6
|
//# sourceMappingURL=streamableHttpRoutes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamableHttpRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/streamableHttpRoutes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAYlE,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"streamableHttpRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/streamableHttpRoutes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAYlE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AAEzG,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAwEpD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,2BAA2B,EAC9C,cAAc,EAAE,GAAG,EACnB,sBAAsB,CAAC,EAAE,GAAG,EAC5B,iBAAiB,CAAC,EAAE,wBAAwB,EAC5C,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CA0LN"}
|