tarsk 0.4.4 → 0.4.6
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/dist/index.js +447375 -37
- package/package.json +2 -2
- package/dist/agent/agent.error-utils.d.ts +0 -14
- package/dist/agent/agent.error-utils.js +0 -52
- package/dist/agent/agent.event-transformer.d.ts +0 -55
- package/dist/agent/agent.event-transformer.js +0 -175
- package/dist/agent/agent.executor.d.ts +0 -26
- package/dist/agent/agent.executor.js +0 -286
- package/dist/agent/agent.model-resolver.d.ts +0 -22
- package/dist/agent/agent.model-resolver.js +0 -67
- package/dist/agent/agent.process-manager.d.ts +0 -57
- package/dist/agent/agent.process-manager.js +0 -262
- package/dist/agent/agent.processing-state-manager.d.ts +0 -74
- package/dist/agent/agent.processing-state-manager.js +0 -87
- package/dist/agent/agent.prompt-loader.d.ts +0 -16
- package/dist/agent/agent.prompt-loader.js +0 -227
- package/dist/agent/agent.subagent-executor.d.ts +0 -35
- package/dist/agent/agent.subagent-executor.js +0 -135
- package/dist/bun/index.d.ts +0 -2
- package/dist/bun/index.js +0 -165
- package/dist/cli.d.ts +0 -3
- package/dist/cli.js +0 -22
- package/dist/core/crypto.d.ts +0 -29
- package/dist/core/crypto.js +0 -166
- package/dist/core/dev-server-cache.d.ts +0 -46
- package/dist/core/dev-server-cache.js +0 -59
- package/dist/core/env-manager.d.ts +0 -3
- package/dist/core/env-manager.js +0 -60
- package/dist/core/error-responses.d.ts +0 -61
- package/dist/core/error-responses.js +0 -64
- package/dist/core/logger.d.ts +0 -10
- package/dist/core/logger.js +0 -47
- package/dist/core/paths.d.ts +0 -22
- package/dist/core/paths.js +0 -26
- package/dist/core/random-words.d.ts +0 -18
- package/dist/core/random-words.js +0 -135
- package/dist/core/response-builder.d.ts +0 -50
- package/dist/core/response-builder.js +0 -56
- package/dist/core/route-helpers.d.ts +0 -47
- package/dist/core/route-helpers.js +0 -54
- package/dist/core/run-command-detector.d.ts +0 -26
- package/dist/core/run-command-detector.js +0 -98
- package/dist/core/stream-helper.d.ts +0 -44
- package/dist/core/stream-helper.js +0 -50
- package/dist/core/utils.d.ts +0 -43
- package/dist/core/utils.js +0 -113
- package/dist/core/validation.d.ts +0 -10
- package/dist/core/validation.js +0 -20
- package/dist/database/database.d.ts +0 -40
- package/dist/database/database.encryption.d.ts +0 -33
- package/dist/database/database.encryption.js +0 -62
- package/dist/database/database.js +0 -480
- package/dist/database/database.state.d.ts +0 -52
- package/dist/database/database.state.js +0 -119
- package/dist/database/database.test-utils.d.ts +0 -22
- package/dist/database/database.test-utils.js +0 -39
- package/dist/database/database.types.d.ts +0 -3
- package/dist/database/database.types.js +0 -2
- package/dist/features/agents/agents.manager.d.ts +0 -24
- package/dist/features/agents/agents.manager.js +0 -200
- package/dist/features/ask-user/ask-user.routes.d.ts +0 -9
- package/dist/features/ask-user/ask-user.routes.js +0 -35
- package/dist/features/chat/chat-delete.route.d.ts +0 -15
- package/dist/features/chat/chat-delete.route.js +0 -36
- package/dist/features/chat/chat-post.route.d.ts +0 -11
- package/dist/features/chat/chat-post.route.js +0 -270
- package/dist/features/chat/chat-stop.route.d.ts +0 -21
- package/dist/features/chat/chat-stop.route.js +0 -22
- package/dist/features/chat/chat-subscribe.route.d.ts +0 -9
- package/dist/features/chat/chat-subscribe.route.js +0 -71
- package/dist/features/chat/chat.routes.d.ts +0 -22
- package/dist/features/chat/chat.routes.js +0 -29
- package/dist/features/conversations/conversations-delete.route.d.ts +0 -16
- package/dist/features/conversations/conversations-delete.route.js +0 -34
- package/dist/features/conversations/conversations-get-all.route.d.ts +0 -16
- package/dist/features/conversations/conversations-get-all.route.js +0 -39
- package/dist/features/conversations/conversations-get-by-id.route.d.ts +0 -16
- package/dist/features/conversations/conversations-get-by-id.route.js +0 -38
- package/dist/features/conversations/conversations-get-deleted.route.d.ts +0 -15
- package/dist/features/conversations/conversations-get-deleted.route.js +0 -34
- package/dist/features/conversations/conversations-get-messages.route.d.ts +0 -16
- package/dist/features/conversations/conversations-get-messages.route.js +0 -49
- package/dist/features/conversations/conversations.content.d.ts +0 -28
- package/dist/features/conversations/conversations.content.js +0 -142
- package/dist/features/conversations/conversations.database.d.ts +0 -108
- package/dist/features/conversations/conversations.database.js +0 -373
- package/dist/features/conversations/conversations.manager.d.ts +0 -130
- package/dist/features/conversations/conversations.manager.js +0 -162
- package/dist/features/conversations/conversations.routes.d.ts +0 -21
- package/dist/features/conversations/conversations.routes.js +0 -38
- package/dist/features/conversations/token-usage.route.d.ts +0 -41
- package/dist/features/conversations/token-usage.route.js +0 -419
- package/dist/features/git/git-commit.route.d.ts +0 -12
- package/dist/features/git/git-commit.route.js +0 -39
- package/dist/features/git/git-create-branch.route.d.ts +0 -28
- package/dist/features/git/git-create-branch.route.js +0 -119
- package/dist/features/git/git-create-pr.route.d.ts +0 -13
- package/dist/features/git/git-create-pr.route.js +0 -50
- package/dist/features/git/git-create-repo.route.d.ts +0 -14
- package/dist/features/git/git-create-repo.route.js +0 -108
- package/dist/features/git/git-diff.route.d.ts +0 -30
- package/dist/features/git/git-diff.route.js +0 -189
- package/dist/features/git/git-fetch.route.d.ts +0 -12
- package/dist/features/git/git-fetch.route.js +0 -31
- package/dist/features/git/git-generate-commit-message.route.d.ts +0 -12
- package/dist/features/git/git-generate-commit-message.route.js +0 -76
- package/dist/features/git/git-generate-pr-info.route.d.ts +0 -13
- package/dist/features/git/git-generate-pr-info.route.js +0 -147
- package/dist/features/git/git-github-status.route.d.ts +0 -16
- package/dist/features/git/git-github-status.route.js +0 -68
- package/dist/features/git/git-log.route.d.ts +0 -17
- package/dist/features/git/git-log.route.js +0 -33
- package/dist/features/git/git-pr-status.route.d.ts +0 -15
- package/dist/features/git/git-pr-status.route.js +0 -33
- package/dist/features/git/git-pull.route.d.ts +0 -12
- package/dist/features/git/git-pull.route.js +0 -35
- package/dist/features/git/git-push.route.d.ts +0 -12
- package/dist/features/git/git-push.route.js +0 -46
- package/dist/features/git/git-status-cache.database.d.ts +0 -7
- package/dist/features/git/git-status-cache.database.js +0 -53
- package/dist/features/git/git-status.route.d.ts +0 -15
- package/dist/features/git/git-status.route.js +0 -62
- package/dist/features/git/git-sync-branch.route.d.ts +0 -4
- package/dist/features/git/git-sync-branch.route.js +0 -208
- package/dist/features/git/git-unified-status.route.d.ts +0 -30
- package/dist/features/git/git-unified-status.route.js +0 -165
- package/dist/features/git/git-username.route.d.ts +0 -3
- package/dist/features/git/git-username.route.js +0 -24
- package/dist/features/git/git.manager.d.ts +0 -139
- package/dist/features/git/git.manager.js +0 -352
- package/dist/features/git/git.routes.d.ts +0 -4
- package/dist/features/git/git.routes.js +0 -116
- package/dist/features/git/git.utils.d.ts +0 -82
- package/dist/features/git/git.utils.js +0 -1040
- package/dist/features/mcp/mcp.config.d.ts +0 -27
- package/dist/features/mcp/mcp.config.js +0 -148
- package/dist/features/mcp/mcp.manager.d.ts +0 -61
- package/dist/features/mcp/mcp.manager.js +0 -254
- package/dist/features/mcp/mcp.popular.json +0 -103
- package/dist/features/mcp/mcp.routes.d.ts +0 -13
- package/dist/features/mcp/mcp.routes.js +0 -159
- package/dist/features/mcp/mcp.types.d.ts +0 -80
- package/dist/features/mcp/mcp.types.js +0 -8
- package/dist/features/metadata/metadata.manager.d.ts +0 -126
- package/dist/features/metadata/metadata.manager.js +0 -423
- package/dist/features/models/model-info-aihubmix.d.ts +0 -25
- package/dist/features/models/model-info-aihubmix.js +0 -117
- package/dist/features/models/model-info-openrouter.d.ts +0 -25
- package/dist/features/models/model-info-openrouter.js +0 -104
- package/dist/features/models/model-info.d.ts +0 -37
- package/dist/features/models/model-info.js +0 -39
- package/dist/features/models/models-catalog.d.ts +0 -49
- package/dist/features/models/models-catalog.js +0 -80
- package/dist/features/models/models-catalog.route.d.ts +0 -43
- package/dist/features/models/models-catalog.route.js +0 -15
- package/dist/features/models/models-get-available.route.d.ts +0 -36
- package/dist/features/models/models-get-available.route.js +0 -66
- package/dist/features/models/models-get-enabled.route.d.ts +0 -33
- package/dist/features/models/models-get-enabled.route.js +0 -45
- package/dist/features/models/models-get-model-info.route.d.ts +0 -31
- package/dist/features/models/models-get-model-info.route.js +0 -84
- package/dist/features/models/models-model-disable.route.d.ts +0 -15
- package/dist/features/models/models-model-disable.route.js +0 -20
- package/dist/features/models/models-model-enable.route.d.ts +0 -13
- package/dist/features/models/models-model-enable.route.js +0 -20
- package/dist/features/models/models-provider-refresh.route.d.ts +0 -17
- package/dist/features/models/models-provider-refresh.route.js +0 -20
- package/dist/features/models/models.manager.d.ts +0 -58
- package/dist/features/models/models.manager.js +0 -138
- package/dist/features/models/models.routes.d.ts +0 -18
- package/dist/features/models/models.routes.js +0 -83
- package/dist/features/models/open-router-models.d.ts +0 -38
- package/dist/features/models/open-router-models.js +0 -73
- package/dist/features/models/openai-models.d.ts +0 -63
- package/dist/features/models/openai-models.js +0 -150
- package/dist/features/onboarding/onboarding-get-git-check.route.d.ts +0 -11
- package/dist/features/onboarding/onboarding-get-git-check.route.js +0 -28
- package/dist/features/onboarding/onboarding-get-status.route.d.ts +0 -12
- package/dist/features/onboarding/onboarding-get-status.route.js +0 -15
- package/dist/features/onboarding/onboarding-post-complete.route.d.ts +0 -12
- package/dist/features/onboarding/onboarding-post-complete.route.js +0 -15
- package/dist/features/onboarding/onboarding-post-reset.route.d.ts +0 -12
- package/dist/features/onboarding/onboarding-post-reset.route.js +0 -15
- package/dist/features/onboarding/onboarding.routes.d.ts +0 -18
- package/dist/features/onboarding/onboarding.routes.js +0 -28
- package/dist/features/project-todos/project-todos.database.d.ts +0 -38
- package/dist/features/project-todos/project-todos.database.js +0 -91
- package/dist/features/project-todos/project-todos.routes.d.ts +0 -4
- package/dist/features/project-todos/project-todos.routes.js +0 -94
- package/dist/features/projects/projects-ai-files.route.d.ts +0 -148
- package/dist/features/projects/projects-ai-files.route.js +0 -425
- package/dist/features/projects/projects-commands.route.d.ts +0 -27
- package/dist/features/projects/projects-commands.route.js +0 -39
- package/dist/features/projects/projects-create.route.d.ts +0 -19
- package/dist/features/projects/projects-create.route.js +0 -37
- package/dist/features/projects/projects-delete.route.d.ts +0 -24
- package/dist/features/projects/projects-delete.route.js +0 -34
- package/dist/features/projects/projects-get.route.d.ts +0 -47
- package/dist/features/projects/projects-get.route.js +0 -36
- package/dist/features/projects/projects-list.route.d.ts +0 -58
- package/dist/features/projects/projects-list.route.js +0 -59
- package/dist/features/projects/projects-open-folder.route.d.ts +0 -10
- package/dist/features/projects/projects-open-folder.route.js +0 -11
- package/dist/features/projects/projects-open.route.d.ts +0 -26
- package/dist/features/projects/projects-open.route.js +0 -49
- package/dist/features/projects/projects-package-scripts.route.d.ts +0 -15
- package/dist/features/projects/projects-package-scripts.route.js +0 -96
- package/dist/features/projects/projects-run-command.route.d.ts +0 -8
- package/dist/features/projects/projects-run-command.route.js +0 -21
- package/dist/features/projects/projects-run.route.d.ts +0 -51
- package/dist/features/projects/projects-run.route.js +0 -74
- package/dist/features/projects/projects-update.route.d.ts +0 -24
- package/dist/features/projects/projects-update.route.js +0 -81
- package/dist/features/projects/projects.creator.d.ts +0 -33
- package/dist/features/projects/projects.creator.js +0 -555
- package/dist/features/projects/projects.database.d.ts +0 -61
- package/dist/features/projects/projects.database.js +0 -212
- package/dist/features/projects/projects.manager.d.ts +0 -291
- package/dist/features/projects/projects.manager.js +0 -426
- package/dist/features/projects/projects.open-with.d.ts +0 -27
- package/dist/features/projects/projects.open-with.js +0 -156
- package/dist/features/projects/projects.routes.d.ts +0 -20
- package/dist/features/projects/projects.routes.js +0 -255
- package/dist/features/projects/terminal-session-manager.d.ts +0 -55
- package/dist/features/projects/terminal-session-manager.js +0 -90
- package/dist/features/providers/provider-resolver.d.ts +0 -13
- package/dist/features/providers/provider-resolver.js +0 -22
- package/dist/features/providers/providers-get-credits.route.d.ts +0 -15
- package/dist/features/providers/providers-get-credits.route.js +0 -51
- package/dist/features/providers/providers-get.route.d.ts +0 -16
- package/dist/features/providers/providers-get.route.js +0 -32
- package/dist/features/providers/providers-open-external.route.d.ts +0 -15
- package/dist/features/providers/providers-open-external.route.js +0 -49
- package/dist/features/providers/providers-post-bulk-keys.route.d.ts +0 -14
- package/dist/features/providers/providers-post-bulk-keys.route.js +0 -31
- package/dist/features/providers/providers-post-keys.route.d.ts +0 -14
- package/dist/features/providers/providers-post-keys.route.js +0 -25
- package/dist/features/providers/providers.routes.d.ts +0 -19
- package/dist/features/providers/providers.routes.js +0 -31
- package/dist/features/rules/rules-post.route.d.ts +0 -43
- package/dist/features/rules/rules-post.route.js +0 -89
- package/dist/features/rules/rules.manager.d.ts +0 -36
- package/dist/features/rules/rules.manager.js +0 -203
- package/dist/features/rules/rules.routes.d.ts +0 -12
- package/dist/features/rules/rules.routes.js +0 -13
- package/dist/features/run/run-get-running.route.d.ts +0 -15
- package/dist/features/run/run-get-running.route.js +0 -21
- package/dist/features/run/run-post-start.route.d.ts +0 -8
- package/dist/features/run/run-post-start.route.js +0 -21
- package/dist/features/run/run-post-stop.route.d.ts +0 -15
- package/dist/features/run/run-post-stop.route.js +0 -24
- package/dist/features/run/run-post-suggest.route.d.ts +0 -15
- package/dist/features/run/run-post-suggest.route.js +0 -21
- package/dist/features/run/run-put-command.route.d.ts +0 -15
- package/dist/features/run/run-put-command.route.js +0 -24
- package/dist/features/run/run.routes.d.ts +0 -19
- package/dist/features/run/run.routes.js +0 -31
- package/dist/features/scaffold/index.d.ts +0 -7
- package/dist/features/scaffold/index.js +0 -5
- package/dist/features/scaffold/scaffold-get-templates.route.d.ts +0 -27
- package/dist/features/scaffold/scaffold-get-templates.route.js +0 -17
- package/dist/features/scaffold/scaffold-post.route.d.ts +0 -8
- package/dist/features/scaffold/scaffold-post.route.js +0 -30
- package/dist/features/scaffold/scaffold.routes.d.ts +0 -10
- package/dist/features/scaffold/scaffold.routes.js +0 -16
- package/dist/features/scaffold/scaffold.runner.d.ts +0 -48
- package/dist/features/scaffold/scaffold.runner.js +0 -475
- package/dist/features/scaffold/scaffold.types.d.ts +0 -26
- package/dist/features/scaffold/scaffold.types.js +0 -5
- package/dist/features/skills/skills.activation.d.ts +0 -31
- package/dist/features/skills/skills.activation.js +0 -155
- package/dist/features/skills/skills.manager.d.ts +0 -35
- package/dist/features/skills/skills.manager.js +0 -251
- package/dist/features/slash-commands/slash-commands-delete.route.d.ts +0 -23
- package/dist/features/slash-commands/slash-commands-delete.route.js +0 -36
- package/dist/features/slash-commands/slash-commands-get.route.d.ts +0 -53
- package/dist/features/slash-commands/slash-commands-get.route.js +0 -54
- package/dist/features/slash-commands/slash-commands-post.route.d.ts +0 -39
- package/dist/features/slash-commands/slash-commands-post.route.js +0 -70
- package/dist/features/slash-commands/slash-commands-put.route.d.ts +0 -23
- package/dist/features/slash-commands/slash-commands-put.route.js +0 -36
- package/dist/features/slash-commands/slash-commands.manager.d.ts +0 -46
- package/dist/features/slash-commands/slash-commands.manager.js +0 -265
- package/dist/features/slash-commands/slash-commands.routes.d.ts +0 -13
- package/dist/features/slash-commands/slash-commands.routes.js +0 -20
- package/dist/features/threads/threads-ai-files.route.d.ts +0 -153
- package/dist/features/threads/threads-ai-files.route.js +0 -287
- package/dist/features/threads/threads-conversation-folder-path.route.d.ts +0 -14
- package/dist/features/threads/threads-conversation-folder-path.route.js +0 -23
- package/dist/features/threads/threads-create.route.d.ts +0 -22
- package/dist/features/threads/threads-create.route.js +0 -60
- package/dist/features/threads/threads-delete.route.d.ts +0 -25
- package/dist/features/threads/threads-delete.route.js +0 -35
- package/dist/features/threads/threads-files.route.d.ts +0 -15
- package/dist/features/threads/threads-files.route.js +0 -20
- package/dist/features/threads/threads-fix-comments.route.d.ts +0 -26
- package/dist/features/threads/threads-fix-comments.route.js +0 -45
- package/dist/features/threads/threads-get.route.d.ts +0 -30
- package/dist/features/threads/threads-get.route.js +0 -38
- package/dist/features/threads/threads-list.route.d.ts +0 -56
- package/dist/features/threads/threads-list.route.js +0 -58
- package/dist/features/threads/threads-messages.route.d.ts +0 -28
- package/dist/features/threads/threads-messages.route.js +0 -110
- package/dist/features/threads/threads-open.route.d.ts +0 -26
- package/dist/features/threads/threads-open.route.js +0 -62
- package/dist/features/threads/threads-select.route.d.ts +0 -25
- package/dist/features/threads/threads-select.route.js +0 -35
- package/dist/features/threads/threads-update.route.d.ts +0 -15
- package/dist/features/threads/threads-update.route.js +0 -30
- package/dist/features/threads/threads.database.d.ts +0 -68
- package/dist/features/threads/threads.database.js +0 -215
- package/dist/features/threads/threads.manager.d.ts +0 -204
- package/dist/features/threads/threads.manager.js +0 -505
- package/dist/features/threads/threads.routes.d.ts +0 -20
- package/dist/features/threads/threads.routes.js +0 -230
- package/dist/features/todos/todos.database.d.ts +0 -14
- package/dist/features/todos/todos.database.js +0 -31
- package/dist/features/updates/updates.routes.d.ts +0 -13
- package/dist/features/updates/updates.routes.js +0 -40
- package/dist/index.d.ts +0 -3
- package/dist/project-analyzer.d.ts +0 -26
- package/dist/project-analyzer.js +0 -307
- package/dist/server.d.ts +0 -12
- package/dist/server.js +0 -142
- package/dist/tools/agent-tool.d.ts +0 -49
- package/dist/tools/agent-tool.js +0 -131
- package/dist/tools/ask-user.d.ts +0 -25
- package/dist/tools/ask-user.js +0 -74
- package/dist/tools/ast-grep.d.ts +0 -28
- package/dist/tools/ast-grep.js +0 -273
- package/dist/tools/bash.d.ts +0 -33
- package/dist/tools/bash.js +0 -186
- package/dist/tools/edit-diff.d.ts +0 -24
- package/dist/tools/edit-diff.js +0 -136
- package/dist/tools/edit.d.ts +0 -28
- package/dist/tools/edit.js +0 -78
- package/dist/tools/find.d.ts +0 -31
- package/dist/tools/find.js +0 -117
- package/dist/tools/grep.d.ts +0 -37
- package/dist/tools/grep.js +0 -231
- package/dist/tools/index.d.ts +0 -93
- package/dist/tools/index.js +0 -110
- package/dist/tools/ls.d.ts +0 -31
- package/dist/tools/ls.js +0 -108
- package/dist/tools/mcp-tools.d.ts +0 -31
- package/dist/tools/mcp-tools.js +0 -59
- package/dist/tools/path-utils.d.ts +0 -14
- package/dist/tools/path-utils.js +0 -87
- package/dist/tools/read.d.ts +0 -27
- package/dist/tools/read.js +0 -86
- package/dist/tools/resolve-bin.d.ts +0 -5
- package/dist/tools/resolve-bin.js +0 -28
- package/dist/tools/shell.d.ts +0 -7
- package/dist/tools/shell.js +0 -143
- package/dist/tools/skill-reference-tool.d.ts +0 -30
- package/dist/tools/skill-reference-tool.js +0 -171
- package/dist/tools/skill-tool.d.ts +0 -33
- package/dist/tools/skill-tool.js +0 -213
- package/dist/tools/todo.d.ts +0 -20
- package/dist/tools/todo.js +0 -168
- package/dist/tools/tool-helpers.d.ts +0 -78
- package/dist/tools/tool-helpers.js +0 -109
- package/dist/tools/truncate.d.ts +0 -31
- package/dist/tools/truncate.js +0 -164
- package/dist/tools/write.d.ts +0 -21
- package/dist/tools/write.js +0 -65
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Configuration loading utilities
|
|
3
|
-
*
|
|
4
|
-
* This file handles loading and parsing MCP configuration files from
|
|
5
|
-
* both .agents/mcp.json and mcp.json locations.
|
|
6
|
-
*/
|
|
7
|
-
import type { MCPConfig } from "@tarsk/shared";
|
|
8
|
-
/**
|
|
9
|
-
* Load MCP configuration from a project directory
|
|
10
|
-
* @param projectPath - Path to the project directory
|
|
11
|
-
* @returns Promise resolving to MCP configuration or null if not found
|
|
12
|
-
*/
|
|
13
|
-
export declare function loadMCPConfig(projectPath: string): Promise<MCPConfig | null>;
|
|
14
|
-
/**
|
|
15
|
-
* Get the modification time of the MCP configuration file
|
|
16
|
-
* @param projectPath - Path to the project directory
|
|
17
|
-
* @returns Promise resolving to modification date or null if no config found
|
|
18
|
-
*/
|
|
19
|
-
export declare function getMCPConfigModificationTime(projectPath: string): Promise<Date | null>;
|
|
20
|
-
/**
|
|
21
|
-
* Check if MCP configuration has changed since last load
|
|
22
|
-
* @param projectPath - Path to the project directory
|
|
23
|
-
* @param lastModified - Last known modification time
|
|
24
|
-
* @returns Promise resolving to true if configuration needs reloading
|
|
25
|
-
*/
|
|
26
|
-
export declare function hasMCPConfigChanged(projectPath: string, lastModified: Date | null): Promise<boolean>;
|
|
27
|
-
//# sourceMappingURL=mcp.config.d.ts.map
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Configuration loading utilities
|
|
3
|
-
*
|
|
4
|
-
* This file handles loading and parsing MCP configuration files from
|
|
5
|
-
* both .agents/mcp.json and mcp.json locations.
|
|
6
|
-
*/
|
|
7
|
-
import { readFile, stat, access } from "fs/promises";
|
|
8
|
-
import { join } from "path";
|
|
9
|
-
/**
|
|
10
|
-
* Possible MCP configuration file locations in order of preference
|
|
11
|
-
*/
|
|
12
|
-
const MCP_CONFIG_PATHS = [".agents/mcp.json", "mcp.json"];
|
|
13
|
-
/**
|
|
14
|
-
* Load MCP configuration from a project directory
|
|
15
|
-
* @param projectPath - Path to the project directory
|
|
16
|
-
* @returns Promise resolving to MCP configuration or null if not found
|
|
17
|
-
*/
|
|
18
|
-
export async function loadMCPConfig(projectPath) {
|
|
19
|
-
for (const configPath of MCP_CONFIG_PATHS) {
|
|
20
|
-
const fullPath = join(projectPath, configPath);
|
|
21
|
-
try {
|
|
22
|
-
// Check if file exists and is accessible
|
|
23
|
-
await access(fullPath);
|
|
24
|
-
// Get file stats for modification time
|
|
25
|
-
const fileStats = await stat(fullPath);
|
|
26
|
-
// Read and parse the configuration file
|
|
27
|
-
const fileContent = await readFile(fullPath, "utf-8");
|
|
28
|
-
const rawConfig = JSON.parse(fileContent);
|
|
29
|
-
// Normalize configuration to use 'servers' key (supports both 'servers' and 'mcpServers')
|
|
30
|
-
const serversData = rawConfig.servers ||
|
|
31
|
-
rawConfig.mcpServers ||
|
|
32
|
-
{};
|
|
33
|
-
const config = {
|
|
34
|
-
servers: serversData,
|
|
35
|
-
};
|
|
36
|
-
// Validate configuration structure
|
|
37
|
-
if (!isValidMCPConfig(config)) {
|
|
38
|
-
console.warn(`[MCP] Invalid configuration structure in ${configPath}`);
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
console.log(`[MCP] Loaded configuration from ${configPath} (${fileStats.mtime.toISOString()})`);
|
|
42
|
-
return config;
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
if (error instanceof Error && "code" in error && error.code !== "ENOENT") {
|
|
46
|
-
console.warn(`[MCP] Error loading configuration from ${configPath}:`, error.message);
|
|
47
|
-
}
|
|
48
|
-
// File doesn't exist or other error, try next location
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// No valid configuration found
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Get the modification time of the MCP configuration file
|
|
57
|
-
* @param projectPath - Path to the project directory
|
|
58
|
-
* @returns Promise resolving to modification date or null if no config found
|
|
59
|
-
*/
|
|
60
|
-
export async function getMCPConfigModificationTime(projectPath) {
|
|
61
|
-
for (const configPath of MCP_CONFIG_PATHS) {
|
|
62
|
-
const fullPath = join(projectPath, configPath);
|
|
63
|
-
try {
|
|
64
|
-
await access(fullPath);
|
|
65
|
-
const fileStats = await stat(fullPath);
|
|
66
|
-
return fileStats.mtime;
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
// File doesn't exist or not accessible, try next location
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Validate MCP configuration structure
|
|
77
|
-
* @param config - Configuration to validate
|
|
78
|
-
* @returns True if configuration is valid
|
|
79
|
-
*/
|
|
80
|
-
function isValidMCPConfig(config) {
|
|
81
|
-
if (!config || typeof config !== "object") {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
const cfg = config;
|
|
85
|
-
// Must have servers object (supports both 'servers' and 'mcpServers' keys)
|
|
86
|
-
const serversKey = cfg.servers ? "servers" : cfg.mcpServers ? "mcpServers" : null;
|
|
87
|
-
if (!serversKey || typeof cfg[serversKey] !== "object") {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
const servers = cfg[serversKey];
|
|
91
|
-
// Each server must have required properties
|
|
92
|
-
for (const [serverName, serverConfig] of Object.entries(servers)) {
|
|
93
|
-
if (!serverConfig || typeof serverConfig !== "object") {
|
|
94
|
-
console.warn(`[MCP] Invalid server configuration for ${serverName}`);
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
const server = serverConfig;
|
|
98
|
-
// Required properties
|
|
99
|
-
if (!server.command || typeof server.command !== "string") {
|
|
100
|
-
console.warn(`[MCP] Server ${serverName} missing required 'command' property`);
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
if (!server.args || !Array.isArray(server.args)) {
|
|
104
|
-
console.warn(`[MCP] Server ${serverName} missing required 'args' array`);
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
// Validate args are strings
|
|
108
|
-
if (!server.args.every((arg) => typeof arg === "string")) {
|
|
109
|
-
console.warn(`[MCP] Server ${serverName} has non-string arguments`);
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
// Optional env validation
|
|
113
|
-
if (server.env && typeof server.env === "object") {
|
|
114
|
-
const env = server.env;
|
|
115
|
-
for (const [key, value] of Object.entries(env)) {
|
|
116
|
-
if (typeof value !== "string") {
|
|
117
|
-
console.warn(`[MCP] Server ${serverName} has non-string environment variable ${key}`);
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return true;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Check if MCP configuration has changed since last load
|
|
127
|
-
* @param projectPath - Path to the project directory
|
|
128
|
-
* @param lastModified - Last known modification time
|
|
129
|
-
* @returns Promise resolving to true if configuration needs reloading
|
|
130
|
-
*/
|
|
131
|
-
export async function hasMCPConfigChanged(projectPath, lastModified) {
|
|
132
|
-
const currentModified = await getMCPConfigModificationTime(projectPath);
|
|
133
|
-
if (!currentModified && !lastModified) {
|
|
134
|
-
// No config then and no config now
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
if (!currentModified && lastModified) {
|
|
138
|
-
// Config was deleted
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
if (currentModified && !lastModified) {
|
|
142
|
-
// Config was created
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
// Compare modification times
|
|
146
|
-
return currentModified.getTime() !== lastModified.getTime();
|
|
147
|
-
}
|
|
148
|
-
//# sourceMappingURL=mcp.config.js.map
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Manager implementation
|
|
3
|
-
*
|
|
4
|
-
* This file contains the main MCPManager implementation that handles
|
|
5
|
-
* MCP server lifecycle, configuration loading, and tool management.
|
|
6
|
-
*/
|
|
7
|
-
import type { MCPConfig, MCPTool } from "@tarsk/shared";
|
|
8
|
-
import type { MCPManager, MCPToolWrapper } from "./mcp.types.js";
|
|
9
|
-
/**
|
|
10
|
-
* MCP Manager implementation
|
|
11
|
-
*/
|
|
12
|
-
export declare class MCPManagerImpl implements MCPManager {
|
|
13
|
-
private configCache;
|
|
14
|
-
private serverInstances;
|
|
15
|
-
private toolWrappers;
|
|
16
|
-
/**
|
|
17
|
-
* Load MCP configuration from file
|
|
18
|
-
*/
|
|
19
|
-
loadConfig(projectPath: string): Promise<MCPConfig | null>;
|
|
20
|
-
/**
|
|
21
|
-
* Get all available MCP tools for a project
|
|
22
|
-
*/
|
|
23
|
-
getTools(projectPath: string): Promise<MCPTool[]>;
|
|
24
|
-
/**
|
|
25
|
-
* Execute an MCP tool
|
|
26
|
-
*/
|
|
27
|
-
executeTool(toolName: string, args: Record<string, unknown>, projectPath: string): Promise<unknown>;
|
|
28
|
-
/**
|
|
29
|
-
* Check if MCP configuration needs reloading
|
|
30
|
-
*/
|
|
31
|
-
needsReload(projectPath: string): Promise<boolean>;
|
|
32
|
-
/**
|
|
33
|
-
* Clear cached configuration for a project
|
|
34
|
-
*/
|
|
35
|
-
clearCache(projectPath: string): void;
|
|
36
|
-
/**
|
|
37
|
-
* Get tools from a specific MCP server
|
|
38
|
-
*/
|
|
39
|
-
private getServerTools;
|
|
40
|
-
/**
|
|
41
|
-
* Get or create a server instance
|
|
42
|
-
*/
|
|
43
|
-
private getOrCreateServerInstance;
|
|
44
|
-
/**
|
|
45
|
-
* Create a new server instance and connect to it
|
|
46
|
-
*/
|
|
47
|
-
private createServerInstance;
|
|
48
|
-
/**
|
|
49
|
-
* Execute a tool on a specific server
|
|
50
|
-
*/
|
|
51
|
-
private executeServerTool;
|
|
52
|
-
/**
|
|
53
|
-
* Create Pi Agent compatible tool wrappers for MCP tools
|
|
54
|
-
*/
|
|
55
|
-
createToolWrappers(projectPath: string): Promise<MCPToolWrapper[]>;
|
|
56
|
-
/**
|
|
57
|
-
* Create a single tool wrapper
|
|
58
|
-
*/
|
|
59
|
-
private createToolWrapper;
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=mcp.manager.d.ts.map
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Manager implementation
|
|
3
|
-
*
|
|
4
|
-
* This file contains the main MCPManager implementation that handles
|
|
5
|
-
* MCP server lifecycle, configuration loading, and tool management.
|
|
6
|
-
*/
|
|
7
|
-
import { loadMCPConfig, hasMCPConfigChanged, getMCPConfigModificationTime } from "./mcp.config.js";
|
|
8
|
-
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
9
|
-
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
10
|
-
/**
|
|
11
|
-
* MCP Manager implementation
|
|
12
|
-
*/
|
|
13
|
-
export class MCPManagerImpl {
|
|
14
|
-
configCache = new Map();
|
|
15
|
-
serverInstances = new Map();
|
|
16
|
-
toolWrappers = new Map();
|
|
17
|
-
/**
|
|
18
|
-
* Load MCP configuration from file
|
|
19
|
-
*/
|
|
20
|
-
async loadConfig(projectPath) {
|
|
21
|
-
const cached = this.configCache.get(projectPath);
|
|
22
|
-
const currentModified = await getMCPConfigModificationTime(projectPath);
|
|
23
|
-
// Return cached config if it hasn't changed
|
|
24
|
-
if (cached && cached.lastModified.getTime() === currentModified?.getTime()) {
|
|
25
|
-
return cached.config;
|
|
26
|
-
}
|
|
27
|
-
// Load fresh configuration
|
|
28
|
-
const config = await loadMCPConfig(projectPath);
|
|
29
|
-
if (config && currentModified) {
|
|
30
|
-
this.configCache.set(projectPath, { config, lastModified: currentModified });
|
|
31
|
-
}
|
|
32
|
-
return config;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Get all available MCP tools for a project
|
|
36
|
-
*/
|
|
37
|
-
async getTools(projectPath) {
|
|
38
|
-
const config = await this.loadConfig(projectPath);
|
|
39
|
-
if (!config) {
|
|
40
|
-
return [];
|
|
41
|
-
}
|
|
42
|
-
const allTools = [];
|
|
43
|
-
for (const [serverName, serverConfig] of Object.entries(config.servers)) {
|
|
44
|
-
const serverTools = await this.getServerTools(serverName, serverConfig, projectPath);
|
|
45
|
-
allTools.push(...serverTools);
|
|
46
|
-
}
|
|
47
|
-
return allTools;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Execute an MCP tool
|
|
51
|
-
*/
|
|
52
|
-
async executeTool(toolName, args, projectPath) {
|
|
53
|
-
// Find the server that provides this tool
|
|
54
|
-
const config = await this.loadConfig(projectPath);
|
|
55
|
-
if (!config) {
|
|
56
|
-
throw new Error(`No MCP configuration found for project: ${projectPath}`);
|
|
57
|
-
}
|
|
58
|
-
for (const [serverName, serverConfig] of Object.entries(config.servers)) {
|
|
59
|
-
const tools = await this.getServerTools(serverName, serverConfig, projectPath);
|
|
60
|
-
const tool = tools.find((t) => t.name === toolName);
|
|
61
|
-
if (tool) {
|
|
62
|
-
return this.executeServerTool(serverName, serverConfig, toolName, args, projectPath);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
throw new Error(`MCP tool not found: ${toolName}`);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Check if MCP configuration needs reloading
|
|
69
|
-
*/
|
|
70
|
-
async needsReload(projectPath) {
|
|
71
|
-
const cached = this.configCache.get(projectPath);
|
|
72
|
-
return hasMCPConfigChanged(projectPath, cached?.lastModified ?? null);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Clear cached configuration for a project
|
|
76
|
-
*/
|
|
77
|
-
clearCache(projectPath) {
|
|
78
|
-
this.configCache.delete(projectPath);
|
|
79
|
-
// Clean up server instances for this project
|
|
80
|
-
const instancesToCleanup = [];
|
|
81
|
-
for (const [key, instance] of this.serverInstances.entries()) {
|
|
82
|
-
if (key.startsWith(`${projectPath}:`)) {
|
|
83
|
-
instancesToCleanup.push(key);
|
|
84
|
-
// Close MCP client connection if it exists
|
|
85
|
-
if (instance.client) {
|
|
86
|
-
try {
|
|
87
|
-
void instance.client.close();
|
|
88
|
-
console.log(`[MCP] Closed connection for server: ${key}`);
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
console.warn(`[MCP] Failed to close connection for server ${key}:`, error);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
instancesToCleanup.forEach((key) => this.serverInstances.delete(key));
|
|
97
|
-
this.toolWrappers.delete(projectPath);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get tools from a specific MCP server
|
|
101
|
-
*/
|
|
102
|
-
async getServerTools(serverName, serverConfig, projectPath) {
|
|
103
|
-
const instance = await this.getOrCreateServerInstance(serverName, serverConfig, projectPath);
|
|
104
|
-
if (instance.state !== "connected") {
|
|
105
|
-
console.warn(`[MCP] Server ${serverName} not connected (state: ${instance.state})`);
|
|
106
|
-
return [];
|
|
107
|
-
}
|
|
108
|
-
return instance.tools;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Get or create a server instance
|
|
112
|
-
*/
|
|
113
|
-
async getOrCreateServerInstance(serverName, serverConfig, projectPath) {
|
|
114
|
-
const instanceKey = `${projectPath}:${serverName}`;
|
|
115
|
-
let instance = this.serverInstances.get(instanceKey);
|
|
116
|
-
if (!instance || instance.state === "error") {
|
|
117
|
-
instance = await this.createServerInstance(serverName, serverConfig);
|
|
118
|
-
this.serverInstances.set(instanceKey, instance);
|
|
119
|
-
}
|
|
120
|
-
return instance;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Create a new server instance and connect to it
|
|
124
|
-
*/
|
|
125
|
-
async createServerInstance(serverName, serverConfig) {
|
|
126
|
-
const instance = {
|
|
127
|
-
config: serverConfig,
|
|
128
|
-
state: "connecting",
|
|
129
|
-
tools: [],
|
|
130
|
-
};
|
|
131
|
-
try {
|
|
132
|
-
console.log(`[MCP] Connecting to server ${serverName} with command: ${serverConfig.command} ${serverConfig.args.join(" ")}`);
|
|
133
|
-
// Create stdio transport for the MCP server
|
|
134
|
-
const transport = new StdioClientTransport({
|
|
135
|
-
command: serverConfig.command,
|
|
136
|
-
args: serverConfig.args,
|
|
137
|
-
env: serverConfig.env,
|
|
138
|
-
});
|
|
139
|
-
// Create MCP client
|
|
140
|
-
const client = new Client({
|
|
141
|
-
name: "tarsk-cli",
|
|
142
|
-
version: "0.4.0",
|
|
143
|
-
}, {
|
|
144
|
-
capabilities: {},
|
|
145
|
-
});
|
|
146
|
-
// Connect to the server
|
|
147
|
-
await client.connect(transport);
|
|
148
|
-
console.log(`[MCP] Connected to server ${serverName}`);
|
|
149
|
-
// List available tools
|
|
150
|
-
const toolsResponse = await client.listTools();
|
|
151
|
-
// Convert MCP tools to our internal format
|
|
152
|
-
instance.tools = toolsResponse.tools.map((tool) => ({
|
|
153
|
-
name: tool.name,
|
|
154
|
-
description: tool.description ?? "",
|
|
155
|
-
inputSchema: tool.inputSchema,
|
|
156
|
-
serverName,
|
|
157
|
-
}));
|
|
158
|
-
instance.client = client;
|
|
159
|
-
instance.state = "connected";
|
|
160
|
-
console.log(`[MCP] Connected to server ${serverName}, found ${instance.tools.length} tools`);
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
instance.state = "error";
|
|
164
|
-
instance.error = error instanceof Error ? error.message : String(error);
|
|
165
|
-
// Gracefully handle connection failures without alarming error logs
|
|
166
|
-
console.log(`[MCP] Unable to connect to server ${serverName}: ${instance.error}`);
|
|
167
|
-
}
|
|
168
|
-
return instance;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Execute a tool on a specific server
|
|
172
|
-
*/
|
|
173
|
-
async executeServerTool(serverName, _serverConfig, toolName, args, _projectPath) {
|
|
174
|
-
console.log(`[MCP] Executing tool ${toolName} on server ${serverName} with args:`, args);
|
|
175
|
-
const instanceKey = `${_projectPath}:${serverName}`;
|
|
176
|
-
const instance = this.serverInstances.get(instanceKey);
|
|
177
|
-
if (!instance?.client || instance.state !== "connected") {
|
|
178
|
-
throw new Error(`MCP server ${serverName} is not connected`);
|
|
179
|
-
}
|
|
180
|
-
try {
|
|
181
|
-
// Execute the tool using the MCP client
|
|
182
|
-
const result = await instance.client.callTool({
|
|
183
|
-
name: toolName,
|
|
184
|
-
arguments: args,
|
|
185
|
-
});
|
|
186
|
-
console.log(`[MCP] Tool ${toolName} executed successfully on server ${serverName}`);
|
|
187
|
-
return result;
|
|
188
|
-
}
|
|
189
|
-
catch (error) {
|
|
190
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
191
|
-
console.error(`[MCP] Failed to execute tool ${toolName} on server ${serverName}:`, errorMessage);
|
|
192
|
-
throw new Error(`MCP tool execution failed: ${errorMessage}`);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Create Pi Agent compatible tool wrappers for MCP tools
|
|
197
|
-
*/
|
|
198
|
-
async createToolWrappers(projectPath) {
|
|
199
|
-
const cacheKey = projectPath;
|
|
200
|
-
const cached = this.toolWrappers.get(cacheKey);
|
|
201
|
-
// Return cached wrappers if config hasn't changed
|
|
202
|
-
if (cached && !(await this.needsReload(projectPath))) {
|
|
203
|
-
return cached;
|
|
204
|
-
}
|
|
205
|
-
const mcpTools = await this.getTools(projectPath);
|
|
206
|
-
const wrappers = [];
|
|
207
|
-
for (const mcpTool of mcpTools) {
|
|
208
|
-
const wrapper = this.createToolWrapper(mcpTool, projectPath);
|
|
209
|
-
wrappers.push(wrapper);
|
|
210
|
-
}
|
|
211
|
-
this.toolWrappers.set(cacheKey, wrappers);
|
|
212
|
-
return wrappers;
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Create a single tool wrapper
|
|
216
|
-
*/
|
|
217
|
-
createToolWrapper(mcpTool, projectPath) {
|
|
218
|
-
return {
|
|
219
|
-
name: mcpTool.name,
|
|
220
|
-
description: mcpTool.description,
|
|
221
|
-
parameters: mcpTool.inputSchema,
|
|
222
|
-
label: `${mcpTool.serverName}: ${mcpTool.name}`,
|
|
223
|
-
execute: async (_toolCallId, params) => {
|
|
224
|
-
try {
|
|
225
|
-
const result = await this.executeTool(mcpTool.name, params, projectPath);
|
|
226
|
-
return {
|
|
227
|
-
content: [
|
|
228
|
-
{
|
|
229
|
-
type: "text",
|
|
230
|
-
text: typeof result === "string" ? result : JSON.stringify(result, null, 2),
|
|
231
|
-
},
|
|
232
|
-
],
|
|
233
|
-
details: result,
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
catch (error) {
|
|
237
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
238
|
-
return {
|
|
239
|
-
content: [
|
|
240
|
-
{
|
|
241
|
-
type: "text",
|
|
242
|
-
text: `Error executing MCP tool ${mcpTool.name}: ${errorMessage}`,
|
|
243
|
-
},
|
|
244
|
-
],
|
|
245
|
-
details: { error: errorMessage },
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
serverName: mcpTool.serverName,
|
|
250
|
-
mcpTool,
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
//# sourceMappingURL=mcp.manager.js.map
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"id": "context7",
|
|
4
|
-
"name": "Context7",
|
|
5
|
-
"description": "Fetches up-to-date, version-specific library documentation and code examples directly into your prompt",
|
|
6
|
-
"command": "npx",
|
|
7
|
-
"args": ["-y", "@upstash/context7-mcp@latest"],
|
|
8
|
-
"env": {},
|
|
9
|
-
"category": "Documentation"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"id": "playwright",
|
|
13
|
-
"name": "Playwright",
|
|
14
|
-
"description": "Browser automation via Microsoft Playwright — interact with web pages using accessibility snapshots without screenshots",
|
|
15
|
-
"command": "npx",
|
|
16
|
-
"args": ["-y", "@playwright/mcp@latest"],
|
|
17
|
-
"env": {},
|
|
18
|
-
"category": "Browser"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"id": "github",
|
|
22
|
-
"name": "GitHub",
|
|
23
|
-
"description": "Search repositories, manage issues, create pull requests, and interact with GitHub APIs",
|
|
24
|
-
"command": "npx",
|
|
25
|
-
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
26
|
-
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "" },
|
|
27
|
-
"category": "Development"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"id": "sequential-thinking",
|
|
31
|
-
"name": "Sequential Thinking",
|
|
32
|
-
"description": "Enhanced reasoning through structured sequential thought processes",
|
|
33
|
-
"command": "npx",
|
|
34
|
-
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
|
|
35
|
-
"env": {},
|
|
36
|
-
"category": "Utilities"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"id": "mongodb",
|
|
40
|
-
"name": "MongoDB",
|
|
41
|
-
"description": "Query MongoDB databases and Atlas clusters with natural language, schema inspection, and Atlas management",
|
|
42
|
-
"command": "npx",
|
|
43
|
-
"args": ["-y", "@mongodb-js/mongodb-mcp-server@latest"],
|
|
44
|
-
"env": { "MDB_MCP_CONNECTION_STRING": "" },
|
|
45
|
-
"category": "Database"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"id": "azure",
|
|
49
|
-
"name": "Azure",
|
|
50
|
-
"description": "Access Azure resources including storage, databases, and services via your Azure account",
|
|
51
|
-
"command": "npx",
|
|
52
|
-
"args": ["-y", "@azure/mcp@latest", "server", "start"],
|
|
53
|
-
"env": { "AZURE_TENANT_ID": "", "AZURE_CLIENT_ID": "", "AZURE_CLIENT_SECRET": "" },
|
|
54
|
-
"category": "Cloud"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"id": "cloudflare",
|
|
58
|
-
"name": "Cloudflare",
|
|
59
|
-
"description": "Deploy Workers, query D1 databases, manage KV, and interact with your Cloudflare account",
|
|
60
|
-
"command": "npx",
|
|
61
|
-
"args": ["-y", "@cloudflare/mcp-server-cloudflare@latest"],
|
|
62
|
-
"env": { "CLOUDFLARE_API_TOKEN": "", "CLOUDFLARE_ACCOUNT_ID": "" },
|
|
63
|
-
"category": "Cloud"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"id": "supabase",
|
|
67
|
-
"name": "Supabase",
|
|
68
|
-
"description": "Manage Supabase projects, run queries, handle migrations, and interact with your database",
|
|
69
|
-
"command": "npx",
|
|
70
|
-
"args": ["-y", "@supabase/mcp-server-supabase@latest"],
|
|
71
|
-
"env": { "SUPABASE_ACCESS_TOKEN": "" },
|
|
72
|
-
"category": "Database"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"id": "notion",
|
|
76
|
-
"name": "Notion",
|
|
77
|
-
"description": "Read and write Notion pages, databases, and blocks using your integration token",
|
|
78
|
-
"command": "npx",
|
|
79
|
-
"args": ["-y", "@notionhq/notion-mcp-server@latest"],
|
|
80
|
-
"env": {
|
|
81
|
-
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_YOUR_TOKEN\", \"Notion-Version\": \"2022-06-28\"}"
|
|
82
|
-
},
|
|
83
|
-
"category": "Productivity"
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"id": "postgres",
|
|
87
|
-
"name": "PostgreSQL",
|
|
88
|
-
"description": "Connect to and query PostgreSQL databases with full SQL support",
|
|
89
|
-
"command": "npx",
|
|
90
|
-
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"],
|
|
91
|
-
"env": {},
|
|
92
|
-
"category": "Database"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"id": "chrome-devtools",
|
|
96
|
-
"name": "Chrome DevTools",
|
|
97
|
-
"description": "Control and inspect a live Chrome browser via the Chrome DevTools Protocol — requires Chrome launched with --remote-debugging-port=9222",
|
|
98
|
-
"command": "npx",
|
|
99
|
-
"args": ["-y", "chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"],
|
|
100
|
-
"env": {},
|
|
101
|
-
"category": "Browser"
|
|
102
|
-
}
|
|
103
|
-
]
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP routes for the REST API
|
|
3
|
-
*
|
|
4
|
-
* Handles all MCP-related operations:
|
|
5
|
-
* - GET /api/mcp/config?projectPath=... - Get current MCP config for a project
|
|
6
|
-
* - PUT /api/mcp/config - Save or update a server in the MCP config
|
|
7
|
-
* - DELETE /api/mcp/config/:serverName?projectPath=... - Remove a server from MCP config
|
|
8
|
-
* - GET /api/mcp/popular - List popular MCP servers
|
|
9
|
-
* - GET /api/mcp/search?q=...&limit=... - Search MCP registry
|
|
10
|
-
*/
|
|
11
|
-
import { Hono } from "hono";
|
|
12
|
-
export declare function createMCPRoutes(): Hono;
|
|
13
|
-
//# sourceMappingURL=mcp.routes.d.ts.map
|