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,235 @@
|
|
|
1
|
+
# Configuration
|
|
2
|
+
|
|
3
|
+
Customize how GitHub to MCP generates your MCP servers.
|
|
4
|
+
|
|
5
|
+
## CLI Options
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
github-to-mcp <url> [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
| Option | Description | Default |
|
|
12
|
+
|--------|-------------|---------|
|
|
13
|
+
| `-o, --output <dir>` | Output directory | `./output` |
|
|
14
|
+
| `-l, --language <lang>` | Output language (`typescript` or `python`) | `typescript` |
|
|
15
|
+
| `-t, --token <token>` | GitHub personal access token | `$GITHUB_TOKEN` |
|
|
16
|
+
| `--include-tools <tools>` | Comma-separated list of tools to include | All |
|
|
17
|
+
| `--exclude-tools <tools>` | Comma-separated list of tools to exclude | None |
|
|
18
|
+
| `--no-universal` | Skip universal tools (read_file, etc.) | `false` |
|
|
19
|
+
| `-v, --verbose` | Enable verbose output | `false` |
|
|
20
|
+
| `-h, --help` | Show help | |
|
|
21
|
+
|
|
22
|
+
### Examples
|
|
23
|
+
|
|
24
|
+
Generate with specific output directory:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
github-to-mcp https://github.com/owner/repo -o ./my-mcp-server
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Generate Python server instead of TypeScript:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
github-to-mcp https://github.com/owner/repo -l python
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Only include specific tools:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
github-to-mcp https://github.com/owner/repo --include-tools read_file,search_code
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Programmatic Options
|
|
45
|
+
|
|
46
|
+
When using the JavaScript API:
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
import { generateFromGithub, type GeneratorOptions } from '@nirholas/github-to-mcp';
|
|
50
|
+
|
|
51
|
+
const options: GeneratorOptions = {
|
|
52
|
+
// GitHub authentication
|
|
53
|
+
token: process.env.GITHUB_TOKEN,
|
|
54
|
+
|
|
55
|
+
// Output configuration
|
|
56
|
+
language: 'typescript', // or 'python'
|
|
57
|
+
|
|
58
|
+
// Tool filtering
|
|
59
|
+
includeTools: ['read_file', 'search_code'],
|
|
60
|
+
excludeTools: [],
|
|
61
|
+
includeUniversalTools: true,
|
|
62
|
+
|
|
63
|
+
// Extraction options
|
|
64
|
+
extractFromOpenAPI: true,
|
|
65
|
+
extractFromGraphQL: true,
|
|
66
|
+
extractFromCode: true,
|
|
67
|
+
extractFromReadme: true,
|
|
68
|
+
|
|
69
|
+
// Advanced
|
|
70
|
+
maxDepth: 3, // Max directory depth to scan
|
|
71
|
+
maxFileSize: 100000, // Max file size in bytes
|
|
72
|
+
timeout: 30000, // Request timeout in ms
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const result = await generateFromGithub(
|
|
76
|
+
'https://github.com/owner/repo',
|
|
77
|
+
options
|
|
78
|
+
);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### GeneratorOptions Reference
|
|
82
|
+
|
|
83
|
+
| Property | Type | Default | Description |
|
|
84
|
+
|----------|------|---------|-------------|
|
|
85
|
+
| `token` | `string` | `undefined` | GitHub personal access token |
|
|
86
|
+
| `language` | `'typescript' \| 'python'` | `'typescript'` | Output language |
|
|
87
|
+
| `includeTools` | `string[]` | `[]` | Only include these tools |
|
|
88
|
+
| `excludeTools` | `string[]` | `[]` | Exclude these tools |
|
|
89
|
+
| `includeUniversalTools` | `boolean` | `true` | Include base tools |
|
|
90
|
+
| `extractFromOpenAPI` | `boolean` | `true` | Extract from OpenAPI specs |
|
|
91
|
+
| `extractFromGraphQL` | `boolean` | `true` | Extract from GraphQL schemas |
|
|
92
|
+
| `extractFromCode` | `boolean` | `true` | Extract from code analysis |
|
|
93
|
+
| `extractFromReadme` | `boolean` | `true` | Extract from README |
|
|
94
|
+
| `maxDepth` | `number` | `3` | Max directory depth |
|
|
95
|
+
| `maxFileSize` | `number` | `100000` | Max file size (bytes) |
|
|
96
|
+
| `timeout` | `number` | `30000` | Request timeout (ms) |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Environment Variables
|
|
101
|
+
|
|
102
|
+
| Variable | Description | Required |
|
|
103
|
+
|----------|-------------|----------|
|
|
104
|
+
| `GITHUB_TOKEN` | GitHub personal access token | No (but recommended) |
|
|
105
|
+
| `OPENAI_API_KEY` | OpenAI API key for enhanced extraction | No |
|
|
106
|
+
| `LOG_LEVEL` | Logging verbosity (`debug`, `info`, `warn`, `error`) | No |
|
|
107
|
+
|
|
108
|
+
### Setting Environment Variables
|
|
109
|
+
|
|
110
|
+
=== "macOS/Linux"
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Add to ~/.bashrc or ~/.zshrc
|
|
114
|
+
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
|
|
115
|
+
export LOG_LEVEL=debug
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
=== "Windows"
|
|
119
|
+
|
|
120
|
+
```powershell
|
|
121
|
+
# PowerShell
|
|
122
|
+
$env:GITHUB_TOKEN="ghp_xxxxxxxxxxxxx"
|
|
123
|
+
$env:LOG_LEVEL="debug"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
=== ".env file"
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Create .env file in your project
|
|
130
|
+
GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
|
|
131
|
+
LOG_LEVEL=debug
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Output Configuration
|
|
137
|
+
|
|
138
|
+
### TypeScript Output
|
|
139
|
+
|
|
140
|
+
When `language: 'typescript'`:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
output/
|
|
144
|
+
├── package.json
|
|
145
|
+
├── tsconfig.json
|
|
146
|
+
├── server.ts
|
|
147
|
+
├── server.mjs # Compiled output
|
|
148
|
+
└── tools/
|
|
149
|
+
├── index.ts
|
|
150
|
+
└── *.ts
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Python Output
|
|
154
|
+
|
|
155
|
+
When `language: 'python'`:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
output/
|
|
159
|
+
├── pyproject.toml
|
|
160
|
+
├── requirements.txt
|
|
161
|
+
├── server.py
|
|
162
|
+
└── tools/
|
|
163
|
+
├── __init__.py
|
|
164
|
+
└── *.py
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Tool Filtering
|
|
170
|
+
|
|
171
|
+
### Include Specific Tools
|
|
172
|
+
|
|
173
|
+
Only generate certain tools:
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
const result = await generateFromGithub(url, {
|
|
177
|
+
includeTools: ['read_file', 'search_code', 'create_customer']
|
|
178
|
+
});
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Exclude Tools
|
|
182
|
+
|
|
183
|
+
Generate all tools except specific ones:
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
const result = await generateFromGithub(url, {
|
|
187
|
+
excludeTools: ['get_readme'] // Skip README tool
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Skip Universal Tools
|
|
192
|
+
|
|
193
|
+
Only generate extracted tools:
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
const result = await generateFromGithub(url, {
|
|
197
|
+
includeUniversalTools: false
|
|
198
|
+
});
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Advanced Configuration
|
|
204
|
+
|
|
205
|
+
### Custom Extraction
|
|
206
|
+
|
|
207
|
+
Control what sources are scanned:
|
|
208
|
+
|
|
209
|
+
```typescript
|
|
210
|
+
const result = await generateFromGithub(url, {
|
|
211
|
+
extractFromOpenAPI: true, // Check for openapi.json, swagger.yaml
|
|
212
|
+
extractFromGraphQL: true, // Check for schema.graphql
|
|
213
|
+
extractFromCode: true, // Analyze source code
|
|
214
|
+
extractFromReadme: false, // Skip README parsing
|
|
215
|
+
});
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Performance Tuning
|
|
219
|
+
|
|
220
|
+
For large repositories:
|
|
221
|
+
|
|
222
|
+
```typescript
|
|
223
|
+
const result = await generateFromGithub(url, {
|
|
224
|
+
maxDepth: 2, // Limit directory depth
|
|
225
|
+
maxFileSize: 50000, // Skip files > 50KB
|
|
226
|
+
timeout: 60000, // Increase timeout to 60s
|
|
227
|
+
});
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Next Steps
|
|
233
|
+
|
|
234
|
+
- [CLI Reference](../cli/index.md) — Full command-line documentation
|
|
235
|
+
- [API Reference](../api/index.md) — Detailed programmatic API
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
Welcome to GitHub to MCP! This section will help you get up and running in minutes.
|
|
4
|
+
|
|
5
|
+
## What is GitHub to MCP?
|
|
6
|
+
|
|
7
|
+
GitHub to MCP is a tool that converts any GitHub repository into a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server. This allows AI assistants like Claude, ChatGPT, Cursor, and others to interact with your code.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
Before you begin, make sure you have:
|
|
12
|
+
|
|
13
|
+
- **Node.js 18+** installed
|
|
14
|
+
- **npm** or **pnpm** package manager
|
|
15
|
+
- (Optional) A **GitHub token** for private repos or higher rate limits
|
|
16
|
+
|
|
17
|
+
## Quick Navigation
|
|
18
|
+
|
|
19
|
+
<div class="feature-grid" markdown>
|
|
20
|
+
|
|
21
|
+
<div class="feature-card" markdown>
|
|
22
|
+
|
|
23
|
+
### [Installation](installation.md)
|
|
24
|
+
|
|
25
|
+
Install the CLI tool and set up your environment
|
|
26
|
+
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<div class="feature-card" markdown>
|
|
30
|
+
|
|
31
|
+
### [Quick Start](quickstart.md)
|
|
32
|
+
|
|
33
|
+
Generate your first MCP server in 60 seconds
|
|
34
|
+
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div class="feature-card" markdown>
|
|
38
|
+
|
|
39
|
+
### [Configuration](configuration.md)
|
|
40
|
+
|
|
41
|
+
Customize output and behavior
|
|
42
|
+
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
## Next Steps
|
|
48
|
+
|
|
49
|
+
1. [Install the tool](installation.md)
|
|
50
|
+
2. [Generate your first server](quickstart.md)
|
|
51
|
+
3. [Connect to Claude Desktop](../guides/claude-desktop.md)
|
|
52
|
+
|
|
53
|
+
!!! tip "Try the Web UI"
|
|
54
|
+
Don't want to install anything? Use the [web interface](https://github-to-mcp.vercel.app) to convert repos directly in your browser.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
There are multiple ways to install and use GitHub to MCP depending on your needs.
|
|
4
|
+
|
|
5
|
+
## Web UI (No Installation)
|
|
6
|
+
|
|
7
|
+
The easiest way to get started — no installation required:
|
|
8
|
+
|
|
9
|
+
👉 **[github-to-mcp.vercel.app](https://github-to-mcp.vercel.app)**
|
|
10
|
+
|
|
11
|
+
Simply paste a GitHub URL, configure options, and download your generated MCP server.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## CLI Installation
|
|
16
|
+
|
|
17
|
+
### Using npx (Recommended)
|
|
18
|
+
|
|
19
|
+
Run directly without installing:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx @nirholas/github-to-mcp https://github.com/owner/repo
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Global Installation
|
|
26
|
+
|
|
27
|
+
Install globally for repeated use:
|
|
28
|
+
|
|
29
|
+
=== "npm"
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install -g @nirholas/github-to-mcp
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
=== "pnpm"
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pnpm add -g @nirholas/github-to-mcp
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
=== "yarn"
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
yarn global add @nirholas/github-to-mcp
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Then use the `github-to-mcp` command:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
github-to-mcp https://github.com/stripe/stripe-node
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Programmatic Installation
|
|
56
|
+
|
|
57
|
+
Add as a dependency to your project:
|
|
58
|
+
|
|
59
|
+
=== "npm"
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npm install @nirholas/github-to-mcp
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
=== "pnpm"
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pnpm add @nirholas/github-to-mcp
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
=== "yarn"
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
yarn add @nirholas/github-to-mcp
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Then import in your code:
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
import { generateFromGithub } from '@nirholas/github-to-mcp';
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Verify Installation
|
|
86
|
+
|
|
87
|
+
Check that the CLI is installed correctly:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
github-to-mcp --version
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
You should see the version number printed:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
@nirholas/github-to-mcp v1.0.0
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## System Requirements
|
|
102
|
+
|
|
103
|
+
| Requirement | Version |
|
|
104
|
+
|-------------|---------|
|
|
105
|
+
| Node.js | 18.0.0 or higher |
|
|
106
|
+
| npm | 9.0.0 or higher |
|
|
107
|
+
| Operating System | macOS, Linux, Windows |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Environment Setup
|
|
112
|
+
|
|
113
|
+
### GitHub Token (Optional)
|
|
114
|
+
|
|
115
|
+
For private repositories or to increase API rate limits (60/hr → 5000/hr), set a GitHub token:
|
|
116
|
+
|
|
117
|
+
=== "macOS/Linux"
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
=== "Windows (PowerShell)"
|
|
124
|
+
|
|
125
|
+
```powershell
|
|
126
|
+
$env:GITHUB_TOKEN="ghp_xxxxxxxxxxxxx"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
=== "Windows (CMD)"
|
|
130
|
+
|
|
131
|
+
```cmd
|
|
132
|
+
set GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
!!! tip "Creating a GitHub Token"
|
|
136
|
+
1. Go to [GitHub Settings → Developer Settings → Personal Access Tokens](https://github.com/settings/tokens)
|
|
137
|
+
2. Click "Generate new token (classic)"
|
|
138
|
+
3. Select scopes: `repo` (for private repos) or `public_repo` (for public only)
|
|
139
|
+
4. Copy and save the token
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Next Steps
|
|
144
|
+
|
|
145
|
+
Now that you have GitHub to MCP installed, continue to the [Quick Start](quickstart.md) guide to generate your first MCP server!
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Quick Start
|
|
2
|
+
|
|
3
|
+
Generate your first MCP server in under 60 seconds!
|
|
4
|
+
|
|
5
|
+
## Step 1: Choose a Repository
|
|
6
|
+
|
|
7
|
+
Pick any GitHub repository you want to convert. For this example, we'll use the Stripe Node.js SDK:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
https://github.com/stripe/stripe-node
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Step 2: Generate the MCP Server
|
|
14
|
+
|
|
15
|
+
### Using the Web UI
|
|
16
|
+
|
|
17
|
+
1. Go to [github-to-mcp.vercel.app](https://github-to-mcp.vercel.app)
|
|
18
|
+
2. Paste the repository URL
|
|
19
|
+
3. Click **Generate**
|
|
20
|
+
4. Download the generated server
|
|
21
|
+
|
|
22
|
+
### Using the CLI
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx @nirholas/github-to-mcp https://github.com/stripe/stripe-node -o ./stripe-mcp
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
This will create a complete MCP server in the `./stripe-mcp` directory.
|
|
29
|
+
|
|
30
|
+
### Using the API
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { generateFromGithub } from '@nirholas/github-to-mcp';
|
|
34
|
+
|
|
35
|
+
const result = await generateFromGithub('https://github.com/stripe/stripe-node');
|
|
36
|
+
|
|
37
|
+
console.log(`Generated ${result.tools.length} tools`);
|
|
38
|
+
console.log('Tools:', result.tools.map(t => t.name));
|
|
39
|
+
|
|
40
|
+
// Save to disk
|
|
41
|
+
await result.save('./stripe-mcp');
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Step 3: Explore the Output
|
|
45
|
+
|
|
46
|
+
The generated MCP server includes:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
stripe-mcp/
|
|
50
|
+
├── package.json # Dependencies and scripts
|
|
51
|
+
├── server.mjs # Main MCP server code
|
|
52
|
+
├── tools/ # Generated tool implementations
|
|
53
|
+
│ ├── read_file.mjs
|
|
54
|
+
│ ├── list_files.mjs
|
|
55
|
+
│ ├── search_code.mjs
|
|
56
|
+
│ └── get_readme.mjs
|
|
57
|
+
└── README.md # Usage instructions
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Step 4: Test the Server
|
|
61
|
+
|
|
62
|
+
Start the MCP server locally:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
cd stripe-mcp
|
|
66
|
+
npm install
|
|
67
|
+
npm start
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The server is now running and ready to accept MCP connections!
|
|
71
|
+
|
|
72
|
+
## Step 5: Connect to an AI Assistant
|
|
73
|
+
|
|
74
|
+
### Claude Desktop
|
|
75
|
+
|
|
76
|
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"mcpServers": {
|
|
81
|
+
"stripe": {
|
|
82
|
+
"command": "node",
|
|
83
|
+
"args": ["/path/to/stripe-mcp/server.mjs"]
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Restart Claude Desktop, and you'll see the tools available:
|
|
90
|
+
|
|
91
|
+

|
|
92
|
+
|
|
93
|
+
### Cursor
|
|
94
|
+
|
|
95
|
+
Add to your Cursor MCP configuration:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"mcp": {
|
|
100
|
+
"servers": {
|
|
101
|
+
"stripe": {
|
|
102
|
+
"command": "node",
|
|
103
|
+
"args": ["/path/to/stripe-mcp/server.mjs"]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## What Tools Were Generated?
|
|
113
|
+
|
|
114
|
+
For the Stripe SDK, you'll get these tools:
|
|
115
|
+
|
|
116
|
+
### Universal Tools (Always Included)
|
|
117
|
+
|
|
118
|
+
| Tool | Description |
|
|
119
|
+
|------|-------------|
|
|
120
|
+
| `get_readme` | Fetch the README content |
|
|
121
|
+
| `list_files` | Browse directory structure |
|
|
122
|
+
| `read_file` | Read any file's contents |
|
|
123
|
+
| `search_code` | Search for code patterns |
|
|
124
|
+
|
|
125
|
+
### Extracted Tools (From OpenAPI Spec)
|
|
126
|
+
|
|
127
|
+
Since Stripe has an OpenAPI specification, additional tools are extracted:
|
|
128
|
+
|
|
129
|
+
| Tool | Description |
|
|
130
|
+
|------|-------------|
|
|
131
|
+
| `create_customer` | Create a new customer |
|
|
132
|
+
| `list_charges` | List all charges |
|
|
133
|
+
| `create_payment_intent` | Create a payment intent |
|
|
134
|
+
| ... | And many more! |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Example Conversations
|
|
139
|
+
|
|
140
|
+
Once connected, you can have conversations like:
|
|
141
|
+
|
|
142
|
+
> **You:** What's in the Stripe SDK readme?
|
|
143
|
+
>
|
|
144
|
+
> **Claude:** *Uses `get_readme` tool* The Stripe Node.js SDK provides access to the Stripe API...
|
|
145
|
+
|
|
146
|
+
> **You:** Show me how to create a customer
|
|
147
|
+
>
|
|
148
|
+
> **Claude:** *Uses `search_code` and `read_file` tools* Here's the code for creating a customer...
|
|
149
|
+
|
|
150
|
+
> **You:** List all the API files
|
|
151
|
+
>
|
|
152
|
+
> **Claude:** *Uses `list_files` tool* Here are the files in the `lib/resources/` directory...
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Next Steps
|
|
157
|
+
|
|
158
|
+
- [Configure your server](configuration.md) — Customize output options
|
|
159
|
+
- [Connect to Claude Desktop](../guides/claude-desktop.md) — Detailed integration guide
|
|
160
|
+
- [Use with private repos](../guides/private-repos.md) — Work with your own code
|