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,223 @@
|
|
|
1
|
+
# Configuration Options
|
|
2
|
+
|
|
3
|
+
Complete reference for all configuration options.
|
|
4
|
+
|
|
5
|
+
## CLI Options
|
|
6
|
+
|
|
7
|
+
| Option | Type | Default | Description |
|
|
8
|
+
|--------|------|---------|-------------|
|
|
9
|
+
| `-o, --output` | `string` | `./output` | Output directory |
|
|
10
|
+
| `-l, --language` | `'typescript' \| 'python'` | `'typescript'` | Output language |
|
|
11
|
+
| `-t, --token` | `string` | `$GITHUB_TOKEN` | GitHub token |
|
|
12
|
+
| `--include-tools` | `string` | All | Comma-separated tools to include |
|
|
13
|
+
| `--exclude-tools` | `string` | None | Comma-separated tools to exclude |
|
|
14
|
+
| `--no-universal` | `boolean` | `false` | Skip universal tools |
|
|
15
|
+
| `--force` | `boolean` | `false` | Overwrite existing output |
|
|
16
|
+
| `--dry-run` | `boolean` | `false` | Preview without writing |
|
|
17
|
+
| `--verbose` | `boolean` | `false` | Verbose output |
|
|
18
|
+
| `--quiet` | `boolean` | `false` | Suppress non-error output |
|
|
19
|
+
|
|
20
|
+
## Programmatic Options
|
|
21
|
+
|
|
22
|
+
### GeneratorOptions
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
interface GeneratorOptions {
|
|
26
|
+
// Authentication
|
|
27
|
+
token?: string;
|
|
28
|
+
|
|
29
|
+
// Output
|
|
30
|
+
language?: 'typescript' | 'python';
|
|
31
|
+
|
|
32
|
+
// Tool filtering
|
|
33
|
+
includeTools?: string[];
|
|
34
|
+
excludeTools?: string[];
|
|
35
|
+
includeUniversalTools?: boolean;
|
|
36
|
+
|
|
37
|
+
// Extraction sources
|
|
38
|
+
extractFromOpenAPI?: boolean;
|
|
39
|
+
extractFromGraphQL?: boolean;
|
|
40
|
+
extractFromCode?: boolean;
|
|
41
|
+
extractFromReadme?: boolean;
|
|
42
|
+
|
|
43
|
+
// Performance
|
|
44
|
+
maxDepth?: number;
|
|
45
|
+
maxFileSize?: number;
|
|
46
|
+
maxFiles?: number;
|
|
47
|
+
timeout?: number;
|
|
48
|
+
|
|
49
|
+
// Advanced
|
|
50
|
+
forceType?: RepositoryType;
|
|
51
|
+
baseUrl?: string;
|
|
52
|
+
userAgent?: string;
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Option Details
|
|
57
|
+
|
|
58
|
+
#### token
|
|
59
|
+
|
|
60
|
+
GitHub personal access token for authentication.
|
|
61
|
+
|
|
62
|
+
- Increases rate limit from 60 to 5000 requests/hour
|
|
63
|
+
- Required for private repositories
|
|
64
|
+
- Can be set via `GITHUB_TOKEN` environment variable
|
|
65
|
+
|
|
66
|
+
#### language
|
|
67
|
+
|
|
68
|
+
Output language for the generated server.
|
|
69
|
+
|
|
70
|
+
| Value | Description |
|
|
71
|
+
|-------|-------------|
|
|
72
|
+
| `'typescript'` | Generate TypeScript server (default) |
|
|
73
|
+
| `'python'` | Generate Python server |
|
|
74
|
+
|
|
75
|
+
#### includeTools
|
|
76
|
+
|
|
77
|
+
Array of tool names to include. If specified, only these tools are generated.
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
{
|
|
81
|
+
includeTools: ['read_file', 'search_code', 'create_customer']
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### excludeTools
|
|
86
|
+
|
|
87
|
+
Array of tool names to exclude from generation.
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
{
|
|
91
|
+
excludeTools: ['get_readme'] // Skip README tool
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### includeUniversalTools
|
|
96
|
+
|
|
97
|
+
Whether to include universal tools (`read_file`, `list_files`, etc.).
|
|
98
|
+
|
|
99
|
+
| Value | Description |
|
|
100
|
+
|-------|-------------|
|
|
101
|
+
| `true` | Include universal tools (default) |
|
|
102
|
+
| `false` | Only include extracted tools |
|
|
103
|
+
|
|
104
|
+
#### extractFromOpenAPI
|
|
105
|
+
|
|
106
|
+
Enable extraction from OpenAPI/Swagger specifications.
|
|
107
|
+
|
|
108
|
+
| Value | Description |
|
|
109
|
+
|-------|-------------|
|
|
110
|
+
| `true` | Parse OpenAPI specs (default) |
|
|
111
|
+
| `false` | Skip OpenAPI extraction |
|
|
112
|
+
|
|
113
|
+
#### extractFromGraphQL
|
|
114
|
+
|
|
115
|
+
Enable extraction from GraphQL schemas.
|
|
116
|
+
|
|
117
|
+
| Value | Description |
|
|
118
|
+
|-------|-------------|
|
|
119
|
+
| `true` | Parse GraphQL schemas (default) |
|
|
120
|
+
| `false` | Skip GraphQL extraction |
|
|
121
|
+
|
|
122
|
+
#### extractFromCode
|
|
123
|
+
|
|
124
|
+
Enable extraction from source code analysis.
|
|
125
|
+
|
|
126
|
+
| Value | Description |
|
|
127
|
+
|-------|-------------|
|
|
128
|
+
| `true` | Analyze source code (default) |
|
|
129
|
+
| `false` | Skip code analysis |
|
|
130
|
+
|
|
131
|
+
#### extractFromReadme
|
|
132
|
+
|
|
133
|
+
Enable extraction from README documentation.
|
|
134
|
+
|
|
135
|
+
| Value | Description |
|
|
136
|
+
|-------|-------------|
|
|
137
|
+
| `true` | Parse README (default) |
|
|
138
|
+
| `false` | Skip README parsing |
|
|
139
|
+
|
|
140
|
+
#### maxDepth
|
|
141
|
+
|
|
142
|
+
Maximum directory depth to scan.
|
|
143
|
+
|
|
144
|
+
| Value | Description |
|
|
145
|
+
|-------|-------------|
|
|
146
|
+
| `3` | Default depth |
|
|
147
|
+
| `1` | Only root directory |
|
|
148
|
+
| `10` | Deep scanning (slower) |
|
|
149
|
+
|
|
150
|
+
#### maxFileSize
|
|
151
|
+
|
|
152
|
+
Maximum file size to read (in bytes).
|
|
153
|
+
|
|
154
|
+
| Value | Description |
|
|
155
|
+
|-------|-------------|
|
|
156
|
+
| `100000` | 100KB (default) |
|
|
157
|
+
| `50000` | 50KB (for faster processing) |
|
|
158
|
+
| `500000` | 500KB (for larger files) |
|
|
159
|
+
|
|
160
|
+
#### maxFiles
|
|
161
|
+
|
|
162
|
+
Maximum number of files to process.
|
|
163
|
+
|
|
164
|
+
| Value | Description |
|
|
165
|
+
|-------|-------------|
|
|
166
|
+
| `1000` | Default limit |
|
|
167
|
+
| `100` | Faster processing |
|
|
168
|
+
| `5000` | Large repos |
|
|
169
|
+
|
|
170
|
+
#### timeout
|
|
171
|
+
|
|
172
|
+
Request timeout in milliseconds.
|
|
173
|
+
|
|
174
|
+
| Value | Description |
|
|
175
|
+
|-------|-------------|
|
|
176
|
+
| `30000` | 30 seconds (default) |
|
|
177
|
+
| `60000` | 60 seconds (for slow connections) |
|
|
178
|
+
|
|
179
|
+
#### forceType
|
|
180
|
+
|
|
181
|
+
Override automatic repository classification.
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
{
|
|
185
|
+
forceType: 'api-sdk' // Force API SDK classification
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Values: `'mcp-server'`, `'api-sdk'`, `'cli-tool'`, `'library'`, `'documentation'`, `'data'`
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Configuration File
|
|
194
|
+
|
|
195
|
+
You can create a configuration file for repeated use:
|
|
196
|
+
|
|
197
|
+
### github-to-mcp.config.js
|
|
198
|
+
|
|
199
|
+
```javascript
|
|
200
|
+
module.exports = {
|
|
201
|
+
token: process.env.GITHUB_TOKEN,
|
|
202
|
+
language: 'typescript',
|
|
203
|
+
includeUniversalTools: true,
|
|
204
|
+
extractFromOpenAPI: true,
|
|
205
|
+
extractFromGraphQL: true,
|
|
206
|
+
maxDepth: 3,
|
|
207
|
+
maxFileSize: 100000,
|
|
208
|
+
};
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Usage
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
github-to-mcp <url> --config ./github-to-mcp.config.js
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## See Also
|
|
220
|
+
|
|
221
|
+
- [Environment Variables](env.md) - Environment configuration
|
|
222
|
+
- [CLI Reference](../cli/index.md) - Command-line usage
|
|
223
|
+
- [API Reference](../api/core.md) - Programmatic API
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Environment Variables
|
|
2
|
+
|
|
3
|
+
Configure GitHub to MCP using environment variables.
|
|
4
|
+
|
|
5
|
+
## Required Variables
|
|
6
|
+
|
|
7
|
+
None! All environment variables are optional, but some are highly recommended.
|
|
8
|
+
|
|
9
|
+
## Recommended Variables
|
|
10
|
+
|
|
11
|
+
### GITHUB_TOKEN
|
|
12
|
+
|
|
13
|
+
GitHub personal access token for API authentication.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
| Without Token | With Token |
|
|
20
|
+
|---------------|------------|
|
|
21
|
+
| 60 requests/hour | 5,000 requests/hour |
|
|
22
|
+
| Public repos only | Private repos accessible |
|
|
23
|
+
| Basic metadata | Full repository access |
|
|
24
|
+
|
|
25
|
+
**Creating a Token:**
|
|
26
|
+
|
|
27
|
+
1. Go to [GitHub Settings → Developer Settings → Personal Access Tokens](https://github.com/settings/tokens)
|
|
28
|
+
2. Generate new token (classic)
|
|
29
|
+
3. Select scopes: `repo` (private) or `public_repo` (public only)
|
|
30
|
+
4. Copy the token
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Optional Variables
|
|
35
|
+
|
|
36
|
+
### LOG_LEVEL
|
|
37
|
+
|
|
38
|
+
Control logging verbosity.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
export LOG_LEVEL=debug
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
| Value | Description |
|
|
45
|
+
|-------|-------------|
|
|
46
|
+
| `debug` | All messages including debug |
|
|
47
|
+
| `info` | Informational messages (default) |
|
|
48
|
+
| `warn` | Warnings and errors only |
|
|
49
|
+
| `error` | Errors only |
|
|
50
|
+
| `silent` | No output |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### OPENAI_API_KEY
|
|
55
|
+
|
|
56
|
+
OpenAI API key for enhanced extraction (experimental).
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
export OPENAI_API_KEY=sk-xxxxxxxxxxxxx
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Used for:
|
|
63
|
+
- Improved tool descriptions
|
|
64
|
+
- Better README parsing
|
|
65
|
+
- Code understanding
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### GITHUB_API_URL
|
|
70
|
+
|
|
71
|
+
Custom GitHub API URL for GitHub Enterprise.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
export GITHUB_API_URL=https://github.mycompany.com/api/v3
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Default: `https://api.github.com`
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### HTTP_PROXY / HTTPS_PROXY
|
|
82
|
+
|
|
83
|
+
Proxy server for HTTP requests.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
export HTTP_PROXY=http://proxy.example.com:8080
|
|
87
|
+
export HTTPS_PROXY=http://proxy.example.com:8080
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### NO_COLOR
|
|
93
|
+
|
|
94
|
+
Disable colored output.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
export NO_COLOR=1
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Setting Environment Variables
|
|
103
|
+
|
|
104
|
+
### Temporary (Current Session)
|
|
105
|
+
|
|
106
|
+
=== "macOS/Linux"
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
export GITHUB_TOKEN=ghp_xxxxx
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
=== "Windows PowerShell"
|
|
113
|
+
|
|
114
|
+
```powershell
|
|
115
|
+
$env:GITHUB_TOKEN="ghp_xxxxx"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
=== "Windows CMD"
|
|
119
|
+
|
|
120
|
+
```cmd
|
|
121
|
+
set GITHUB_TOKEN=ghp_xxxxx
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Permanent
|
|
125
|
+
|
|
126
|
+
=== "macOS/Linux"
|
|
127
|
+
|
|
128
|
+
Add to `~/.bashrc` or `~/.zshrc`:
|
|
129
|
+
```bash
|
|
130
|
+
export GITHUB_TOKEN=ghp_xxxxx
|
|
131
|
+
export LOG_LEVEL=info
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
=== "Windows"
|
|
135
|
+
|
|
136
|
+
Use System Properties → Environment Variables
|
|
137
|
+
|
|
138
|
+
### Per-Project
|
|
139
|
+
|
|
140
|
+
Create a `.env` file:
|
|
141
|
+
|
|
142
|
+
```bash title=".env"
|
|
143
|
+
GITHUB_TOKEN=ghp_xxxxx
|
|
144
|
+
LOG_LEVEL=debug
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
!!! warning "Security"
|
|
148
|
+
Add `.env` to `.gitignore` to avoid committing secrets.
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Using with Claude Desktop
|
|
153
|
+
|
|
154
|
+
Pass environment variables to MCP servers:
|
|
155
|
+
|
|
156
|
+
```json title="claude_desktop_config.json"
|
|
157
|
+
{
|
|
158
|
+
"mcpServers": {
|
|
159
|
+
"my-repo": {
|
|
160
|
+
"command": "node",
|
|
161
|
+
"args": ["/path/to/server.mjs"],
|
|
162
|
+
"env": {
|
|
163
|
+
"GITHUB_TOKEN": "ghp_xxxxx",
|
|
164
|
+
"LOG_LEVEL": "debug"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Variable Precedence
|
|
174
|
+
|
|
175
|
+
1. CLI flags (highest priority)
|
|
176
|
+
2. Environment variables
|
|
177
|
+
3. Config file
|
|
178
|
+
4. Defaults (lowest priority)
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# CLI flag overrides environment variable
|
|
182
|
+
export LOG_LEVEL=error
|
|
183
|
+
github-to-mcp <url> --verbose # Uses verbose, not error
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## See Also
|
|
189
|
+
|
|
190
|
+
- [Configuration Options](config.md) - All options
|
|
191
|
+
- [Private Repos](../guides/private-repos.md) - Token setup
|
|
192
|
+
- [CLI Reference](../cli/index.md) - Command-line usage
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Reference
|
|
2
|
+
|
|
3
|
+
Quick reference documentation for GitHub to MCP.
|
|
4
|
+
|
|
5
|
+
## Quick Links
|
|
6
|
+
|
|
7
|
+
- [Generated Tools](tools.md) - All tool definitions
|
|
8
|
+
- [Configuration Options](config.md) - Full options reference
|
|
9
|
+
- [Environment Variables](env.md) - Environment configuration
|
|
10
|
+
|
|
11
|
+
## FAQ
|
|
12
|
+
|
|
13
|
+
### General
|
|
14
|
+
|
|
15
|
+
<details>
|
|
16
|
+
<summary><strong>What is GitHub to MCP?</strong></summary>
|
|
17
|
+
|
|
18
|
+
GitHub to MCP is a tool that converts any GitHub repository into a Model Context Protocol (MCP) server, enabling AI assistants to interact with the codebase.
|
|
19
|
+
</details>
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary><strong>What AI assistants support MCP?</strong></summary>
|
|
23
|
+
|
|
24
|
+
- Claude Desktop
|
|
25
|
+
- Cursor
|
|
26
|
+
- Cline
|
|
27
|
+
- Continue
|
|
28
|
+
- Windsurf
|
|
29
|
+
- Any tool implementing the MCP specification
|
|
30
|
+
</details>
|
|
31
|
+
|
|
32
|
+
<details>
|
|
33
|
+
<summary><strong>Is this free to use?</strong></summary>
|
|
34
|
+
|
|
35
|
+
Yes! GitHub to MCP is open source under the MIT license. The web app is free, and you can self-host.
|
|
36
|
+
</details>
|
|
37
|
+
|
|
38
|
+
### Technical
|
|
39
|
+
|
|
40
|
+
<details>
|
|
41
|
+
<summary><strong>Does this work with private repositories?</strong></summary>
|
|
42
|
+
|
|
43
|
+
Yes! Set the `GITHUB_TOKEN` environment variable with a token that has access to your private repos. See [Private Repos Guide](../guides/private-repos.md).
|
|
44
|
+
</details>
|
|
45
|
+
|
|
46
|
+
<details>
|
|
47
|
+
<summary><strong>What languages can the generated server be?</strong></summary>
|
|
48
|
+
|
|
49
|
+
TypeScript (default) or Python. Use the `-l python` flag for Python output.
|
|
50
|
+
</details>
|
|
51
|
+
|
|
52
|
+
<details>
|
|
53
|
+
<summary><strong>Can I customize the generated tools?</strong></summary>
|
|
54
|
+
|
|
55
|
+
Yes! The generated code is plain TypeScript/Python — edit it however you want. See [Custom Tools Guide](../guides/custom-tools.md).
|
|
56
|
+
</details>
|
|
57
|
+
|
|
58
|
+
<details>
|
|
59
|
+
<summary><strong>What's the difference between tools and resources?</strong></summary>
|
|
60
|
+
|
|
61
|
+
**Tools** are callable functions with parameters (like `read_file`). **Resources** are static data the AI can access. GitHub to MCP generates tools, not resources.
|
|
62
|
+
</details>
|
|
63
|
+
|
|
64
|
+
### Troubleshooting
|
|
65
|
+
|
|
66
|
+
<details>
|
|
67
|
+
<summary><strong>I'm getting rate limit errors</strong></summary>
|
|
68
|
+
|
|
69
|
+
Set a GitHub token for 5000 requests/hour instead of 60:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
export GITHUB_TOKEN=ghp_xxxxx
|
|
73
|
+
```
|
|
74
|
+
</details>
|
|
75
|
+
|
|
76
|
+
<details>
|
|
77
|
+
<summary><strong>The server won't start</strong></summary>
|
|
78
|
+
|
|
79
|
+
1. Make sure you ran `npm install` in the output directory
|
|
80
|
+
2. Check Node.js version (18+ required)
|
|
81
|
+
3. Verify the path to `server.mjs` is correct
|
|
82
|
+
</details>
|
|
83
|
+
|
|
84
|
+
<details>
|
|
85
|
+
<summary><strong>Claude doesn't see my tools</strong></summary>
|
|
86
|
+
|
|
87
|
+
1. Check config file location and JSON syntax
|
|
88
|
+
2. Use absolute paths, not relative
|
|
89
|
+
3. Restart Claude Desktop completely
|
|
90
|
+
4. Enable MCP logs in Claude settings
|
|
91
|
+
</details>
|
|
92
|
+
|
|
93
|
+
<details>
|
|
94
|
+
<summary><strong>No tools were extracted</strong></summary>
|
|
95
|
+
|
|
96
|
+
The repo may not have detectable patterns. Check:
|
|
97
|
+
- Is there an OpenAPI spec?
|
|
98
|
+
- Is there a GraphQL schema?
|
|
99
|
+
- For MCP servers, are tools registered correctly?
|
|
100
|
+
|
|
101
|
+
Use `--verbose` to see what was analyzed.
|
|
102
|
+
</details>
|