@mastra/mcp-registry-registry 0.10.15-alpha.0 → 0.10.15

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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @mastra/mcp-registry-registry
2
2
 
3
+ ## 0.10.15
4
+
5
+ ### Patch Changes
6
+
7
+ - clean up console logs in monorepo ([#7926](https://github.com/mastra-ai/mastra/pull/7926))
8
+
9
+ - Update peerdep of @mastra/core ([#7619](https://github.com/mastra-ai/mastra/pull/7619))
10
+
11
+ - Updated dependencies [[`197cbb2`](https://github.com/mastra-ai/mastra/commit/197cbb248fc8cb4bbf61bf70b770f1388b445df2), [`a1bb887`](https://github.com/mastra-ai/mastra/commit/a1bb887e8bfae44230f487648da72e96ef824561), [`6590763`](https://github.com/mastra-ai/mastra/commit/65907630ef4bf4127067cecd1cb21b56f55d5f1b), [`fb84c21`](https://github.com/mastra-ai/mastra/commit/fb84c21859d09bdc8f158bd5412bdc4b5835a61c), [`5802bf5`](https://github.com/mastra-ai/mastra/commit/5802bf57f6182e4b67c28d7d91abed349a8d14f3), [`5bda53a`](https://github.com/mastra-ai/mastra/commit/5bda53a9747bfa7d876d754fc92c83a06e503f62), [`c2eade3`](https://github.com/mastra-ai/mastra/commit/c2eade3508ef309662f065e5f340d7840295dd53), [`f26a8fd`](https://github.com/mastra-ai/mastra/commit/f26a8fd99fcb0497a5d86c28324430d7f6a5fb83), [`222965a`](https://github.com/mastra-ai/mastra/commit/222965a98ce8197b86673ec594244650b5960257), [`6047778`](https://github.com/mastra-ai/mastra/commit/6047778e501df460648f31decddf8e443f36e373), [`a0f5f1c`](https://github.com/mastra-ai/mastra/commit/a0f5f1ca39c3c5c6d26202e9fcab986b4fe14568), [`9d4fc09`](https://github.com/mastra-ai/mastra/commit/9d4fc09b2ad55caa7738c7ceb3a905e454f74cdd), [`05c7abf`](https://github.com/mastra-ai/mastra/commit/05c7abfe105a015b7760c9bf33ff4419727502a0), [`0324ceb`](https://github.com/mastra-ai/mastra/commit/0324ceb8af9d16c12a531f90e575f6aab797ac81), [`d75ccf0`](https://github.com/mastra-ai/mastra/commit/d75ccf06dfd2582b916aa12624e3cd61b279edf1), [`0f9d227`](https://github.com/mastra-ai/mastra/commit/0f9d227890a98db33865abbea39daf407cd55ef7), [`b356f5f`](https://github.com/mastra-ai/mastra/commit/b356f5f7566cb3edb755d91f00b72fc1420b2a37), [`de056a0`](https://github.com/mastra-ai/mastra/commit/de056a02cbb43f6aa0380ab2150ea404af9ec0dd), [`f5ce05f`](https://github.com/mastra-ai/mastra/commit/f5ce05f831d42c69559bf4c0fdb46ccb920fc3a3), [`60c9cec`](https://github.com/mastra-ai/mastra/commit/60c9cec7048a79a87440f7840c383875bd710d93), [`c93532a`](https://github.com/mastra-ai/mastra/commit/c93532a340b80e4dd946d4c138d9381de5f70399), [`6cb1fcb`](https://github.com/mastra-ai/mastra/commit/6cb1fcbc8d0378ffed0d17784c96e68f30cb0272), [`aee4f00`](https://github.com/mastra-ai/mastra/commit/aee4f00e61e1a42e81a6d74ff149dbe69e32695a), [`9f6f30f`](https://github.com/mastra-ai/mastra/commit/9f6f30f04ec6648bbca798ea8aad59317c40d8db), [`547c621`](https://github.com/mastra-ai/mastra/commit/547c62104af3f7a551b3754e9cbdf0a3fbba15e4), [`897995e`](https://github.com/mastra-ai/mastra/commit/897995e630d572fe2891e7ede817938cabb43251), [`0fed8f2`](https://github.com/mastra-ai/mastra/commit/0fed8f2aa84b167b3415ea6f8f70755775132c8d), [`4f9ea8c`](https://github.com/mastra-ai/mastra/commit/4f9ea8c95ea74ba9abbf3b2ab6106c7d7bc45689), [`1a1fbe6`](https://github.com/mastra-ai/mastra/commit/1a1fbe66efb7d94abc373ed0dd9676adb8122454), [`d706fad`](https://github.com/mastra-ai/mastra/commit/d706fad6e6e4b72357b18d229ba38e6c913c0e70), [`87fd07f`](https://github.com/mastra-ai/mastra/commit/87fd07ff35387a38728967163460231b5d33ae3b), [`5c3768f`](https://github.com/mastra-ai/mastra/commit/5c3768fa959454232ad76715c381f4aac00c6881), [`2685a78`](https://github.com/mastra-ai/mastra/commit/2685a78f224b8b04e20d4fab5ac1adb638190071), [`36f39c0`](https://github.com/mastra-ai/mastra/commit/36f39c00dc794952dc3c11aab91c2fa8bca74b11), [`239b5a4`](https://github.com/mastra-ai/mastra/commit/239b5a497aeae2e8b4d764f46217cfff2284788e), [`8a3f5e4`](https://github.com/mastra-ai/mastra/commit/8a3f5e4212ec36b302957deb4bd47005ab598382)]:
12
+ - @mastra/core@0.17.0
13
+
14
+ ## 0.10.15-alpha.1
15
+
16
+ ### Patch Changes
17
+
18
+ - clean up console logs in monorepo ([#7926](https://github.com/mastra-ai/mastra/pull/7926))
19
+
20
+ - Updated dependencies [[`197cbb2`](https://github.com/mastra-ai/mastra/commit/197cbb248fc8cb4bbf61bf70b770f1388b445df2), [`6590763`](https://github.com/mastra-ai/mastra/commit/65907630ef4bf4127067cecd1cb21b56f55d5f1b), [`c2eade3`](https://github.com/mastra-ai/mastra/commit/c2eade3508ef309662f065e5f340d7840295dd53), [`222965a`](https://github.com/mastra-ai/mastra/commit/222965a98ce8197b86673ec594244650b5960257), [`0324ceb`](https://github.com/mastra-ai/mastra/commit/0324ceb8af9d16c12a531f90e575f6aab797ac81), [`0f9d227`](https://github.com/mastra-ai/mastra/commit/0f9d227890a98db33865abbea39daf407cd55ef7), [`de056a0`](https://github.com/mastra-ai/mastra/commit/de056a02cbb43f6aa0380ab2150ea404af9ec0dd), [`c93532a`](https://github.com/mastra-ai/mastra/commit/c93532a340b80e4dd946d4c138d9381de5f70399), [`6cb1fcb`](https://github.com/mastra-ai/mastra/commit/6cb1fcbc8d0378ffed0d17784c96e68f30cb0272), [`2685a78`](https://github.com/mastra-ai/mastra/commit/2685a78f224b8b04e20d4fab5ac1adb638190071), [`239b5a4`](https://github.com/mastra-ai/mastra/commit/239b5a497aeae2e8b4d764f46217cfff2284788e)]:
21
+ - @mastra/core@0.17.0-alpha.6
22
+
3
23
  ## 0.10.15-alpha.0
4
24
 
5
25
  ### Patch Changes
package/dist/stdio.js CHANGED
@@ -138,14 +138,14 @@ async function fetchServersFromRegistry(registryId) {
138
138
  if (!registry.servers_url) {
139
139
  throw new Error(`Registry "${registry.name}" does not have a servers endpoint.`);
140
140
  }
141
- console.log(`Fetching servers from ${registry.name} at ${registry.servers_url}`);
141
+ console.info(`Fetching servers from ${registry.name} at ${registry.servers_url}`);
142
142
  const response = await fetch(registry.servers_url);
143
143
  if (!response.ok) {
144
144
  throw new Error(`Failed to fetch servers from ${registry.servers_url}: ${response.statusText}`);
145
145
  }
146
146
  const data = await response.json();
147
147
  if (registry.postProcessServers) {
148
- console.log(`Using custom post-processor for ${registry.name}`);
148
+ console.info(`Using custom post-processor for ${registry.name}`);
149
149
  return registry.postProcessServers(data);
150
150
  }
151
151
  throw new Error(`No post-processor found for registry ${registry.name}`);
package/dist/stdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/registry/list-registries.ts","../src/tools/list.ts","../src/registry/fetch-servers.ts","../src/tools/servers.ts","../src/utils.ts","../src/server.ts","../src/stdio.ts"],"names":["registryData","z","server"],"mappings":"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","file":"stdio.js","sourcesContent":["import { z } from 'zod';\nimport { registryData } from './registry';\nimport type { RegistryEntry, RegistryFile } from './types';\n\n// Define the schema for registry entries for validation\nconst RegistryEntrySchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n url: z.string().url(),\n servers_url: z.string().url().optional(),\n tags: z.array(z.string()).optional(),\n count: z.union([z.number(), z.string()]).optional(),\n});\n\n// Define the schema for the registry file for validation\nconst RegistryFileSchema = z.object({\n registries: z.array(RegistryEntrySchema),\n});\n\n/**\n * Returns the registry data from the registry.ts file\n */\nexport async function loadRegistryData(): Promise<RegistryFile> {\n try {\n // Validate the registry data against our schema\n return RegistryFileSchema.parse(registryData);\n } catch (error) {\n console.error('Error loading registry data:', error);\n return { registries: [] };\n }\n}\n\n/**\n * Filters registry entries based on provided criteria\n */\nexport function filterRegistries(\n registries: RegistryEntry[],\n filters: {\n id?: string;\n tag?: string;\n name?: string;\n },\n): RegistryEntry[] {\n let filteredRegistries = [...registries];\n\n if (filters.id) {\n filteredRegistries = filteredRegistries.filter(registry => registry.id === filters.id);\n }\n\n if (filters.tag) {\n filteredRegistries = filteredRegistries.filter(registry => registry.tags?.includes(filters.tag!));\n }\n\n if (filters.name) {\n const searchTerm = filters.name.toLowerCase();\n filteredRegistries = filteredRegistries.filter(registry => registry.name.toLowerCase().includes(searchTerm));\n }\n\n return filteredRegistries;\n}\n\n/**\n * Formats registry entries for API response\n */\nexport function formatRegistryResponse(registries: RegistryEntry[], detailed: boolean = false): any {\n if (registries.length === 0) {\n return {\n count: 0,\n registries: [],\n };\n }\n\n if (detailed) {\n return {\n count: registries.length,\n registries: registries.map(registry => ({\n id: registry.id,\n name: registry.name,\n description: registry.description,\n url: registry.url,\n servers_url: registry.servers_url,\n tags: registry.tags || [],\n count: registry.count,\n })),\n };\n }\n\n return {\n count: registries.length,\n registries: registries.map(registry => ({\n id: registry.id,\n name: registry.name,\n description: registry.description,\n })),\n };\n}\n\n/**\n * Main function to get registry listings with optional filtering\n */\nexport async function getRegistryListings(\n filters: {\n id?: string;\n tag?: string;\n name?: string;\n } = {},\n options: {\n detailed?: boolean;\n } = {},\n): Promise<any> {\n try {\n const registryData = await loadRegistryData();\n const filteredRegistries = filterRegistries(registryData.registries, filters);\n return formatRegistryResponse(filteredRegistries, options.detailed);\n } catch (error) {\n console.error('Error getting registry listings:', error);\n throw error;\n }\n}\n","import { z } from 'zod';\nimport { getRegistryListings } from '../registry/list-registries';\n\n// Define the input schema for the registry listing tool\nexport const listInputSchema = z.object({\n id: z.string().optional(),\n tag: z.string().optional(),\n name: z.string().optional(),\n detailed: z.boolean().optional().default(false),\n});\n\nexport type ListToolInput = z.infer<typeof listInputSchema>;\n\n// Define the registry listing tool\nexport const listTool = {\n name: 'registryList',\n description: 'List available MCP registries. Can filter by ID, tag, or name and provide detailed or summary views.',\n async execute(input: ListToolInput) {\n try {\n const result = await getRegistryListings(\n {\n id: input.id,\n tag: input.tag,\n name: input.name,\n },\n {\n detailed: input.detailed,\n },\n );\n\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify(result, null, 2),\n },\n ],\n };\n } catch (error) {\n return {\n content: [\n {\n type: 'text',\n text: `Error listing registries: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n isError: true,\n };\n }\n },\n};\n","import { registryData } from './registry';\nimport type { ServerEntry } from './types';\n\n/**\n * Fetches servers from a registry's servers_url endpoint\n */\nexport async function fetchServersFromRegistry(registryId: string): Promise<ServerEntry[]> {\n try {\n // Find the registry in our registry data\n const registry = registryData.registries.find(r => r.id === registryId);\n\n if (!registry) {\n throw new Error(`Registry with ID \"${registryId}\" not found.`);\n }\n\n if (!registry.servers_url) {\n throw new Error(`Registry \"${registry.name}\" does not have a servers endpoint.`);\n }\n\n console.log(`Fetching servers from ${registry.name} at ${registry.servers_url}`);\n\n // Fetch the servers from the registry's servers_url\n const response = await fetch(registry.servers_url);\n\n if (!response.ok) {\n throw new Error(`Failed to fetch servers from ${registry.servers_url}: ${response.statusText}`);\n }\n\n const data = (await response.json()) as unknown;\n\n // If the registry has a custom post-processing function, use it\n if (registry.postProcessServers) {\n console.log(`Using custom post-processor for ${registry.name}`);\n return registry.postProcessServers(data);\n }\n\n throw new Error(`No post-processor found for registry ${registry.name}`);\n } catch (error) {\n console.error('Error fetching servers:', error);\n throw error;\n }\n}\n\n/**\n * Filters server entries based on provided criteria\n */\nexport function filterServers(\n servers: ServerEntry[],\n filters: {\n tag?: string;\n search?: string;\n },\n): ServerEntry[] {\n let filteredServers = [...servers];\n\n if (filters.search) {\n const searchTerm = filters.search.toLowerCase();\n filteredServers = filteredServers.filter(\n server => server.name.toLowerCase().includes(searchTerm) || server.description.toLowerCase().includes(searchTerm),\n );\n }\n\n return filteredServers;\n}\n\n/**\n * Main function to get servers from a registry with optional filtering\n */\nexport async function getServersFromRegistry(\n registryId: string,\n filters: {\n tag?: string;\n search?: string;\n } = {},\n): Promise<any> {\n try {\n const servers = await fetchServersFromRegistry(registryId);\n return filterServers(servers, filters);\n } catch (error) {\n console.error('Error getting servers from registry:', error);\n throw error;\n }\n}\n","import { z } from 'zod';\nimport { getServersFromRegistry } from '../registry/fetch-servers';\n\n// Define the input schema for the servers tool\nexport const serversInputSchema = z.object({\n registryId: z.string(),\n tag: z.string().optional(),\n search: z.string().optional(),\n});\n\nexport type ServersToolInput = z.infer<typeof serversInputSchema>;\n\n// Define the servers tool\nexport const serversTool = {\n name: 'registryServers',\n description: 'Get servers from a specific MCP registry. Can filter by tag or search term.',\n async execute(input: ServersToolInput) {\n try {\n const result = await getServersFromRegistry(input.registryId, {\n tag: input.tag,\n search: input.search,\n });\n\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify(result, null, 2),\n },\n ],\n };\n } catch (error) {\n return {\n content: [\n {\n type: 'text',\n text: `Error fetching servers: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n isError: true,\n };\n }\n },\n};\n","import path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport function fromPackageRoot(relativePath: string): string {\n return path.resolve(__dirname, '..', relativePath);\n}\n","import fs from 'node:fs/promises';\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';\nimport { z } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\n\nimport { listTool, listInputSchema } from './tools/list';\nimport { serversTool, serversInputSchema } from './tools/servers';\nimport { fromPackageRoot } from './utils';\n\nconst server = new Server(\n {\n name: 'Registry Registry Server',\n version: JSON.parse(await fs.readFile(fromPackageRoot(`package.json`), 'utf8')).version,\n },\n {\n capabilities: {\n tools: {},\n },\n },\n);\n\n// Set up request handlers\nserver.setRequestHandler(ListToolsRequestSchema, async () => ({\n tools: [\n {\n name: 'registryList',\n description: listTool.description,\n inputSchema: zodToJsonSchema(listInputSchema),\n },\n {\n name: 'registryServers',\n description: serversTool.description,\n inputSchema: zodToJsonSchema(serversInputSchema),\n },\n ],\n}));\n\nserver.setRequestHandler(CallToolRequestSchema, async request => {\n try {\n switch (request.params.name) {\n case 'registryList': {\n const args = listInputSchema.parse(request.params.arguments);\n return await listTool.execute(args);\n }\n case 'registryServers': {\n const args = serversInputSchema.parse(request.params.arguments);\n return await serversTool.execute(args);\n }\n default:\n return {\n content: [\n {\n type: 'text',\n text: `Unknown tool: ${request.params.name}`,\n },\n ],\n isError: true,\n };\n }\n } catch (error) {\n if (error instanceof z.ZodError) {\n return {\n content: [\n {\n type: 'text',\n text: `Invalid arguments: ${error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ')}`,\n },\n ],\n isError: true,\n };\n }\n return {\n content: [\n {\n type: 'text',\n text: `Error: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n isError: true,\n };\n }\n});\n\nasync function runServer() {\n const transport = new StdioServerTransport();\n await server.connect(transport);\n console.error('Registry Registry MCP Server running on stdio');\n}\n\nexport { runServer, server };\n","#!/usr/bin/env node\nimport { runServer } from './server.js';\n\nrunServer().catch(error => {\n console.error('Failed to start server:', error);\n process.exit(1);\n});\n"]}
1
+ {"version":3,"sources":["../src/registry/list-registries.ts","../src/tools/list.ts","../src/registry/fetch-servers.ts","../src/tools/servers.ts","../src/utils.ts","../src/server.ts","../src/stdio.ts"],"names":["registryData","z","server"],"mappings":"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","file":"stdio.js","sourcesContent":["import { z } from 'zod';\nimport { registryData } from './registry';\nimport type { RegistryEntry, RegistryFile } from './types';\n\n// Define the schema for registry entries for validation\nconst RegistryEntrySchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n url: z.string().url(),\n servers_url: z.string().url().optional(),\n tags: z.array(z.string()).optional(),\n count: z.union([z.number(), z.string()]).optional(),\n});\n\n// Define the schema for the registry file for validation\nconst RegistryFileSchema = z.object({\n registries: z.array(RegistryEntrySchema),\n});\n\n/**\n * Returns the registry data from the registry.ts file\n */\nexport async function loadRegistryData(): Promise<RegistryFile> {\n try {\n // Validate the registry data against our schema\n return RegistryFileSchema.parse(registryData);\n } catch (error) {\n console.error('Error loading registry data:', error);\n return { registries: [] };\n }\n}\n\n/**\n * Filters registry entries based on provided criteria\n */\nexport function filterRegistries(\n registries: RegistryEntry[],\n filters: {\n id?: string;\n tag?: string;\n name?: string;\n },\n): RegistryEntry[] {\n let filteredRegistries = [...registries];\n\n if (filters.id) {\n filteredRegistries = filteredRegistries.filter(registry => registry.id === filters.id);\n }\n\n if (filters.tag) {\n filteredRegistries = filteredRegistries.filter(registry => registry.tags?.includes(filters.tag!));\n }\n\n if (filters.name) {\n const searchTerm = filters.name.toLowerCase();\n filteredRegistries = filteredRegistries.filter(registry => registry.name.toLowerCase().includes(searchTerm));\n }\n\n return filteredRegistries;\n}\n\n/**\n * Formats registry entries for API response\n */\nexport function formatRegistryResponse(registries: RegistryEntry[], detailed: boolean = false): any {\n if (registries.length === 0) {\n return {\n count: 0,\n registries: [],\n };\n }\n\n if (detailed) {\n return {\n count: registries.length,\n registries: registries.map(registry => ({\n id: registry.id,\n name: registry.name,\n description: registry.description,\n url: registry.url,\n servers_url: registry.servers_url,\n tags: registry.tags || [],\n count: registry.count,\n })),\n };\n }\n\n return {\n count: registries.length,\n registries: registries.map(registry => ({\n id: registry.id,\n name: registry.name,\n description: registry.description,\n })),\n };\n}\n\n/**\n * Main function to get registry listings with optional filtering\n */\nexport async function getRegistryListings(\n filters: {\n id?: string;\n tag?: string;\n name?: string;\n } = {},\n options: {\n detailed?: boolean;\n } = {},\n): Promise<any> {\n try {\n const registryData = await loadRegistryData();\n const filteredRegistries = filterRegistries(registryData.registries, filters);\n return formatRegistryResponse(filteredRegistries, options.detailed);\n } catch (error) {\n console.error('Error getting registry listings:', error);\n throw error;\n }\n}\n","import { z } from 'zod';\nimport { getRegistryListings } from '../registry/list-registries';\n\n// Define the input schema for the registry listing tool\nexport const listInputSchema = z.object({\n id: z.string().optional(),\n tag: z.string().optional(),\n name: z.string().optional(),\n detailed: z.boolean().optional().default(false),\n});\n\nexport type ListToolInput = z.infer<typeof listInputSchema>;\n\n// Define the registry listing tool\nexport const listTool = {\n name: 'registryList',\n description: 'List available MCP registries. Can filter by ID, tag, or name and provide detailed or summary views.',\n async execute(input: ListToolInput) {\n try {\n const result = await getRegistryListings(\n {\n id: input.id,\n tag: input.tag,\n name: input.name,\n },\n {\n detailed: input.detailed,\n },\n );\n\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify(result, null, 2),\n },\n ],\n };\n } catch (error) {\n return {\n content: [\n {\n type: 'text',\n text: `Error listing registries: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n isError: true,\n };\n }\n },\n};\n","import { registryData } from './registry';\nimport type { ServerEntry } from './types';\n\n/**\n * Fetches servers from a registry's servers_url endpoint\n */\nexport async function fetchServersFromRegistry(registryId: string): Promise<ServerEntry[]> {\n try {\n // Find the registry in our registry data\n const registry = registryData.registries.find(r => r.id === registryId);\n\n if (!registry) {\n throw new Error(`Registry with ID \"${registryId}\" not found.`);\n }\n\n if (!registry.servers_url) {\n throw new Error(`Registry \"${registry.name}\" does not have a servers endpoint.`);\n }\n\n console.info(`Fetching servers from ${registry.name} at ${registry.servers_url}`);\n\n // Fetch the servers from the registry's servers_url\n const response = await fetch(registry.servers_url);\n\n if (!response.ok) {\n throw new Error(`Failed to fetch servers from ${registry.servers_url}: ${response.statusText}`);\n }\n\n const data = (await response.json()) as unknown;\n\n // If the registry has a custom post-processing function, use it\n if (registry.postProcessServers) {\n console.info(`Using custom post-processor for ${registry.name}`);\n return registry.postProcessServers(data);\n }\n\n throw new Error(`No post-processor found for registry ${registry.name}`);\n } catch (error) {\n console.error('Error fetching servers:', error);\n throw error;\n }\n}\n\n/**\n * Filters server entries based on provided criteria\n */\nexport function filterServers(\n servers: ServerEntry[],\n filters: {\n tag?: string;\n search?: string;\n },\n): ServerEntry[] {\n let filteredServers = [...servers];\n\n if (filters.search) {\n const searchTerm = filters.search.toLowerCase();\n filteredServers = filteredServers.filter(\n server => server.name.toLowerCase().includes(searchTerm) || server.description.toLowerCase().includes(searchTerm),\n );\n }\n\n return filteredServers;\n}\n\n/**\n * Main function to get servers from a registry with optional filtering\n */\nexport async function getServersFromRegistry(\n registryId: string,\n filters: {\n tag?: string;\n search?: string;\n } = {},\n): Promise<any> {\n try {\n const servers = await fetchServersFromRegistry(registryId);\n return filterServers(servers, filters);\n } catch (error) {\n console.error('Error getting servers from registry:', error);\n throw error;\n }\n}\n","import { z } from 'zod';\nimport { getServersFromRegistry } from '../registry/fetch-servers';\n\n// Define the input schema for the servers tool\nexport const serversInputSchema = z.object({\n registryId: z.string(),\n tag: z.string().optional(),\n search: z.string().optional(),\n});\n\nexport type ServersToolInput = z.infer<typeof serversInputSchema>;\n\n// Define the servers tool\nexport const serversTool = {\n name: 'registryServers',\n description: 'Get servers from a specific MCP registry. Can filter by tag or search term.',\n async execute(input: ServersToolInput) {\n try {\n const result = await getServersFromRegistry(input.registryId, {\n tag: input.tag,\n search: input.search,\n });\n\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify(result, null, 2),\n },\n ],\n };\n } catch (error) {\n return {\n content: [\n {\n type: 'text',\n text: `Error fetching servers: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n isError: true,\n };\n }\n },\n};\n","import path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport function fromPackageRoot(relativePath: string): string {\n return path.resolve(__dirname, '..', relativePath);\n}\n","import fs from 'node:fs/promises';\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';\nimport { z } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\n\nimport { listTool, listInputSchema } from './tools/list';\nimport { serversTool, serversInputSchema } from './tools/servers';\nimport { fromPackageRoot } from './utils';\n\nconst server = new Server(\n {\n name: 'Registry Registry Server',\n version: JSON.parse(await fs.readFile(fromPackageRoot(`package.json`), 'utf8')).version,\n },\n {\n capabilities: {\n tools: {},\n },\n },\n);\n\n// Set up request handlers\nserver.setRequestHandler(ListToolsRequestSchema, async () => ({\n tools: [\n {\n name: 'registryList',\n description: listTool.description,\n inputSchema: zodToJsonSchema(listInputSchema),\n },\n {\n name: 'registryServers',\n description: serversTool.description,\n inputSchema: zodToJsonSchema(serversInputSchema),\n },\n ],\n}));\n\nserver.setRequestHandler(CallToolRequestSchema, async request => {\n try {\n switch (request.params.name) {\n case 'registryList': {\n const args = listInputSchema.parse(request.params.arguments);\n return await listTool.execute(args);\n }\n case 'registryServers': {\n const args = serversInputSchema.parse(request.params.arguments);\n return await serversTool.execute(args);\n }\n default:\n return {\n content: [\n {\n type: 'text',\n text: `Unknown tool: ${request.params.name}`,\n },\n ],\n isError: true,\n };\n }\n } catch (error) {\n if (error instanceof z.ZodError) {\n return {\n content: [\n {\n type: 'text',\n text: `Invalid arguments: ${error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ')}`,\n },\n ],\n isError: true,\n };\n }\n return {\n content: [\n {\n type: 'text',\n text: `Error: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n isError: true,\n };\n }\n});\n\nasync function runServer() {\n const transport = new StdioServerTransport();\n await server.connect(transport);\n console.error('Registry Registry MCP Server running on stdio');\n}\n\nexport { runServer, server };\n","#!/usr/bin/env node\nimport { runServer } from './server.js';\n\nrunServer().catch(error => {\n console.error('Failed to start server:', error);\n process.exit(1);\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/mcp-registry-registry",
3
- "version": "0.10.15-alpha.0",
3
+ "version": "0.10.15",
4
4
  "description": "MCP server for registry registry services.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,23 +30,23 @@
30
30
  "zod-to-json-schema": "^3.24.6"
31
31
  },
32
32
  "devDependencies": {
33
- "@hono/node-server": "^1.19.2",
33
+ "@hono/node-server": "^1.19.3",
34
34
  "@types/node": "^20.19.0",
35
35
  "@wong2/mcp-cli": "^1.10.0",
36
36
  "cross-env": "^7.0.3",
37
- "eslint": "^9.30.1",
38
- "hono": "^4.9.6",
37
+ "eslint": "^9.35.0",
38
+ "hono": "^4.9.7",
39
39
  "tsup": "^8.5.0",
40
40
  "tsx": "^4.20.3",
41
41
  "typescript": "^5.8.3",
42
42
  "vitest": "^3.2.4",
43
- "@internal/lint": "0.0.39",
44
- "@mastra/core": "0.17.0-alpha.3",
45
- "@mastra/mcp": "^0.12.1-alpha.0",
46
- "@internal/types-builder": "0.0.14"
43
+ "@internal/lint": "0.0.40",
44
+ "@internal/types-builder": "0.0.15",
45
+ "@mastra/mcp": "^0.13.0",
46
+ "@mastra/core": "0.17.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@mastra/core": ">=0.15.3-0 <0.18.0-0"
49
+ "@mastra/core": ">=0.17.0-0 <0.18.0-0"
50
50
  },
51
51
  "homepage": "https://mastra.ai",
52
52
  "repository": {