github-to-mcp-monorepo 1.0.0
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/.env.example +8 -0
- package/.github/CODEOWNERS +6 -0
- package/.husky/pre-commit +1 -0
- package/.nvmrc +1 -0
- package/.prettierignore +5 -0
- package/.prettierrc +7 -0
- package/.vscode/settings.json +4 -0
- package/ARCHITECTURE.md +1429 -0
- package/CHANGELOG.md +167 -0
- package/CONTRIBUTING.md +327 -0
- package/LICENSE +201 -0
- package/README.md +1028 -0
- package/SECURITY.md +248 -0
- package/VISUAL_GUIDE.md +437 -0
- package/apps/vscode/IMPLEMENTATION.md +480 -0
- package/apps/vscode/README.md +248 -0
- package/apps/vscode/package.json +381 -0
- package/apps/vscode/resources/icon.png +0 -0
- package/apps/vscode/resources/icon.svg +5 -0
- package/apps/vscode/src/commands/browseRegistry.ts +211 -0
- package/apps/vscode/src/commands/configureClaudeDesktop.ts +332 -0
- package/apps/vscode/src/commands/convert.ts +82 -0
- package/apps/vscode/src/commands/convertCurrentRepo.ts +109 -0
- package/apps/vscode/src/commands/convertFromUrl.ts +138 -0
- package/apps/vscode/src/commands/index.ts +121 -0
- package/apps/vscode/src/commands/validate.ts +197 -0
- package/apps/vscode/src/extension.ts +464 -0
- package/apps/vscode/src/global.d.ts +36 -0
- package/apps/vscode/src/test/extension.test.ts +73 -0
- package/apps/vscode/src/utils/file-generator.ts +529 -0
- package/apps/vscode/src/utils/github-api.ts +335 -0
- package/apps/vscode/src/utils/index.ts +29 -0
- package/apps/vscode/src/utils/mcp-config.ts +334 -0
- package/apps/vscode/src/utils/storage.ts +87 -0
- package/apps/vscode/src/views/McpServersTreeView.ts +160 -0
- package/apps/vscode/src/views/OutputChannelView.ts +195 -0
- package/apps/vscode/src/views/StatusBarItem.ts +251 -0
- package/apps/vscode/src/views/ToolsExplorerView.ts +314 -0
- package/apps/vscode/src/views/historyProvider.ts +75 -0
- package/apps/vscode/src/views/index.ts +12 -0
- package/apps/vscode/src/views/resultsPanel.ts +330 -0
- package/apps/vscode/src/webviews/ConversionPanel.ts +350 -0
- package/apps/vscode/src/webviews/ToolDetailsPanel.ts +448 -0
- package/apps/vscode/src/webviews/index.ts +9 -0
- package/apps/vscode/src/webviews/webview-ui/styles.ts +492 -0
- package/apps/vscode/tsconfig.json +20 -0
- package/apps/web/PLAYGROUND_GUIDE.md +499 -0
- package/apps/web/README.md +505 -0
- package/apps/web/app/api/convert/route.ts +100 -0
- package/apps/web/app/api/convert/stream/route.ts +198 -0
- package/apps/web/app/api/deploy/route.ts +157 -0
- package/apps/web/app/api/edge/route.ts +308 -0
- package/apps/web/app/api/export-docker/route.ts +284 -0
- package/apps/web/app/api/generate-openapi/route.ts +119 -0
- package/apps/web/app/api/mcp/[serverId]/route.ts +263 -0
- package/apps/web/app/api/playground/connect/route.ts +143 -0
- package/apps/web/app/api/playground/disconnect/route.ts +78 -0
- package/apps/web/app/api/playground/execute/route.ts +135 -0
- package/apps/web/app/api/playground/sessions/route.ts +103 -0
- package/apps/web/app/api/playground/tools/route.ts +117 -0
- package/apps/web/app/api/playground/v2/connect/route.ts +96 -0
- package/apps/web/app/api/playground/v2/disconnect/route.ts +88 -0
- package/apps/web/app/api/playground/v2/health/route.ts +80 -0
- package/apps/web/app/api/playground/v2/prompts/route.ts +160 -0
- package/apps/web/app/api/playground/v2/resources/route.ts +159 -0
- package/apps/web/app/api/playground/v2/sessions/route.ts +184 -0
- package/apps/web/app/api/playground/v2/tools/route.ts +167 -0
- package/apps/web/app/api/stream/route.ts +232 -0
- package/apps/web/app/batch/BatchConvertClient.tsx +190 -0
- package/apps/web/app/batch/page.tsx +37 -0
- package/apps/web/app/convert/page.tsx +269 -0
- package/apps/web/app/dashboard/page.tsx +380 -0
- package/apps/web/app/globals.css +622 -0
- package/apps/web/app/layout.tsx +120 -0
- package/apps/web/app/manifest.ts +31 -0
- package/apps/web/app/opengraph-image.tsx +112 -0
- package/apps/web/app/page.old.tsx +924 -0
- package/apps/web/app/page.tsx +77 -0
- package/apps/web/app/playground/page.tsx +306 -0
- package/apps/web/app/playground/v2/error.tsx +163 -0
- package/apps/web/app/playground/v2/layout.tsx +58 -0
- package/apps/web/app/playground/v2/loading.tsx +152 -0
- package/apps/web/app/playground/v2/page.tsx +644 -0
- package/apps/web/app/playground/v2/providers.tsx +214 -0
- package/apps/web/app/playground/v2/use-shortcuts.ts +209 -0
- package/apps/web/app/playground/v2/use-url-state.ts +296 -0
- package/apps/web/app/providers.tsx +22 -0
- package/apps/web/app/sitemap.ts +32 -0
- package/apps/web/app/twitter-image.tsx +112 -0
- package/apps/web/components/BranchSelector.tsx +401 -0
- package/apps/web/components/ClaudeConfigExport.tsx +226 -0
- package/apps/web/components/Features.tsx +84 -0
- package/apps/web/components/Footer.tsx +119 -0
- package/apps/web/components/GenerationProgress.tsx +248 -0
- package/apps/web/components/GithubUrlInput.tsx +483 -0
- package/apps/web/components/Header.tsx +175 -0
- package/apps/web/components/Hero.tsx +117 -0
- package/apps/web/components/HowItWorks.tsx +119 -0
- package/apps/web/components/InstallBanner.tsx +158 -0
- package/apps/web/components/Logo.tsx +116 -0
- package/apps/web/components/ParticleBackground.tsx +105 -0
- package/apps/web/components/Playground.tsx +472 -0
- package/apps/web/components/PlaygroundToolTester.tsx +410 -0
- package/apps/web/components/ProductCards.tsx +179 -0
- package/apps/web/components/SplitView.tsx +194 -0
- package/apps/web/components/ToolFilter.tsx +260 -0
- package/apps/web/components/ToolList.tsx +325 -0
- package/apps/web/components/batch/BatchConvert.tsx +785 -0
- package/apps/web/components/batch/index.ts +7 -0
- package/apps/web/components/convert/ConfigTabs.tsx +230 -0
- package/apps/web/components/convert/ConversionResult.tsx +482 -0
- package/apps/web/components/convert/InlinePlayground.tsx +259 -0
- package/apps/web/components/convert/LoadingSteps.tsx +311 -0
- package/apps/web/components/convert/OneClickInstall.tsx +224 -0
- package/apps/web/components/convert/ToolCard.tsx +189 -0
- package/apps/web/components/convert/TryInPlayground.tsx +242 -0
- package/apps/web/components/convert/index.ts +12 -0
- package/apps/web/components/deploy/DeployButton.tsx +369 -0
- package/apps/web/components/deploy/index.ts +7 -0
- package/apps/web/components/docker/DockerExport.tsx +690 -0
- package/apps/web/components/docker/index.ts +7 -0
- package/apps/web/components/install/OneClickInstall.tsx +676 -0
- package/apps/web/components/install/index.ts +7 -0
- package/apps/web/components/playground/CapabilityTabs.tsx +150 -0
- package/apps/web/components/playground/ConnectionStatusV2.tsx +322 -0
- package/apps/web/components/playground/EmptyStates.tsx +305 -0
- package/apps/web/components/playground/ExecutionLog.tsx +260 -0
- package/apps/web/components/playground/ExecutionLogV2.tsx +378 -0
- package/apps/web/components/playground/JsonViewer.tsx +388 -0
- package/apps/web/components/playground/PlaygroundLayout.tsx +244 -0
- package/apps/web/components/playground/PromptsPanel.tsx +385 -0
- package/apps/web/components/playground/ResourcesPanel.tsx +378 -0
- package/apps/web/components/playground/SchemaForm.tsx +477 -0
- package/apps/web/components/playground/ServerStatus.tsx +151 -0
- package/apps/web/components/playground/ShareButton.tsx +239 -0
- package/apps/web/components/playground/ToolsPanel.tsx +309 -0
- package/apps/web/components/playground/TransportConfigurator.tsx +563 -0
- package/apps/web/components/playground/index.ts +74 -0
- package/apps/web/components/playground/types.ts +202 -0
- package/apps/web/components/streaming/StreamingProgress.tsx +441 -0
- package/apps/web/components/streaming/index.ts +7 -0
- package/apps/web/components/ui/badge.tsx +42 -0
- package/apps/web/components/ui/button.tsx +88 -0
- package/apps/web/components/ui/card.tsx +75 -0
- package/apps/web/components/ui/code-block.tsx +122 -0
- package/apps/web/components/ui/index.ts +12 -0
- package/apps/web/components/ui/input.tsx +55 -0
- package/apps/web/components/ui/tabs.tsx +61 -0
- package/apps/web/hooks/index.ts +85 -0
- package/apps/web/hooks/types.ts +1173 -0
- package/apps/web/hooks/use-conversion.ts +133 -0
- package/apps/web/hooks/use-execution-history.ts +376 -0
- package/apps/web/hooks/use-generation-progress.ts +147 -0
- package/apps/web/hooks/use-local-storage.ts +88 -0
- package/apps/web/hooks/use-mcp-client.ts +623 -0
- package/apps/web/hooks/use-mcp-connection.ts +500 -0
- package/apps/web/hooks/use-mcp-execution.ts +282 -0
- package/apps/web/hooks/use-mcp-prompts.ts +441 -0
- package/apps/web/hooks/use-mcp-resources.ts +430 -0
- package/apps/web/hooks/use-mcp-tools.ts +540 -0
- package/apps/web/hooks/use-playground-store.ts +299 -0
- package/apps/web/hooks/use-playground.ts +184 -0
- package/apps/web/hooks/use-streaming-conversion.ts +227 -0
- package/apps/web/hooks/useBatchConversion.ts +271 -0
- package/apps/web/hooks/useDockerConfig.ts +161 -0
- package/apps/web/hooks/usePlatformDetection.ts +80 -0
- package/apps/web/hooks/useStreaming.ts +199 -0
- package/apps/web/lib/api/errors.ts +386 -0
- package/apps/web/lib/api/index.ts +137 -0
- package/apps/web/lib/api/logger.ts +187 -0
- package/apps/web/lib/api/middleware.ts +364 -0
- package/apps/web/lib/api/openapi.ts +977 -0
- package/apps/web/lib/api/session-manager.ts +594 -0
- package/apps/web/lib/api/types.ts +433 -0
- package/apps/web/lib/api/validation.ts +523 -0
- package/apps/web/lib/constants.ts +114 -0
- package/apps/web/lib/mcp/client.ts +1137 -0
- package/apps/web/lib/mcp/events.ts +651 -0
- package/apps/web/lib/mcp/index.ts +347 -0
- package/apps/web/lib/mcp/logger.ts +428 -0
- package/apps/web/lib/mcp/metrics.ts +703 -0
- package/apps/web/lib/mcp/retry.ts +616 -0
- package/apps/web/lib/mcp/session-manager.ts +779 -0
- package/apps/web/lib/mcp/transports.ts +988 -0
- package/apps/web/lib/mcp/types.ts +594 -0
- package/apps/web/lib/mcp-client-enhanced.ts +871 -0
- package/apps/web/lib/mcp-client.ts +778 -0
- package/apps/web/lib/mcp-errors.ts +489 -0
- package/apps/web/lib/mcp-sandbox.ts +593 -0
- package/apps/web/lib/mcp-testing.ts +428 -0
- package/apps/web/lib/mcp-types.ts +448 -0
- package/apps/web/lib/playground-store.tsx +1147 -0
- package/apps/web/lib/utils.ts +439 -0
- package/apps/web/next-env.d.ts +5 -0
- package/apps/web/next.config.js +23 -0
- package/apps/web/package.json +55 -0
- package/apps/web/postcss.config.js +6 -0
- package/apps/web/public/.well-known/ai-plugin.json +17 -0
- package/apps/web/public/logo.svg +6 -0
- package/apps/web/public/robots.txt +22 -0
- package/apps/web/public/schema.json +27 -0
- package/apps/web/tailwind.config.js +26 -0
- package/apps/web/tailwind.config.ts +123 -0
- package/apps/web/tsconfig.json +20 -0
- package/apps/web/types/deploy.ts +139 -0
- package/apps/web/types/index.ts +247 -0
- package/apps/web/vercel.json +39 -0
- package/eslint.config.mjs +23 -0
- package/llms.txt +102 -0
- package/mkdocs/docs/api/core.md +318 -0
- package/mkdocs/docs/api/index.md +128 -0
- package/mkdocs/docs/api/mcp-server.md +301 -0
- package/mkdocs/docs/api/openapi-parser.md +254 -0
- package/mkdocs/docs/assets/logo.svg +7 -0
- package/mkdocs/docs/changelog.md +118 -0
- package/mkdocs/docs/cli/generate.md +148 -0
- package/mkdocs/docs/cli/index.md +52 -0
- package/mkdocs/docs/cli/inspect.md +164 -0
- package/mkdocs/docs/cli/serve.md +136 -0
- package/mkdocs/docs/concepts/classification.md +254 -0
- package/mkdocs/docs/concepts/how-it-works.md +299 -0
- package/mkdocs/docs/concepts/index.md +77 -0
- package/mkdocs/docs/concepts/mcp-protocol.md +362 -0
- package/mkdocs/docs/concepts/tool-types.md +382 -0
- package/mkdocs/docs/contributing/architecture.md +262 -0
- package/mkdocs/docs/contributing/development.md +245 -0
- package/mkdocs/docs/contributing/index.md +73 -0
- package/mkdocs/docs/contributing/testing.md +320 -0
- package/mkdocs/docs/getting-started/configuration.md +235 -0
- package/mkdocs/docs/getting-started/index.md +54 -0
- package/mkdocs/docs/getting-started/installation.md +145 -0
- package/mkdocs/docs/getting-started/quickstart.md +160 -0
- package/mkdocs/docs/guides/batch.md +375 -0
- package/mkdocs/docs/guides/claude-desktop.md +227 -0
- package/mkdocs/docs/guides/cursor.md +188 -0
- package/mkdocs/docs/guides/custom-tools.md +367 -0
- package/mkdocs/docs/guides/index.md +78 -0
- package/mkdocs/docs/guides/private-repos.md +221 -0
- package/mkdocs/docs/guides/vscode.md +247 -0
- package/mkdocs/docs/index.md +175 -0
- package/mkdocs/docs/reference/config.md +223 -0
- package/mkdocs/docs/reference/env.md +192 -0
- package/mkdocs/docs/reference/index.md +102 -0
- package/mkdocs/docs/reference/tools.md +309 -0
- package/mkdocs/docs/stylesheets/extra.css +231 -0
- package/mkdocs/mkdocs.yml +204 -0
- package/mkdocs/overrides/.gitkeep +1 -0
- package/mkdocs/overrides/main.html +7 -0
- package/mkdocs/python-deps.txt +7 -0
- package/mkdocs/vercel.json +11 -0
- package/package.json +63 -0
- package/packages/core/package.json +61 -0
- package/packages/core/src/__tests__/bitbucket-client.test.ts +366 -0
- package/packages/core/src/__tests__/cli.test.ts +235 -0
- package/packages/core/src/__tests__/code-extractor.test.ts +378 -0
- package/packages/core/src/__tests__/docker-generator.test.ts +255 -0
- package/packages/core/src/__tests__/github-client.test.ts +390 -0
- package/packages/core/src/__tests__/gitlab-client.test.ts +319 -0
- package/packages/core/src/__tests__/go-extractor.test.ts +351 -0
- package/packages/core/src/__tests__/graphql-extractor.test.ts +330 -0
- package/packages/core/src/__tests__/java-extractor.test.ts +497 -0
- package/packages/core/src/__tests__/plugins.test.ts +467 -0
- package/packages/core/src/__tests__/readme-extractor.test.ts +258 -0
- package/packages/core/src/__tests__/redis-cache.test.ts +307 -0
- package/packages/core/src/__tests__/rust-extractor.test.ts +252 -0
- package/packages/core/src/__tests__/streaming.test.ts +251 -0
- package/packages/core/src/additional-extractors.ts +333 -0
- package/packages/core/src/cache/cache-interface.ts +179 -0
- package/packages/core/src/cache/index.ts +210 -0
- package/packages/core/src/cache/redis-cache.ts +291 -0
- package/packages/core/src/cache/upstash-cache.ts +379 -0
- package/packages/core/src/cache.ts +251 -0
- package/packages/core/src/cli.ts +822 -0
- package/packages/core/src/code-extractor.ts +696 -0
- package/packages/core/src/docker-generator.ts +470 -0
- package/packages/core/src/edge-compatible.ts +491 -0
- package/packages/core/src/extractors/go-extractor.ts +791 -0
- package/packages/core/src/extractors/index.ts +9 -0
- package/packages/core/src/extractors/java-extractor.ts +937 -0
- package/packages/core/src/extractors/rust-extractor.ts +744 -0
- package/packages/core/src/github-client.ts +319 -0
- package/packages/core/src/go-generator.ts +356 -0
- package/packages/core/src/graphql-extractor.ts +358 -0
- package/packages/core/src/index.ts +797 -0
- package/packages/core/src/langchain-exporter.ts +617 -0
- package/packages/core/src/language-parsers.ts +1114 -0
- package/packages/core/src/mcp-introspector.ts +279 -0
- package/packages/core/src/monorepo-detector.ts +378 -0
- package/packages/core/src/plugins/index.ts +370 -0
- package/packages/core/src/plugins/registry.ts +404 -0
- package/packages/core/src/plugins/types.ts +215 -0
- package/packages/core/src/providers/base-provider.ts +246 -0
- package/packages/core/src/providers/bitbucket-client.ts +464 -0
- package/packages/core/src/providers/gitlab-client.ts +388 -0
- package/packages/core/src/providers/index.ts +176 -0
- package/packages/core/src/python-generator.ts +260 -0
- package/packages/core/src/queue/index.ts +100 -0
- package/packages/core/src/queue/memory-queue.ts +445 -0
- package/packages/core/src/queue/redis-queue.ts +578 -0
- package/packages/core/src/queue/types.ts +251 -0
- package/packages/core/src/readme-extractor.ts +409 -0
- package/packages/core/src/schema-generator.ts +638 -0
- package/packages/core/src/streaming.ts +999 -0
- package/packages/core/src/types.ts +289 -0
- package/packages/core/tsconfig.json +9 -0
- package/packages/core/tsup.config.ts +25 -0
- package/packages/mcp-server/README.md +297 -0
- package/packages/mcp-server/package.json +55 -0
- package/packages/mcp-server/src/__tests__/mcp-server.test.ts +177 -0
- package/packages/mcp-server/src/__tests__/tools.test.ts +217 -0
- package/packages/mcp-server/src/index.ts +1206 -0
- package/packages/mcp-server/src/prompts/index.ts +601 -0
- package/packages/mcp-server/src/tools/export-docker.ts +362 -0
- package/packages/mcp-server/src/tools/generate-openapi.ts +162 -0
- package/packages/mcp-server/src/tools/monitor-mcp-server.ts +448 -0
- package/packages/mcp-server/src/tools/stream-convert.ts +398 -0
- package/packages/mcp-server/src/tools/test-mcp-tool.ts +531 -0
- package/packages/mcp-server/tsconfig.json +12 -0
- package/packages/mcp-server/tsup.config.ts +14 -0
- package/packages/openapi-parser/package-lock.json +3028 -0
- package/packages/openapi-parser/package.json +41 -0
- package/packages/openapi-parser/src/analyzer.ts +700 -0
- package/packages/openapi-parser/src/asyncapi-parser.ts +475 -0
- package/packages/openapi-parser/src/cli.ts +302 -0
- package/packages/openapi-parser/src/generator.ts +570 -0
- package/packages/openapi-parser/src/generators/express-analyzer.ts +649 -0
- package/packages/openapi-parser/src/generators/fastapi-analyzer.ts +960 -0
- package/packages/openapi-parser/src/generators/index.ts +200 -0
- package/packages/openapi-parser/src/generators/nextjs-analyzer.ts +768 -0
- package/packages/openapi-parser/src/generators/openapi-builder.ts +527 -0
- package/packages/openapi-parser/src/generators/types.ts +298 -0
- package/packages/openapi-parser/src/graphql-parser.ts +462 -0
- package/packages/openapi-parser/src/grpc-parser.ts +649 -0
- package/packages/openapi-parser/src/har-parser.ts +723 -0
- package/packages/openapi-parser/src/index.ts +635 -0
- package/packages/openapi-parser/src/insomnia-parser.ts +614 -0
- package/packages/openapi-parser/src/parser.ts +231 -0
- package/packages/openapi-parser/src/postman-parser.ts +611 -0
- package/packages/openapi-parser/src/ref-resolver.ts +313 -0
- package/packages/openapi-parser/src/transformer.ts +459 -0
- package/packages/openapi-parser/tests/generators/express.test.ts +209 -0
- package/packages/openapi-parser/tests/generators/fastapi.test.ts +236 -0
- package/packages/openapi-parser/tests/generators/nextjs.test.ts +273 -0
- package/packages/openapi-parser/tests/parsers.test.ts +847 -0
- package/packages/openapi-parser/tsconfig.json +9 -0
- package/packages/openapi-parser/tsup.config.ts +11 -0
- package/packages/registry/package.json +59 -0
- package/packages/registry/src/cli.ts +456 -0
- package/packages/registry/src/index.ts +44 -0
- package/packages/registry/src/popular/github.json +47 -0
- package/packages/registry/src/popular/index.ts +55 -0
- package/packages/registry/src/popular/linear.json +42 -0
- package/packages/registry/src/popular/notion.json +42 -0
- package/packages/registry/src/popular/openai.json +40 -0
- package/packages/registry/src/popular/resend.json +38 -0
- package/packages/registry/src/popular/slack.json +42 -0
- package/packages/registry/src/popular/stripe.json +163 -0
- package/packages/registry/src/popular/supabase.json +42 -0
- package/packages/registry/src/popular/twilio.json +40 -0
- package/packages/registry/src/popular/vercel.json +40 -0
- package/packages/registry/src/registry.ts +492 -0
- package/packages/registry/src/storage.ts +334 -0
- package/packages/registry/src/types.ts +275 -0
- package/packages/registry/src/updater.ts +208 -0
- package/packages/registry/tsconfig.json +10 -0
- package/packages/registry/tsup.config.ts +11 -0
- package/pnpm-workspace.yaml +3 -0
- package/scripts/build-docs.sh +16 -0
- package/server.json +9 -0
- package/templates/Dockerfile.python.template +60 -0
- package/templates/Dockerfile.typescript.template +60 -0
- package/templates/docker-compose.template.yml +68 -0
- package/tests/fixtures/express-app/index.js +34 -0
- package/tests/fixtures/express-app/routes/posts.js +43 -0
- package/tests/fixtures/express-app/routes/users.js +58 -0
- package/tests/fixtures/fastapi-app/main.py +125 -0
- package/tests/fixtures/fastapi-app/routes/admin.py +42 -0
- package/tests/fixtures/graphql/simple-schema.graphql +65 -0
- package/tests/fixtures/mocks/github-api-responses.json +63 -0
- package/tests/fixtures/nextjs-app/app/api/posts/route.ts +55 -0
- package/tests/fixtures/nextjs-app/app/api/users/[id]/route.ts +63 -0
- package/tests/fixtures/nextjs-app/app/api/users/route.ts +44 -0
- package/tests/fixtures/nextjs-app/pages/api/health.ts +28 -0
- package/tests/fixtures/openapi/petstore.yaml +179 -0
- package/tests/integration/langchain-export.test.ts +405 -0
- package/tests/integration/openapi-conversion.test.ts +221 -0
- package/tsconfig.json +18 -0
- package/vitest.config.ts +32 -0
|
@@ -0,0 +1,601 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview MCP Prompts - Common workflow templates
|
|
3
|
+
* @author nich (x.com/nichxbt | github.com/nirholas)
|
|
4
|
+
* @copyright Copyright (c) 2024-2026 nich (nirholas)
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/nirholas/github-to-mcp
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { Prompt, PromptArgument, PromptMessage, TextContent } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
+
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Prompt Definitions
|
|
13
|
+
// ============================================================================
|
|
14
|
+
|
|
15
|
+
/** MCP Prompts by nich (x.com/nichxbt | github.com/nirholas) */
|
|
16
|
+
const _PROMPTS_META = { author: 'nich', twitter: 'nichxbt', gh: 'nirholas' } as const;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* All available prompts
|
|
20
|
+
*/
|
|
21
|
+
export const PROMPTS: Prompt[] = [
|
|
22
|
+
{
|
|
23
|
+
name: 'analyze_api',
|
|
24
|
+
description: `Analyze a REST or GraphQL API and generate a plan for creating MCP tools.
|
|
25
|
+
|
|
26
|
+
Use this prompt when you want to:
|
|
27
|
+
- Understand an API's capabilities before conversion
|
|
28
|
+
- Get recommendations for tool organization
|
|
29
|
+
- Identify authentication requirements
|
|
30
|
+
- Plan parameter validation strategies`,
|
|
31
|
+
arguments: [
|
|
32
|
+
{
|
|
33
|
+
name: 'api_url',
|
|
34
|
+
description: 'URL to the API documentation or OpenAPI spec',
|
|
35
|
+
required: true,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'focus_areas',
|
|
39
|
+
description: 'Specific areas to focus on (e.g., "authentication", "pagination", "error handling")',
|
|
40
|
+
required: false,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'debug_tool',
|
|
46
|
+
description: `Help diagnose and fix issues with an MCP tool that isn't working correctly.
|
|
47
|
+
|
|
48
|
+
Guides you through:
|
|
49
|
+
- Analyzing the error message
|
|
50
|
+
- Checking input validation
|
|
51
|
+
- Verifying schema correctness
|
|
52
|
+
- Testing with minimal examples
|
|
53
|
+
- Common pitfalls and solutions`,
|
|
54
|
+
arguments: [
|
|
55
|
+
{
|
|
56
|
+
name: 'tool_name',
|
|
57
|
+
description: 'Name of the tool that is failing',
|
|
58
|
+
required: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'error_message',
|
|
62
|
+
description: 'The error message or unexpected behavior observed',
|
|
63
|
+
required: true,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'tool_code',
|
|
67
|
+
description: 'The tool implementation code (if available)',
|
|
68
|
+
required: false,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'optimize_server',
|
|
74
|
+
description: `Review an MCP server implementation and suggest optimizations.
|
|
75
|
+
|
|
76
|
+
Analyzes:
|
|
77
|
+
- Code efficiency and patterns
|
|
78
|
+
- Error handling completeness
|
|
79
|
+
- Tool organization and naming
|
|
80
|
+
- Schema design quality
|
|
81
|
+
- Documentation coverage
|
|
82
|
+
- Security best practices`,
|
|
83
|
+
arguments: [
|
|
84
|
+
{
|
|
85
|
+
name: 'server_code',
|
|
86
|
+
description: 'The MCP server code to analyze',
|
|
87
|
+
required: true,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'language',
|
|
91
|
+
description: 'Programming language (typescript or python)',
|
|
92
|
+
required: false,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'create_tool_suite',
|
|
98
|
+
description: `Design a comprehensive suite of MCP tools for a specific use case.
|
|
99
|
+
|
|
100
|
+
Helps you:
|
|
101
|
+
- Define tool boundaries and responsibilities
|
|
102
|
+
- Design consistent parameter patterns
|
|
103
|
+
- Plan error handling strategy
|
|
104
|
+
- Create documentation templates
|
|
105
|
+
- Set up testing structure`,
|
|
106
|
+
arguments: [
|
|
107
|
+
{
|
|
108
|
+
name: 'use_case',
|
|
109
|
+
description: 'Description of what the tool suite should accomplish',
|
|
110
|
+
required: true,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'target_api',
|
|
114
|
+
description: 'API or service the tools will interact with (if applicable)',
|
|
115
|
+
required: false,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'constraints',
|
|
119
|
+
description: 'Any constraints or requirements (auth, rate limits, etc.)',
|
|
120
|
+
required: false,
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: 'migrate_to_mcp',
|
|
126
|
+
description: `Guide the migration of existing code to MCP tools.
|
|
127
|
+
|
|
128
|
+
Covers:
|
|
129
|
+
- Identifying functions suitable for tools
|
|
130
|
+
- Designing input/output schemas
|
|
131
|
+
- Handling async operations
|
|
132
|
+
- Managing state and context
|
|
133
|
+
- Testing migration results`,
|
|
134
|
+
arguments: [
|
|
135
|
+
{
|
|
136
|
+
name: 'source_code',
|
|
137
|
+
description: 'Existing code to migrate',
|
|
138
|
+
required: true,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: 'source_type',
|
|
142
|
+
description: 'Type of source (REST API, CLI, library functions)',
|
|
143
|
+
required: true,
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: 'security_review',
|
|
149
|
+
description: `Perform a security review of an MCP server implementation.
|
|
150
|
+
|
|
151
|
+
Checks for:
|
|
152
|
+
- Input validation vulnerabilities
|
|
153
|
+
- Injection attack vectors
|
|
154
|
+
- Authentication/authorization issues
|
|
155
|
+
- Sensitive data exposure
|
|
156
|
+
- Rate limiting and DoS protection
|
|
157
|
+
- Dependency vulnerabilities`,
|
|
158
|
+
arguments: [
|
|
159
|
+
{
|
|
160
|
+
name: 'server_code',
|
|
161
|
+
description: 'MCP server code to review',
|
|
162
|
+
required: true,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'deployment_context',
|
|
166
|
+
description: 'How the server will be deployed (local, cloud, public)',
|
|
167
|
+
required: false,
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: 'write_documentation',
|
|
173
|
+
description: `Generate comprehensive documentation for an MCP server.
|
|
174
|
+
|
|
175
|
+
Creates:
|
|
176
|
+
- README with quick start guide
|
|
177
|
+
- Tool reference documentation
|
|
178
|
+
- Usage examples for each tool
|
|
179
|
+
- Configuration guide
|
|
180
|
+
- Troubleshooting section`,
|
|
181
|
+
arguments: [
|
|
182
|
+
{
|
|
183
|
+
name: 'server_code',
|
|
184
|
+
description: 'MCP server code to document',
|
|
185
|
+
required: true,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'audience',
|
|
189
|
+
description: 'Target audience (developers, end-users, both)',
|
|
190
|
+
required: false,
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: 'compare_implementations',
|
|
196
|
+
description: `Compare two MCP implementations and identify differences.
|
|
197
|
+
|
|
198
|
+
Useful for:
|
|
199
|
+
- Reviewing generated vs hand-written code
|
|
200
|
+
- Comparing TypeScript vs Python versions
|
|
201
|
+
- Identifying missing features
|
|
202
|
+
- Finding inconsistencies`,
|
|
203
|
+
arguments: [
|
|
204
|
+
{
|
|
205
|
+
name: 'implementation_a',
|
|
206
|
+
description: 'First implementation to compare',
|
|
207
|
+
required: true,
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: 'implementation_b',
|
|
211
|
+
description: 'Second implementation to compare',
|
|
212
|
+
required: true,
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
},
|
|
216
|
+
];
|
|
217
|
+
|
|
218
|
+
// ============================================================================
|
|
219
|
+
// Prompt Message Generators
|
|
220
|
+
// ============================================================================
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Generate prompt messages for analyze_api
|
|
224
|
+
*/
|
|
225
|
+
export function generateAnalyzeApiMessages(args: {
|
|
226
|
+
api_url: string;
|
|
227
|
+
focus_areas?: string;
|
|
228
|
+
}): PromptMessage[] {
|
|
229
|
+
return [
|
|
230
|
+
{
|
|
231
|
+
role: 'user',
|
|
232
|
+
content: {
|
|
233
|
+
type: 'text',
|
|
234
|
+
text: `Please analyze the API at ${args.api_url} and help me create MCP tools for it.
|
|
235
|
+
|
|
236
|
+
${args.focus_areas ? `Focus particularly on: ${args.focus_areas}` : ''}
|
|
237
|
+
|
|
238
|
+
I'd like you to:
|
|
239
|
+
|
|
240
|
+
1. **API Overview**: Summarize what the API does and its main capabilities
|
|
241
|
+
2. **Authentication**: Identify how authentication works and how to handle it in tools
|
|
242
|
+
3. **Endpoints Analysis**: List the main endpoints and their purposes
|
|
243
|
+
4. **Tool Recommendations**: Suggest which endpoints should become MCP tools
|
|
244
|
+
5. **Schema Design**: Recommend input schemas for each tool
|
|
245
|
+
6. **Error Handling**: Identify error patterns and how to handle them
|
|
246
|
+
7. **Rate Limiting**: Note any rate limits and mitigation strategies
|
|
247
|
+
|
|
248
|
+
Please start by fetching and analyzing the API documentation or spec.`,
|
|
249
|
+
} as TextContent,
|
|
250
|
+
},
|
|
251
|
+
];
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Generate prompt messages for debug_tool
|
|
256
|
+
*/
|
|
257
|
+
export function generateDebugToolMessages(args: {
|
|
258
|
+
tool_name: string;
|
|
259
|
+
error_message: string;
|
|
260
|
+
tool_code?: string;
|
|
261
|
+
}): PromptMessage[] {
|
|
262
|
+
return [
|
|
263
|
+
{
|
|
264
|
+
role: 'user',
|
|
265
|
+
content: {
|
|
266
|
+
type: 'text',
|
|
267
|
+
text: `I'm having trouble with an MCP tool called "${args.tool_name}".
|
|
268
|
+
|
|
269
|
+
**Error:** ${args.error_message}
|
|
270
|
+
|
|
271
|
+
${args.tool_code ? `**Tool Code:**\n\`\`\`\n${args.tool_code}\n\`\`\`` : ''}
|
|
272
|
+
|
|
273
|
+
Please help me debug this by:
|
|
274
|
+
|
|
275
|
+
1. **Error Analysis**: What does this error typically indicate?
|
|
276
|
+
2. **Common Causes**: What are the most likely causes?
|
|
277
|
+
3. **Diagnostic Steps**: How can I gather more information?
|
|
278
|
+
4. **Solution Options**: What fixes should I try?
|
|
279
|
+
5. **Prevention**: How can I prevent this in the future?
|
|
280
|
+
|
|
281
|
+
Please start with the most likely cause and work through systematically.`,
|
|
282
|
+
} as TextContent,
|
|
283
|
+
},
|
|
284
|
+
];
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Generate prompt messages for optimize_server
|
|
289
|
+
*/
|
|
290
|
+
export function generateOptimizeServerMessages(args: {
|
|
291
|
+
server_code: string;
|
|
292
|
+
language?: string;
|
|
293
|
+
}): PromptMessage[] {
|
|
294
|
+
return [
|
|
295
|
+
{
|
|
296
|
+
role: 'user',
|
|
297
|
+
content: {
|
|
298
|
+
type: 'text',
|
|
299
|
+
text: `Please review this MCP server implementation and suggest optimizations.
|
|
300
|
+
|
|
301
|
+
**Language:** ${args.language || 'auto-detect'}
|
|
302
|
+
|
|
303
|
+
**Code:**
|
|
304
|
+
\`\`\`${args.language || ''}
|
|
305
|
+
${args.server_code}
|
|
306
|
+
\`\`\`
|
|
307
|
+
|
|
308
|
+
Please analyze and provide feedback on:
|
|
309
|
+
|
|
310
|
+
1. **Code Quality**
|
|
311
|
+
- Clean code principles
|
|
312
|
+
- DRY violations
|
|
313
|
+
- Complexity issues
|
|
314
|
+
|
|
315
|
+
2. **Error Handling**
|
|
316
|
+
- Missing error cases
|
|
317
|
+
- Error message quality
|
|
318
|
+
- Recovery strategies
|
|
319
|
+
|
|
320
|
+
3. **Performance**
|
|
321
|
+
- Inefficient patterns
|
|
322
|
+
- Caching opportunities
|
|
323
|
+
- Async optimization
|
|
324
|
+
|
|
325
|
+
4. **Tool Design**
|
|
326
|
+
- Naming conventions
|
|
327
|
+
- Schema completeness
|
|
328
|
+
- Description quality
|
|
329
|
+
|
|
330
|
+
5. **Security**
|
|
331
|
+
- Input validation
|
|
332
|
+
- Sensitive data handling
|
|
333
|
+
- Rate limiting
|
|
334
|
+
|
|
335
|
+
6. **Documentation**
|
|
336
|
+
- Missing comments
|
|
337
|
+
- Type annotations
|
|
338
|
+
- Usage examples
|
|
339
|
+
|
|
340
|
+
Please prioritize the most impactful improvements first.`,
|
|
341
|
+
} as TextContent,
|
|
342
|
+
},
|
|
343
|
+
];
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Generate prompt messages for create_tool_suite
|
|
348
|
+
*/
|
|
349
|
+
export function generateCreateToolSuiteMessages(args: {
|
|
350
|
+
use_case: string;
|
|
351
|
+
target_api?: string;
|
|
352
|
+
constraints?: string;
|
|
353
|
+
}): PromptMessage[] {
|
|
354
|
+
return [
|
|
355
|
+
{
|
|
356
|
+
role: 'user',
|
|
357
|
+
content: {
|
|
358
|
+
type: 'text',
|
|
359
|
+
text: `I want to create a suite of MCP tools for the following use case:
|
|
360
|
+
|
|
361
|
+
**Use Case:** ${args.use_case}
|
|
362
|
+
|
|
363
|
+
${args.target_api ? `**Target API/Service:** ${args.target_api}` : ''}
|
|
364
|
+
${args.constraints ? `**Constraints:** ${args.constraints}` : ''}
|
|
365
|
+
|
|
366
|
+
Please help me design this tool suite by:
|
|
367
|
+
|
|
368
|
+
1. **Tool Inventory**: List all the tools needed with names and purposes
|
|
369
|
+
2. **Tool Specifications**: For each tool, define:
|
|
370
|
+
- Name and description
|
|
371
|
+
- Input schema with all parameters
|
|
372
|
+
- Expected output format
|
|
373
|
+
- Error cases to handle
|
|
374
|
+
3. **Shared Patterns**: Identify common patterns across tools
|
|
375
|
+
4. **Implementation Order**: Suggest which tools to implement first
|
|
376
|
+
5. **Testing Strategy**: Outline how to test each tool
|
|
377
|
+
6. **Documentation Template**: Provide a documentation structure
|
|
378
|
+
|
|
379
|
+
Please be thorough - I want a complete blueprint I can follow.`,
|
|
380
|
+
} as TextContent,
|
|
381
|
+
},
|
|
382
|
+
];
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Generate prompt messages for migrate_to_mcp
|
|
387
|
+
*/
|
|
388
|
+
export function generateMigrateToMcpMessages(args: {
|
|
389
|
+
source_code: string;
|
|
390
|
+
source_type: string;
|
|
391
|
+
}): PromptMessage[] {
|
|
392
|
+
return [
|
|
393
|
+
{
|
|
394
|
+
role: 'user',
|
|
395
|
+
content: {
|
|
396
|
+
type: 'text',
|
|
397
|
+
text: `I want to migrate existing ${args.source_type} code to MCP tools.
|
|
398
|
+
|
|
399
|
+
**Source Code:**
|
|
400
|
+
\`\`\`
|
|
401
|
+
${args.source_code}
|
|
402
|
+
\`\`\`
|
|
403
|
+
|
|
404
|
+
Please guide me through the migration:
|
|
405
|
+
|
|
406
|
+
1. **Analysis**: Identify which functions/endpoints should become tools
|
|
407
|
+
2. **Mapping**: For each candidate:
|
|
408
|
+
- Original signature → MCP tool name
|
|
409
|
+
- Parameters → Input schema
|
|
410
|
+
- Return value → Output format
|
|
411
|
+
3. **Transformations Needed**: What changes are required?
|
|
412
|
+
4. **State Management**: How to handle any stateful operations
|
|
413
|
+
5. **Generated Code**: Provide the MCP tool implementations
|
|
414
|
+
6. **Testing Plan**: How to verify the migration is correct
|
|
415
|
+
|
|
416
|
+
Please ensure the migrated tools maintain the same functionality.`,
|
|
417
|
+
} as TextContent,
|
|
418
|
+
},
|
|
419
|
+
];
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Generate prompt messages for security_review
|
|
424
|
+
*/
|
|
425
|
+
export function generateSecurityReviewMessages(args: {
|
|
426
|
+
server_code: string;
|
|
427
|
+
deployment_context?: string;
|
|
428
|
+
}): PromptMessage[] {
|
|
429
|
+
return [
|
|
430
|
+
{
|
|
431
|
+
role: 'user',
|
|
432
|
+
content: {
|
|
433
|
+
type: 'text',
|
|
434
|
+
text: `Please perform a security review of this MCP server.
|
|
435
|
+
|
|
436
|
+
${args.deployment_context ? `**Deployment Context:** ${args.deployment_context}` : '**Deployment Context:** Unknown (assume public exposure)'}
|
|
437
|
+
|
|
438
|
+
**Code:**
|
|
439
|
+
\`\`\`
|
|
440
|
+
${args.server_code}
|
|
441
|
+
\`\`\`
|
|
442
|
+
|
|
443
|
+
Please check for:
|
|
444
|
+
|
|
445
|
+
1. **Input Validation**
|
|
446
|
+
- Injection vulnerabilities (SQL, command, path traversal)
|
|
447
|
+
- Type coercion issues
|
|
448
|
+
- Size/length limits
|
|
449
|
+
|
|
450
|
+
2. **Authentication & Authorization**
|
|
451
|
+
- Missing auth checks
|
|
452
|
+
- Privilege escalation risks
|
|
453
|
+
- Token handling
|
|
454
|
+
|
|
455
|
+
3. **Data Security**
|
|
456
|
+
- Sensitive data in logs
|
|
457
|
+
- Insecure data storage
|
|
458
|
+
- Data leakage in errors
|
|
459
|
+
|
|
460
|
+
4. **Resource Limits**
|
|
461
|
+
- DoS vulnerabilities
|
|
462
|
+
- Rate limiting
|
|
463
|
+
- Memory exhaustion
|
|
464
|
+
|
|
465
|
+
5. **Dependencies**
|
|
466
|
+
- Known vulnerable packages
|
|
467
|
+
- Outdated dependencies
|
|
468
|
+
|
|
469
|
+
For each issue found, provide:
|
|
470
|
+
- **Severity**: Critical/High/Medium/Low
|
|
471
|
+
- **Location**: Where in the code
|
|
472
|
+
- **Risk**: What could happen
|
|
473
|
+
- **Fix**: How to remediate`,
|
|
474
|
+
} as TextContent,
|
|
475
|
+
},
|
|
476
|
+
];
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Generate prompt messages for write_documentation
|
|
481
|
+
*/
|
|
482
|
+
export function generateWriteDocumentationMessages(args: {
|
|
483
|
+
server_code: string;
|
|
484
|
+
audience?: string;
|
|
485
|
+
}): PromptMessage[] {
|
|
486
|
+
return [
|
|
487
|
+
{
|
|
488
|
+
role: 'user',
|
|
489
|
+
content: {
|
|
490
|
+
type: 'text',
|
|
491
|
+
text: `Please generate comprehensive documentation for this MCP server.
|
|
492
|
+
|
|
493
|
+
**Target Audience:** ${args.audience || 'developers'}
|
|
494
|
+
|
|
495
|
+
**Code:**
|
|
496
|
+
\`\`\`
|
|
497
|
+
${args.server_code}
|
|
498
|
+
\`\`\`
|
|
499
|
+
|
|
500
|
+
Please create:
|
|
501
|
+
|
|
502
|
+
1. **README.md** with:
|
|
503
|
+
- Project description
|
|
504
|
+
- Quick start guide
|
|
505
|
+
- Installation instructions
|
|
506
|
+
- Configuration options
|
|
507
|
+
- Basic usage examples
|
|
508
|
+
|
|
509
|
+
2. **Tool Reference** for each tool:
|
|
510
|
+
- Description
|
|
511
|
+
- Parameters table
|
|
512
|
+
- Return value description
|
|
513
|
+
- Example calls
|
|
514
|
+
- Error cases
|
|
515
|
+
|
|
516
|
+
3. **Examples Section**:
|
|
517
|
+
- Common use cases
|
|
518
|
+
- Integration patterns
|
|
519
|
+
- Best practices
|
|
520
|
+
|
|
521
|
+
4. **Troubleshooting Guide**:
|
|
522
|
+
- Common errors and solutions
|
|
523
|
+
- FAQ
|
|
524
|
+
|
|
525
|
+
Please format everything in Markdown ready for use.`,
|
|
526
|
+
} as TextContent,
|
|
527
|
+
},
|
|
528
|
+
];
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Generate prompt messages for compare_implementations
|
|
533
|
+
*/
|
|
534
|
+
export function generateCompareImplementationsMessages(args: {
|
|
535
|
+
implementation_a: string;
|
|
536
|
+
implementation_b: string;
|
|
537
|
+
}): PromptMessage[] {
|
|
538
|
+
return [
|
|
539
|
+
{
|
|
540
|
+
role: 'user',
|
|
541
|
+
content: {
|
|
542
|
+
type: 'text',
|
|
543
|
+
text: `Please compare these two MCP implementations:
|
|
544
|
+
|
|
545
|
+
**Implementation A:**
|
|
546
|
+
\`\`\`
|
|
547
|
+
${args.implementation_a}
|
|
548
|
+
\`\`\`
|
|
549
|
+
|
|
550
|
+
**Implementation B:**
|
|
551
|
+
\`\`\`
|
|
552
|
+
${args.implementation_b}
|
|
553
|
+
\`\`\`
|
|
554
|
+
|
|
555
|
+
Please analyze:
|
|
556
|
+
|
|
557
|
+
1. **Feature Comparison**: Tools present in each
|
|
558
|
+
2. **Schema Differences**: Parameter and type differences
|
|
559
|
+
3. **Behavior Differences**: Any semantic differences
|
|
560
|
+
4. **Code Quality**: Which is better implemented and why
|
|
561
|
+
5. **Missing Features**: What each is missing compared to the other
|
|
562
|
+
6. **Recommendations**: Which to prefer and what to merge
|
|
563
|
+
|
|
564
|
+
Present the comparison in a clear table format where applicable.`,
|
|
565
|
+
} as TextContent,
|
|
566
|
+
},
|
|
567
|
+
];
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
// ============================================================================
|
|
571
|
+
// Prompt Handler
|
|
572
|
+
// ============================================================================
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* Get messages for a prompt by name
|
|
576
|
+
*/
|
|
577
|
+
export function getPromptMessages(
|
|
578
|
+
name: string,
|
|
579
|
+
args: Record<string, string>
|
|
580
|
+
): PromptMessage[] {
|
|
581
|
+
switch (name) {
|
|
582
|
+
case 'analyze_api':
|
|
583
|
+
return generateAnalyzeApiMessages(args as { api_url: string; focus_areas?: string });
|
|
584
|
+
case 'debug_tool':
|
|
585
|
+
return generateDebugToolMessages(args as { tool_name: string; error_message: string; tool_code?: string });
|
|
586
|
+
case 'optimize_server':
|
|
587
|
+
return generateOptimizeServerMessages(args as { server_code: string; language?: string });
|
|
588
|
+
case 'create_tool_suite':
|
|
589
|
+
return generateCreateToolSuiteMessages(args as { use_case: string; target_api?: string; constraints?: string });
|
|
590
|
+
case 'migrate_to_mcp':
|
|
591
|
+
return generateMigrateToMcpMessages(args as { source_code: string; source_type: string });
|
|
592
|
+
case 'security_review':
|
|
593
|
+
return generateSecurityReviewMessages(args as { server_code: string; deployment_context?: string });
|
|
594
|
+
case 'write_documentation':
|
|
595
|
+
return generateWriteDocumentationMessages(args as { server_code: string; audience?: string });
|
|
596
|
+
case 'compare_implementations':
|
|
597
|
+
return generateCompareImplementationsMessages(args as { implementation_a: string; implementation_b: string });
|
|
598
|
+
default:
|
|
599
|
+
throw new Error(`Unknown prompt: ${name}`);
|
|
600
|
+
}
|
|
601
|
+
}
|