feat: add MCP registry integration for create-expert skill-finder#612
Merged
feat: add MCP registry integration for create-expert skill-finder#612
Conversation
Add searchMcpRegistry and getMcpServerDetail tools to @perstack/create-expert-skill that search the official MCP registry (registry.modelcontextprotocol.io) for servers matching expert skill requirements. Add @create-expert/skill-finder expert that uses these tools to investigate registry entries and produce skill-report.md with TOML configuration snippets. Update coordinator, planner, and definition-writer instructions to integrate skill findings into generated expert definitions. - MCP registry client with pagination, 10-min cache, Zod validation - searchMcpRegistry: AND keyword matching, name-priority sorting, deprecated exclusion - getMcpServerDetail: npm→mcpStdioSkill, SSE→mcpSseSkill mapping with requiredEnv extraction - CLI resolves create-expert-skill server path to absolute for CWD-independent operation - E2E tests verify skill-finder calls searchMcpRegistry and produces skill-report.md - 28 unit tests covering client, search, and detail tools Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b4b35cf to
48f4cef
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
searchMcpRegistryandgetMcpServerDetailtools to@perstack/create-expert-skillthat search the official MCP registry (registry.modelcontextprotocol.io) for MCP servers matching expert skill requirements@create-expert/skill-finderexpert that uses these tools to investigate registry entries and produceskill-report.mdwith ready-to-use TOML configuration snippetscreate-expert-skillserver path to absolute for CWD-independent operationChanges
New files (
apps/create-expert-skill/src/)lib/mcp-registry-client.ts— Registry API client with pagination (100/page, up to 1000 servers), 10-min in-memory cache, 15s timeout, Zod validationtools/search-mcp-registry.ts—searchMcpRegistrytool: space-separated AND keyword matching on name+description, name-priority sorting, deprecated server exclusiontools/get-mcp-server-detail.ts—getMcpServerDetailtool: fetches server detail, maps npm packages →mcpStdioSkill, SSE/streamable-http remotes →mcpSseSkill, extractsisSecretenv vars forrequiredEnvModified files
apps/create-expert-skill/src/server.ts/index.ts— Register and export new toolsapps/create-expert/bin/cli.ts— Resolvecreate-expert-skillserver path to absolute usingtomlPathas base, so skill-finder works regardless of CWDapps/create-expert/perstack.toml— Add@create-expert/skill-finderexpert with dual skills (@perstack/base+@perstack/create-expert-skill), update coordinator/planner/definition-writer instructions for skill integration flowe2e/create-expert/create-expert.test.ts— Add assertions forsearchMcpRegistrycalls,skill-report.mdcreation, and non-base MCP skill in generated TOML; increase timeout to 900s for extended delegation chainTest plan
bun run typecheck— 23/23 passbun run test— 19/19 pass (includes 28 new unit tests)bun run format-and-lint— cleanbun run build— 23/23 passbun run validate:changeset— passbun test --timeout 900000 e2e/create-expert/create-expert.test.ts— 2/2 pass, 22 expect() calls🤖 Generated with Claude Code