@a1st/mcp-registry-client 0.0.3
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/dist/client.d.ts +90 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +157 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +235 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/package.json +41 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ServerListResponse, ServerResponse, ListServersOptions, ErrorResponse } from './types.js';
|
|
2
|
+
/** Default base URL for the official MCP Registry */
|
|
3
|
+
export declare const DEFAULT_BASE_URL = "https://registry.modelcontextprotocol.io";
|
|
4
|
+
/** Error thrown when the MCP Registry API returns an error */
|
|
5
|
+
export declare class McpRegistryError extends Error {
|
|
6
|
+
readonly status: number;
|
|
7
|
+
readonly response?: ErrorResponse | undefined;
|
|
8
|
+
constructor(message: string, status: number, response?: ErrorResponse | undefined);
|
|
9
|
+
}
|
|
10
|
+
/** Options for creating an MCP Registry client */
|
|
11
|
+
export interface McpRegistryClientOptions {
|
|
12
|
+
/** Base URL for the registry API (defaults to official registry) */
|
|
13
|
+
baseUrl?: string;
|
|
14
|
+
/** Custom fetch implementation (defaults to global fetch) */
|
|
15
|
+
fetch?: typeof fetch;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Client for the official MCP Registry API.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const client = new McpRegistryClient();
|
|
23
|
+
*
|
|
24
|
+
* // Search for servers
|
|
25
|
+
* const results = await client.search('playwright');
|
|
26
|
+
*
|
|
27
|
+
* // Get a specific server
|
|
28
|
+
* const server = await client.getServer('io.github.user/my-server');
|
|
29
|
+
*
|
|
30
|
+
* // List all servers with pagination
|
|
31
|
+
* for await (const server of client.listAll()) {
|
|
32
|
+
* console.log(server.server.name);
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class McpRegistryClient {
|
|
37
|
+
private readonly baseUrl;
|
|
38
|
+
private readonly fetch;
|
|
39
|
+
constructor(options?: McpRegistryClientOptions);
|
|
40
|
+
/**
|
|
41
|
+
* List servers from the registry with optional filtering.
|
|
42
|
+
*
|
|
43
|
+
* @param options - Filtering and pagination options
|
|
44
|
+
* @returns A page of server results with pagination metadata
|
|
45
|
+
*/
|
|
46
|
+
list(options?: ListServersOptions): Promise<ServerListResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Search for servers by name.
|
|
49
|
+
* Convenience method that wraps `list()` with search and version=latest.
|
|
50
|
+
*
|
|
51
|
+
* @param query - Search query (substring match on server names)
|
|
52
|
+
* @param options - Additional filtering options
|
|
53
|
+
* @returns A page of matching server results
|
|
54
|
+
*/
|
|
55
|
+
search(query: string, options?: Omit<ListServersOptions, 'search'>): Promise<ServerListResponse>;
|
|
56
|
+
/**
|
|
57
|
+
* Get all versions of a specific server.
|
|
58
|
+
*
|
|
59
|
+
* @param serverName - Server name in reverse-DNS format (e.g., 'io.github.user/my-server')
|
|
60
|
+
* @returns List of all versions for the server
|
|
61
|
+
*/
|
|
62
|
+
getServerVersions(serverName: string): Promise<ServerListResponse>;
|
|
63
|
+
/**
|
|
64
|
+
* Get a specific version of a server.
|
|
65
|
+
*
|
|
66
|
+
* @param serverName - Server name in reverse-DNS format (e.g., 'io.github.user/my-server')
|
|
67
|
+
* @param version - Version string or 'latest' for the latest version
|
|
68
|
+
* @returns The server configuration and metadata
|
|
69
|
+
*/
|
|
70
|
+
getServer(serverName: string, version?: string): Promise<ServerResponse>;
|
|
71
|
+
/**
|
|
72
|
+
* Iterate over all servers in the registry with automatic pagination.
|
|
73
|
+
*
|
|
74
|
+
* @param options - Filtering options (cursor is managed automatically)
|
|
75
|
+
* @yields Server responses one at a time
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* for await (const server of client.listAll({ version: 'latest' })) {
|
|
80
|
+
* console.log(server.server.name);
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
listAll(options?: Omit<ListServersOptions, 'cursor'>): AsyncGenerator<ServerResponse, void, unknown>;
|
|
85
|
+
/**
|
|
86
|
+
* Make a request to the registry API.
|
|
87
|
+
*/
|
|
88
|
+
private request;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExG,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,6CAA6C,CAAC;AAK3E,8DAA8D;AAC9D,qBAAa,gBAAiB,SAAQ,KAAK;aAGrB,MAAM,EAAE,MAAM;aACd,QAAQ,CAAC,EAAE,aAAa;gBAFxC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,aAAa,YAAA;CAK7C;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACtC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAiB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,OAAO,GAAE,wBAA6B;IAKlD;;;;;OAKG;IACG,IAAI,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBzE;;;;;;;OAOG;IACG,MAAM,CACT,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAM,GAChD,OAAO,CAAC,kBAAkB,CAAC;IAQ9B;;;;;OAKG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAOxE;;;;;;OAMG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAQhF;;;;;;;;;;;;OAYG;IACI,OAAO,CACX,OAAO,GAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAM,GAChD,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC;IAiBhD;;OAEG;YACW,OAAO;CAuBvB"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/** Default base URL for the official MCP Registry */
|
|
2
|
+
export const DEFAULT_BASE_URL = 'https://registry.modelcontextprotocol.io';
|
|
3
|
+
/** API version prefix */
|
|
4
|
+
const API_VERSION = 'v0.1';
|
|
5
|
+
/** Error thrown when the MCP Registry API returns an error */
|
|
6
|
+
export class McpRegistryError extends Error {
|
|
7
|
+
status;
|
|
8
|
+
response;
|
|
9
|
+
constructor(message, status, response) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.status = status;
|
|
12
|
+
this.response = response;
|
|
13
|
+
this.name = 'McpRegistryError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Client for the official MCP Registry API.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const client = new McpRegistryClient();
|
|
22
|
+
*
|
|
23
|
+
* // Search for servers
|
|
24
|
+
* const results = await client.search('playwright');
|
|
25
|
+
*
|
|
26
|
+
* // Get a specific server
|
|
27
|
+
* const server = await client.getServer('io.github.user/my-server');
|
|
28
|
+
*
|
|
29
|
+
* // List all servers with pagination
|
|
30
|
+
* for await (const server of client.listAll()) {
|
|
31
|
+
* console.log(server.server.name);
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export class McpRegistryClient {
|
|
36
|
+
baseUrl;
|
|
37
|
+
fetch;
|
|
38
|
+
constructor(options = {}) {
|
|
39
|
+
this.baseUrl = options.baseUrl ?? DEFAULT_BASE_URL;
|
|
40
|
+
this.fetch = options.fetch ?? globalThis.fetch;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* List servers from the registry with optional filtering.
|
|
44
|
+
*
|
|
45
|
+
* @param options - Filtering and pagination options
|
|
46
|
+
* @returns A page of server results with pagination metadata
|
|
47
|
+
*/
|
|
48
|
+
async list(options = {}) {
|
|
49
|
+
const params = new URLSearchParams();
|
|
50
|
+
if (options.cursor) {
|
|
51
|
+
params.set('cursor', options.cursor);
|
|
52
|
+
}
|
|
53
|
+
if (options.limit !== undefined) {
|
|
54
|
+
params.set('limit', String(options.limit));
|
|
55
|
+
}
|
|
56
|
+
if (options.updatedSince) {
|
|
57
|
+
params.set('updated_since', options.updatedSince);
|
|
58
|
+
}
|
|
59
|
+
if (options.search) {
|
|
60
|
+
params.set('search', options.search);
|
|
61
|
+
}
|
|
62
|
+
if (options.version) {
|
|
63
|
+
params.set('version', options.version);
|
|
64
|
+
}
|
|
65
|
+
const queryString = params.toString();
|
|
66
|
+
const url = `${this.baseUrl}/${API_VERSION}/servers${queryString ? `?${queryString}` : ''}`;
|
|
67
|
+
return this.request(url);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Search for servers by name.
|
|
71
|
+
* Convenience method that wraps `list()` with search and version=latest.
|
|
72
|
+
*
|
|
73
|
+
* @param query - Search query (substring match on server names)
|
|
74
|
+
* @param options - Additional filtering options
|
|
75
|
+
* @returns A page of matching server results
|
|
76
|
+
*/
|
|
77
|
+
async search(query, options = {}) {
|
|
78
|
+
return this.list({
|
|
79
|
+
...options,
|
|
80
|
+
search: query,
|
|
81
|
+
version: options.version ?? 'latest',
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get all versions of a specific server.
|
|
86
|
+
*
|
|
87
|
+
* @param serverName - Server name in reverse-DNS format (e.g., 'io.github.user/my-server')
|
|
88
|
+
* @returns List of all versions for the server
|
|
89
|
+
*/
|
|
90
|
+
async getServerVersions(serverName) {
|
|
91
|
+
const encodedName = encodeURIComponent(serverName);
|
|
92
|
+
const url = `${this.baseUrl}/${API_VERSION}/servers/${encodedName}/versions`;
|
|
93
|
+
return this.request(url);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get a specific version of a server.
|
|
97
|
+
*
|
|
98
|
+
* @param serverName - Server name in reverse-DNS format (e.g., 'io.github.user/my-server')
|
|
99
|
+
* @param version - Version string or 'latest' for the latest version
|
|
100
|
+
* @returns The server configuration and metadata
|
|
101
|
+
*/
|
|
102
|
+
async getServer(serverName, version = 'latest') {
|
|
103
|
+
const encodedName = encodeURIComponent(serverName);
|
|
104
|
+
const encodedVersion = encodeURIComponent(version);
|
|
105
|
+
const url = `${this.baseUrl}/${API_VERSION}/servers/${encodedName}/versions/${encodedVersion}`;
|
|
106
|
+
return this.request(url);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Iterate over all servers in the registry with automatic pagination.
|
|
110
|
+
*
|
|
111
|
+
* @param options - Filtering options (cursor is managed automatically)
|
|
112
|
+
* @yields Server responses one at a time
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* for await (const server of client.listAll({ version: 'latest' })) {
|
|
117
|
+
* console.log(server.server.name);
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
async *listAll(options = {}) {
|
|
122
|
+
let cursor;
|
|
123
|
+
do {
|
|
124
|
+
// eslint-disable-next-line no-await-in-loop -- Sequential pagination required
|
|
125
|
+
const response = await this.list({ ...options, cursor });
|
|
126
|
+
if (response.servers) {
|
|
127
|
+
for (const server of response.servers) {
|
|
128
|
+
yield server;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
cursor = response.metadata.nextCursor;
|
|
132
|
+
} while (cursor);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Make a request to the registry API.
|
|
136
|
+
*/
|
|
137
|
+
async request(url) {
|
|
138
|
+
const response = await this.fetch(url, {
|
|
139
|
+
headers: {
|
|
140
|
+
Accept: 'application/json',
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
if (!response.ok) {
|
|
144
|
+
let errorResponse;
|
|
145
|
+
try {
|
|
146
|
+
errorResponse = (await response.json());
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// Ignore JSON parse errors for error responses
|
|
150
|
+
}
|
|
151
|
+
const message = errorResponse?.detail ?? errorResponse?.title ?? `HTTP ${response.status}`;
|
|
152
|
+
throw new McpRegistryError(message, response.status, errorResponse);
|
|
153
|
+
}
|
|
154
|
+
return response.json();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,qDAAqD;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AAE3E,yBAAyB;AACzB,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B,8DAA8D;AAC9D,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAGrB;IACA;IAHnB,YACG,OAAe,EACC,MAAc,EACd,QAAwB;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAgB;QAGxC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IAClC,CAAC;CACH;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,iBAAiB;IACV,OAAO,CAAS;IAChB,KAAK,CAAe;IAErC,YAAY,UAAoC,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,UAA8B,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAErC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,WAAW,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE5F,OAAO,IAAI,CAAC,OAAO,CAAqB,GAAG,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACT,KAAa,EACb,UAA8C,EAAE;QAEhD,OAAO,IAAI,CAAC,IAAI,CAAC;YACd,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ;SACtC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACvC,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,YAAY,WAAW,WAAW,CAAC;QAE7E,OAAO,IAAI,CAAC,OAAO,CAAqB,GAAG,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,OAAO,GAAG,QAAQ;QACnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,YAAY,WAAW,aAAa,cAAc,EAAE,CAAC;QAE/F,OAAO,IAAI,CAAC,OAAO,CAAiB,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,OAAO,CACX,UAA8C,EAAE;QAEhD,IAAI,MAA0B,CAAC;QAE/B,GAAG,CAAC;YACD,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,MAAM,CAAC;gBAChB,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzC,CAAC,QAAQ,MAAM,EAAE;IACpB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAI,GAAW;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACpC,OAAO,EAAE;gBACN,MAAM,EAAE,kBAAkB;aAC5B;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,IAAI,aAAwC,CAAC;YAE7C,IAAI,CAAC;gBACF,aAAa,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACN,+CAA+C;YAClD,CAAC;YAED,MAAM,OAAO,GAAG,aAAa,EAAE,MAAM,IAAI,aAAa,EAAE,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YAE3F,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;IACxC,CAAC;CACH"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the official MCP Registry API.
|
|
3
|
+
* Based on the OpenAPI spec at https://registry.modelcontextprotocol.io/openapi.yaml
|
|
4
|
+
*/
|
|
5
|
+
/** Input format types */
|
|
6
|
+
export type InputFormat = 'string' | 'number' | 'boolean' | 'filepath';
|
|
7
|
+
/** Transport types */
|
|
8
|
+
export type TransportType = 'stdio' | 'streamable-http' | 'sse';
|
|
9
|
+
/** Registry types for packages */
|
|
10
|
+
export type RegistryType = 'npm' | 'pypi' | 'oci' | 'nuget' | 'mcpb';
|
|
11
|
+
/** Server lifecycle status */
|
|
12
|
+
export type ServerStatus = 'active' | 'deprecated' | 'deleted';
|
|
13
|
+
/** Icon theme */
|
|
14
|
+
export type IconTheme = 'light' | 'dark';
|
|
15
|
+
/** Icon MIME types */
|
|
16
|
+
export type IconMimeType = 'image/png' | 'image/jpeg' | 'image/jpg' | 'image/svg+xml' | 'image/webp';
|
|
17
|
+
/** Generic input configuration */
|
|
18
|
+
export interface Input {
|
|
19
|
+
/** A list of possible values for the input */
|
|
20
|
+
choices?: string[] | null;
|
|
21
|
+
/** The default value for the input */
|
|
22
|
+
default?: string;
|
|
23
|
+
/** A description of the input */
|
|
24
|
+
description?: string;
|
|
25
|
+
/** Specifies the input format */
|
|
26
|
+
format?: InputFormat;
|
|
27
|
+
/** Whether the input is required */
|
|
28
|
+
isRequired?: boolean;
|
|
29
|
+
/** Indicates whether the input is a secret value */
|
|
30
|
+
isSecret?: boolean;
|
|
31
|
+
/** A placeholder for the input */
|
|
32
|
+
placeholder?: string;
|
|
33
|
+
/** The value for the input */
|
|
34
|
+
value?: string;
|
|
35
|
+
}
|
|
36
|
+
/** Key-value input (for environment variables and headers) */
|
|
37
|
+
export interface KeyValueInput extends Input {
|
|
38
|
+
/** Name of the header or environment variable */
|
|
39
|
+
name: string;
|
|
40
|
+
/** Variables for value templating */
|
|
41
|
+
variables?: Record<string, Input>;
|
|
42
|
+
}
|
|
43
|
+
/** Argument configuration */
|
|
44
|
+
export interface Argument {
|
|
45
|
+
/** Argument type: 'positional' or 'named' */
|
|
46
|
+
type: string;
|
|
47
|
+
/** A list of possible values for the input */
|
|
48
|
+
choices?: string[] | null;
|
|
49
|
+
/** The default value for the input */
|
|
50
|
+
default?: string;
|
|
51
|
+
/** A description of the input */
|
|
52
|
+
description?: string;
|
|
53
|
+
/** Specifies the input format */
|
|
54
|
+
format?: InputFormat;
|
|
55
|
+
/** Whether the argument can be repeated multiple times */
|
|
56
|
+
isRepeated?: boolean;
|
|
57
|
+
/** Whether the input is required */
|
|
58
|
+
isRequired?: boolean;
|
|
59
|
+
/** Indicates whether the input is a secret value */
|
|
60
|
+
isSecret?: boolean;
|
|
61
|
+
/** The flag name (for named arguments), including any leading dashes */
|
|
62
|
+
name?: string;
|
|
63
|
+
/** A placeholder for the input */
|
|
64
|
+
placeholder?: string;
|
|
65
|
+
/** The value for the input */
|
|
66
|
+
value?: string;
|
|
67
|
+
/** An identifier for positional arguments */
|
|
68
|
+
valueHint?: string;
|
|
69
|
+
/** A map of variable names to their values */
|
|
70
|
+
variables?: Record<string, Input>;
|
|
71
|
+
}
|
|
72
|
+
/** Transport protocol configuration */
|
|
73
|
+
export interface Transport {
|
|
74
|
+
/** Transport type (stdio, streamable-http, or sse) */
|
|
75
|
+
type: TransportType;
|
|
76
|
+
/** URL for streamable-http or sse transports */
|
|
77
|
+
url?: string;
|
|
78
|
+
/** HTTP headers for streamable-http or sse transports */
|
|
79
|
+
headers?: KeyValueInput[] | null;
|
|
80
|
+
/** Variables for URL templating in remote transports */
|
|
81
|
+
variables?: Record<string, Input>;
|
|
82
|
+
}
|
|
83
|
+
/** Package configuration */
|
|
84
|
+
export interface Package {
|
|
85
|
+
/** Registry type indicating how to download packages */
|
|
86
|
+
registryType: RegistryType;
|
|
87
|
+
/** Package identifier - either a package name or URL */
|
|
88
|
+
identifier: string;
|
|
89
|
+
/** Transport protocol configuration for the package */
|
|
90
|
+
transport: Transport;
|
|
91
|
+
/** Package version */
|
|
92
|
+
version?: string;
|
|
93
|
+
/** Base URL of the package registry */
|
|
94
|
+
registryBaseUrl?: string;
|
|
95
|
+
/** A mapping of environment variables to be set when running the package */
|
|
96
|
+
environmentVariables?: KeyValueInput[] | null;
|
|
97
|
+
/** SHA-256 hash of the package file for integrity verification */
|
|
98
|
+
fileSha256?: string;
|
|
99
|
+
/** A list of arguments to be passed to the package's binary */
|
|
100
|
+
packageArguments?: Argument[] | null;
|
|
101
|
+
/** A list of arguments to be passed to the package's runtime command */
|
|
102
|
+
runtimeArguments?: Argument[] | null;
|
|
103
|
+
/** A hint to help clients determine the appropriate runtime for the package */
|
|
104
|
+
runtimeHint?: string;
|
|
105
|
+
}
|
|
106
|
+
/** Icon configuration */
|
|
107
|
+
export interface Icon {
|
|
108
|
+
/** A standard URI pointing to an icon resource */
|
|
109
|
+
src: string;
|
|
110
|
+
/** Optional MIME type override */
|
|
111
|
+
mimeType?: IconMimeType;
|
|
112
|
+
/** Optional array of strings that specify sizes */
|
|
113
|
+
sizes?: string[] | null;
|
|
114
|
+
/** Optional specifier for the theme this icon is designed for */
|
|
115
|
+
theme?: IconTheme;
|
|
116
|
+
}
|
|
117
|
+
/** Repository metadata */
|
|
118
|
+
export interface Repository {
|
|
119
|
+
/** Repository URL for browsing source code */
|
|
120
|
+
url?: string;
|
|
121
|
+
/** Repository hosting service identifier */
|
|
122
|
+
source?: string;
|
|
123
|
+
/** Repository identifier from the hosting service */
|
|
124
|
+
id?: string;
|
|
125
|
+
/** Optional relative path from repository root to the server location */
|
|
126
|
+
subfolder?: string;
|
|
127
|
+
}
|
|
128
|
+
/** Publisher-provided metadata */
|
|
129
|
+
export interface ServerMeta {
|
|
130
|
+
'io.modelcontextprotocol.registry/publisher-provided'?: Record<string, unknown>;
|
|
131
|
+
}
|
|
132
|
+
/** Server JSON configuration */
|
|
133
|
+
export interface ServerJSON {
|
|
134
|
+
/** JSON Schema URI for this server.json format */
|
|
135
|
+
$schema: string;
|
|
136
|
+
/** Server name in reverse-DNS format */
|
|
137
|
+
name: string;
|
|
138
|
+
/** Clear human-readable explanation of server functionality */
|
|
139
|
+
description: string;
|
|
140
|
+
/** Version string for this server */
|
|
141
|
+
version: string;
|
|
142
|
+
/** Optional human-readable title or display name */
|
|
143
|
+
title?: string;
|
|
144
|
+
/** Array of package configurations */
|
|
145
|
+
packages?: Package[] | null;
|
|
146
|
+
/** Array of remote configurations */
|
|
147
|
+
remotes?: Transport[] | null;
|
|
148
|
+
/** Optional repository metadata */
|
|
149
|
+
repository?: Repository;
|
|
150
|
+
/** Optional set of sized icons */
|
|
151
|
+
icons?: Icon[] | null;
|
|
152
|
+
/** Optional URL to the server's homepage */
|
|
153
|
+
websiteUrl?: string;
|
|
154
|
+
/** Extension metadata using reverse DNS namespacing */
|
|
155
|
+
_meta?: ServerMeta;
|
|
156
|
+
}
|
|
157
|
+
/** Registry extensions metadata */
|
|
158
|
+
export interface RegistryExtensions {
|
|
159
|
+
/** Server lifecycle status */
|
|
160
|
+
status: ServerStatus;
|
|
161
|
+
/** Timestamp when the server was first published */
|
|
162
|
+
publishedAt: string;
|
|
163
|
+
/** Whether this is the latest version of the server */
|
|
164
|
+
isLatest: boolean;
|
|
165
|
+
/** Timestamp when the server entry was last updated */
|
|
166
|
+
updatedAt?: string;
|
|
167
|
+
}
|
|
168
|
+
/** Response metadata */
|
|
169
|
+
export interface ResponseMeta {
|
|
170
|
+
'io.modelcontextprotocol.registry/official'?: RegistryExtensions;
|
|
171
|
+
}
|
|
172
|
+
/** Server response (server + metadata) */
|
|
173
|
+
export interface ServerResponse {
|
|
174
|
+
/** Server configuration and metadata */
|
|
175
|
+
server: ServerJSON;
|
|
176
|
+
/** Registry-managed metadata */
|
|
177
|
+
_meta: ResponseMeta;
|
|
178
|
+
}
|
|
179
|
+
/** Pagination metadata */
|
|
180
|
+
export interface PaginationMetadata {
|
|
181
|
+
/** Number of items in current page */
|
|
182
|
+
count: number;
|
|
183
|
+
/** Pagination cursor for retrieving the next page */
|
|
184
|
+
nextCursor?: string;
|
|
185
|
+
}
|
|
186
|
+
/** Server list response */
|
|
187
|
+
export interface ServerListResponse {
|
|
188
|
+
/** List of server entries */
|
|
189
|
+
servers: ServerResponse[] | null;
|
|
190
|
+
/** Pagination metadata */
|
|
191
|
+
metadata: PaginationMetadata;
|
|
192
|
+
}
|
|
193
|
+
/** API error detail */
|
|
194
|
+
export interface ErrorDetail {
|
|
195
|
+
/** Where the error occurred */
|
|
196
|
+
location?: string;
|
|
197
|
+
/** Error message text */
|
|
198
|
+
message?: string;
|
|
199
|
+
/** The value at the given location */
|
|
200
|
+
value?: unknown;
|
|
201
|
+
}
|
|
202
|
+
/** API error response */
|
|
203
|
+
export interface ErrorResponse {
|
|
204
|
+
/** HTTP status code */
|
|
205
|
+
status?: number;
|
|
206
|
+
/** A short, human-readable summary of the problem type */
|
|
207
|
+
title?: string;
|
|
208
|
+
/** A human-readable explanation specific to this occurrence */
|
|
209
|
+
detail?: string;
|
|
210
|
+
/** A URI reference to human-readable documentation for the error */
|
|
211
|
+
type?: string;
|
|
212
|
+
/** A URI reference that identifies the specific occurrence */
|
|
213
|
+
instance?: string;
|
|
214
|
+
/** Optional list of individual error details */
|
|
215
|
+
errors?: ErrorDetail[] | null;
|
|
216
|
+
}
|
|
217
|
+
/** Options for listing servers */
|
|
218
|
+
export interface ListServersOptions {
|
|
219
|
+
/** Pagination cursor */
|
|
220
|
+
cursor?: string;
|
|
221
|
+
/** Number of items per page (1-100, default 30) */
|
|
222
|
+
limit?: number;
|
|
223
|
+
/** Filter servers updated since timestamp (RFC3339 datetime) */
|
|
224
|
+
updatedSince?: string;
|
|
225
|
+
/** Search servers by name (substring match) */
|
|
226
|
+
search?: string;
|
|
227
|
+
/** Filter by version ('latest' for latest version, or an exact version) */
|
|
228
|
+
version?: string;
|
|
229
|
+
}
|
|
230
|
+
/** Options for getting a specific server version */
|
|
231
|
+
export interface GetServerOptions {
|
|
232
|
+
/** Server version (use 'latest' for the latest version) */
|
|
233
|
+
version?: string;
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@a1st/mcp-registry-client",
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"description": "TypeScript client for the official MCP Registry API",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"api-client",
|
|
7
|
+
"mcp",
|
|
8
|
+
"model-context-protocol",
|
|
9
|
+
"registry"
|
|
10
|
+
],
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/a1st-dev/aix.git",
|
|
15
|
+
"directory": "packages/mcp-registry-client"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"type": "module",
|
|
21
|
+
"main": "./dist/index.js",
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"exports": {
|
|
24
|
+
".": {
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"import": "./dist/index.js"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public",
|
|
31
|
+
"registry": "https://registry.npmjs.org/"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc -p tsconfig.build.json",
|
|
35
|
+
"test": "vitest run --passWithNoTests",
|
|
36
|
+
"test:watch": "vitest"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"p-map": "7.0.4"
|
|
40
|
+
}
|
|
41
|
+
}
|